I just tried the long-awaited initial release of Haystack. In case you don't know what that is, it's an information client that allows one to organize and find information in almost infinite ways. For instance, Haystack allows one to set a reminder to prepare for the word 'the' contained in an annotation you made to a textbox label in the search panel for a mail folder. Which is a feature that, if it had existed long ago, would have prevented the fall of the Roman Empire.

OK, I'll ignore that Haystack is very slow and that the release notes contain the text '768 megabytes [of RAM] strongly recommended', and focus more on what it actually does and the technology behind it.

When you first launch Haystack, it takes about 5 minutes to do various sundry tasks. Like set up various default settings and compile a bunch of scripts. It only does this once, though, so subsequent launches are faster. The first thing I noticed when the main window opened was my name in the upper left corner. Hey, I thought, what magic! It knows who I am! On the left side is a bunch of links for various tasks. In the middle is a pile of news about SARS and West Nile Virus (hmmm, must know where I live too). It also displays the weather around MIT. I couldn't figure out how to customize it to display more local weather.

More operations are performed by right clicking on things. In Haystack you can right click on ANYTHING and get a context menu with 100 items on it. The menu has an item for each logical concept you clicked on. So, for instance, if you clicked on some text in a list, you might get commands for text, commands for things in lists, commands for lists as a whole, commands for what the list is in, and so on. Some commands seem to apply to everything, such as Annotate and Remind, whereas others such as Find Synonyms only apply to words.

Haystack never appears to open a second window for anything. Instead, when more information is need to carry out a command, a box appears on the left side of the window. This is a bit jarring as it's not always noticeable, so it often seems that a command had no effect.

Haystack uses lots of RDF. In fact, I think it's pretty much all RDF. Thus, an annotation is just a bit of RDF attached to something. Thus you can annotate anything, including a mail message, a news item, a list, or even a specific word. You can do the same with reminding and a number of other tasks.

Because of these things, the UI tends to look quite different after you've clicked on a few things. Boxes of tasks appear on the left side, the middle area changes often, and occasionally something happens on the right panel as well.

UI-wise it falls into the same problem as many web sites, including almost all big Web portals. It can do lots of things, but the UI tries to show too much of these things at once. Instead, a good UI should focus on only one thing -- what the user is currently doing. News web sites have this problem too. When viewing an article on a news site, only half of the display is used for the article, the rest displays weather, stock tickers and links to sign up to newsletters, none of which are actually relevant to what the user is doing. Of course, since news sites were doing this before the Web really took off, people thought this was normal UI, and learned to just ignore the bits along the four edges of a page.

In Haystack it's hard to tell what you're doing at any given time. It's also not clear whether it's possible to do more than one thing at once.

Anyway, that's what I thought after using it for half and hour or so. I'll look more into it to see if I can see how to use it better, and perhaps look more into how it works.