So, I keep making vague references to some cool things I want to work on. Well, rather than staying cagey and in some lame sort of stealth mode - here's an early release, because I want to get some of it out of my head and onto the web.
Last summer, in a fit of manic love for XOXO, I started writing a browser-based outliner. I got busy and had to leave it for awhile, but kept meaning to get back to it. A few months ago, I totally rewrote that code to correct some memory leaks, streamline some things, and generally employ a few more of the tricks I've learned since last July. It's still got some work to go.
The idea I think is most cool about this outliner is that it uses the browser's own data structures in the DOM to both represent and display the outline data. But, this code doesn't offer any way to get edited outlines into or out of the browser's DOM. Pointless editing of statically-served XOXO outlines as a demo was all I had.
In fact, back in July, Tantek Çelik mentioned my XOXO outline experiment on microformats.org and mused: 'Imagine what you could do with some AJAX to "autosave" this XOXO outline to the server, and allow multiple users to edit different subpoints simultaneously.' Hold that thought, because I think I'm about to get a bit closer to that goal.
The OPML Community Server has a very simple, yet useful API for managing and transferring files via XML-RPC. In a lot of ways, I think it's competition for the Atom Publishing Protocol. But, say - did you know that you can do XML-RPC from a browser via AJAX? Well, that particular implementation is a bit old and seems buggy, so I've started gutting it and rewriting it myself. So, I can call the OPML Community Server API from a browser - now I need a way to turn in-browser outlines into data I can ship around with the API.
What's all this mean? Well, if I never get a chance to actually finish this, maybe someone can make use of the parts I've linked to here. Otherwise, it could soon mean direct in-browser editing of OPML outlines and blogs with OPML Community Server integration. Combine that with the OPML Editor's ability to synch up with changed files, and you can edit while you're away and later bring that content back into the more fully-capable desktop application. (Thanks to Amyloo for pointing me toward that particular trick!)
Don't hold your breath on my account, though: I'm in pretty much over my head with work at the moment, so this post is more or less an escape pod for my ideas in case I don't quite make it out of this hole. Feel free to steal the pieces.