Thursday, February 23, 2012
It has been said that we are in a period of time which is the rise of the personal assistant. By that, I mean software/services intended and designed to augment and improve your life on a personal level (perhaps on a professional level too). Here you will lean the five basic ingredients to good personal assistant software and how they differ from more traditional software applications. May this advice help you choose (or create) your own.
A Good Personal Assistant operates like a Software Agent and not an Application.
Software agents have been around for quite a while but not many people know about them. I won't bore you with talk about FIPA compliance. Instead, I will make the most important distinction between software applications (such as a word processor) and software agents.
With an application, you express a command (e.g. open a file or send an email), there is usually some task negotiation, the app then performs the task in a finite amount of time and it's done.
With an agent, you express a wish (e.g. find a good deal) and the agent keeps looking in the background. Along the way, it will report to you anything it finds that it believes is relevant to you. This kind of task never stops until you tell it to stop. Task negotiation also happens but only after you have seen some results and are asking the agent to make some course corrections.
Human Interface Factors
Traditional applications rely heavily on the keyboard and the mouse for human interaction. You are most likely expected to fill out forms or dialogs as a part of the task negotiation phase. You must also learn the information architecture of the app through how it categorizes things via its menu structure.
A good personal assistant relies heavily on natural language processing in order to understand human commands either spoken or written in a more informal, conversational tone. With an app, you navigate through a menu structure (or similar GUI construct such as a tab bar) to find the right place to express the type of command that you want it to do next such as draw a line or search blogs for stories about ponies. With a personal assistant, there is no menu structure and only one place to interact. This is usually in the form of a big text box (or microphone) where you tell the assistant what you want and answer any questions that it asks for clarification purposes.
Effective personal assistant software needs to be able to go where you go and inhabit where ever you are focusing your attention. If you are waiting in line somewhere, then you will want to interact with the personal assistant on your smart phone. If you are a commuter on public transportation, then you will want to review what your personal assistant has found on your tablet. Depending on your personal style of office workstation, your personal assistant will need to be present and available on your laptop or desktop of choice.
What good would any personal assistant software be if it cannot serve as an ombudsman to a world of complicated choices? That means, in order to help you make the right decisions, the personal assistant software needs to be able to access, manage, analyze, and summarize a lot of fast moving data. The ability to apply sophisticated search algorithms across large, heterogeneous content repositories whose data has a short shelf life is what gives personal assistant software the only value proposition that uniquely distinguishes it from other applications. I call this opportunity discovery.
In the end, that is what personal assistant software is really all about. Instead of you spending a lot of time trolling around for the next good airline ticket deal, that vintage Windows CE device on ebay, or good seats to a Giants' game, the personal assistant software does all of that mindless repetitive stuff for you. You get notified and kick into action only when the personal assistant software has discovered the desired opportunity.
That leads me to the last ingredient to good personal assistant software, its real-time nature. Opportunities, once discovered, don't last long. You have to act and act fast. Email takes too long. Push driven notifications, presence updates, and chat are the most effective ways to deliver the discovered opportunity in time for you to take advantage of it.
Leveraging the popularity of search engines, social networks, and mobile computing, I believe that personal assistant software is a trend that is on the rise. Before considering any particular product to build or buy, be sure to evaluate it for its ability to continue working while you are offline, how easy it is to interact with, what types of machines that it can run on, how connected it is with online databases, and how quickly that it notifies you of any results.