Tuesday, July 05, 2005

Information Interfaces & Microsoft Alerts

These days, Information Interfaces is yet another of those buzzwords that seems to be doing the rounds. Everybody and their brother in the industry seems to have taken a liking to making cool new information interfaces. A classic example of this is the Ambient Orb Device - a color transitioning interface to display information. Or any of the many of other similar technologies that have popped up.

[The Ambient Orb]
A while back, I used to be part of the Information Interfaces Laboratory at Georgia Tech. Ofcourse, we used to work on some real information dispersing interfaces, like agents, info-viz and the like.
[Talking Heads]
The question is, how are the information interfaces of the future likely to be? And more importantly, why is that even an interesting question? If you had noticed the science fiction movies from the days gone by, you would notice that all spaceship consoles and the then-future interfaces were shown as having several bright lights and dials, all in analog. Years later, I remember seeing a presentation by some dudes from NASA once, and all they had on their spaceships were IBM Thinkpads and lots of ports to interface them to. This was at least a couple of years ago. Given all this, it is hard for us to predict how best the interfaces of tomorrow may evolve, or metamorphize into. But when you focus this a little further into something like software applications in a particular platform, your task becomes a little easier. Not much, but just a little. If my HCI background has taught me one thing, it is that while designing an application, it becomes important for you to keep in mind the legacy backlog that the application may carry. Often times, applications have elements that are the result of a legacy feature designed eons ago. Portfolio Optimizer has the potential to become one such application, given that there is an enormous amount of information that needs to be handled, some of it in real time. So, how best do you display all this information? Some of it, like the enormous amounts of stock data and manipulation can be quite easily dislpayed in graphical format, something that analysts would quite easily understand.
[Highbrew's Portfolio Optimizer Viz.]
On the other hand, displaying critical information in realtime becomes a lot more tricky. Popups and alerts are a strict no-no -- quick pop-quiz -- how many of you folks bother reading the content of the various alerts that Window throws up? So, the only other viable alternative is alerts. This got me thinking, and for a while, the only thing I could find was the system tray balloons-style alert, which is once again a popup alert of sorts.
[Windows System Tray Balloon-style Alert]
While this is not a bad solution, it has the disadvantage of being not really eye-catching. If my stock was crashing, the last thing I want is to lose out on a lot of money because some tiny box at the bottom of my screen was too incongruous for me to pay attention to. Microsoft seems to have designed the balloon-API with passive alerts in mind, and these do the job of being passive extremely well - almost all the users that I talked to told me that they found the popups to be too "sober". Given this, this was not really an option. So I started looking around for better solutions. Something along the lines of balloon-style alerts, but a little more visible. And preferably something which made its arrival known. It would also help if the user could interact with it, and perform various actions. I remembered having read about Microsoft's Messenger-style Alert API in Visual Studio .Net, which lets you create MSN Messenger style sliding alerts, which show up on the task bar, but I wasn't sure.
[Microsoft Alerts]
While it most definitely looked impressive, I was uncertain at first - this seemed to be more of a publicity by Microsoft for their Alerts Services (which is quite different from the Microsoft Alert API for developers). However, the more I explored, the more I realized how cool this really was. Not only can you control just about every aspect of the alert (including the background and functionality), you can also control what the resources inside the alerts really do. For instance, if you are displaying three alerts, you can have the user click on each of those alerts and take them each to an appropriate website. Or, you can play a tune indicating the market status (Britney would indicate that the market is trashy and Led Zep would mean it's like the good old days).
[Sample Stock Alerts]
More importantly, I also found out that you can push data through webservices, and quite literally control the content and aspects of the alerts that are being displayed - a truly powerful element. Next in line - controlling and publishing a webservice using the alerts API. Stay tuned!