Yet another PIM effort: Haystack
Ted Leung points to another PIM effort similar in intent to Chandler. This one is Haystack, and I have the latest test version downloading as I write. Judging from the screenshots, this is very much in line with what I am looking for, and is more real than Chandler so far.
It was mentioned in the context of a response to Jon Udell's discussion of dynamic languages. Haystack is actually written in a language specifically designed to manipulate RDF, Adenine. Adenine itself is implemented in Java. This is precisely the approach taken in GNU Emacs, where most of Emacs is written in a dialect of Lisp, running on a Lisp interpreter written itself in C. Ted Leung notes that this precedent provides some evidence in support of the approach.
Will we see a play off between specialist and general languages? Chandler is supposed to be heavily RDF based, too, but is to be implemented in Python. Both the Chandler and Haystack people seem to be sold on dynamic languages, though (assuming Adenine is dynamic).
It will be interesting to see how Adenine fares when people start asking for more general programming language features. Perhaps they will be asked to back out to Java, which of course isn't dynamic. Perhaps it will be possible to script Haystack in Python by using Jython.
OK, downloaded and extracted, time to play ...
... crikey, it takes a long time to start up. They aren't lying when they say it's slow.
Update: Well, it looks very exciting -- follow the overview tour for a glimpse of what it can do. It comes with a built in ontology which includes people, projects, email, publications, and more. That ontology is likely to change in future versions, and no guarantee of migration support is given yet. Worse than that, it's an incredible memory hog: my 256Mb was no where near enough, it seems, and Haystack after about an hour got bogged down in disk thrashing. To be honest, though, the design looks good enough that if I had to buy half a gig of memory just to run this one program, I'd think that money well spent. On the other hand, spending that money just to test the program is a bit much :)
Let me get this straight. Adenine is an interpretive language, which was itself written in an interpretive language, which was in turn written in C. This means to run on a native system, a program written in Adenine this will go through two levels of interpreter, while a C program goes through none. Just try running under a VM or Wine. I doubt any language that is that inefficient will never catch on.
I'm not surprised that Haystack is slow. I'm shocked at how crazy those system requirements are however. Seriously, recommended 1GB RAM and 2GHz processor to run a PIM client? Wow...
Posted by: John Crenshaw | October 18, 2007 at 06:08 PM
Bear in mind, too, that nothing appears to have happened with Haystack since 2004. 1Gb/2GHz is pretty normal these days (though no less horrifying as minimum requirements for all that); it was expensive then.
That said, Java isn't interpreted. And the prototype "worked" (unusably slowly on the hardware I had at the time) under Linux, so running under Wine wouldn't be necessary. And running "under a VM" on modern hardware is pretty much running on the hardware.
Posted by: Hamish Harvey | October 19, 2007 at 01:58 PM