My thoughts while wandering the web and reading Why All Your Data Should Live in One Application by David Karger on the MIT Haystack blog… David looks at recently-created applications that show promise for handling personal notes as structured data with graceful interfaces. See his post if you want details, from here on it’s my response and ponderings and pining for dream software.
This seems done, and has been for a few years, by Tinderbox (Eastgate, Mark Bernstein), and explained in The Tinderbox Way. I haven’t used Tinderbox or read the book — I have read parts of the user manual and watched some of the demo videos, and it seems pretty powerful. And Eastgate (maybe it’s just Mark) have two other products that seem relevant that I haven’t investigated much: Storyspace (“a hypertext writing environment”) and Twig (“lightweight tool for capturing and cultivating your ideas”) — oh how I wish those were software libre.
Since I don’t have those apps, I’m thinking about the pieces I might use to build something similar:
– Darcs for a distributed version control system = this is where files go.
– GraphViz and/or VUE for vizualization = both seem lacking, maybe Exhibit would work better? Or Processing (perhaps via Processing.js).
– something that automatically generates a revision every time I edit (like TiddlyWiki)
What I’m aiming for is partly a distributed semantic wiki sort of a thing with Darcs-style revision control.
– Distributed (i.e. peer-to-peer, holographic, locally-stored) because I use my computer offline more than online. And I want something that runs gracefully on my laptop, and I think Concerto (the P2P-extended XWiki) might work or might be too resource intensive (and seems tricky to access).
– Semantic wiki because I want structured data that’s easy to restructure on the fly.
– A more graceful interface than Swooki — I do like the Dido interface in the 2 minutes I’ve looked at it. In this area and others, MindRaider may be the most promising single app I’ve found today — definitely worth looking at.
– For ongoing processing of data, something like Yahoo Pipes or DERI Pipes would be nice. They get at event-based triggers that are helpful in a personal knowledge management scheme.
Another way to look at it is to move beyond an app to my entire desktop (since that is the everything bucket by default), specifically a semantic desktop with well-done interface and easy visualization of data, so Nepomuk helps for the semantic part of that (what about the interface and data visualization?). Bouillon could be wonderfully useful if there were easily-accessible source code and a developer community. Maybe TiddlyWiki5 holds promise — it’ll be all HTML.
P.S.: I’d like this in a resource-efficient programming language, so that probably means low-level rather than Java or Ruby. Why? Because I think it’s possible to do most of what I need on a 10-year old computer, if the code is efficient. I’ll use high-level in the meantime, until I or someone else creates this as a bash script or writes it in assembly or some such.