-
About XoxoOutliner
-
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.
-
Well, that's where this next piece of the puzzle comes in: JavaScript functions to convert between XOXO and OPML data and browser DOM structures.
-
So, I've got the pieces in code to go round trip from XOXO and OPML data on a server; to a browser's DOM where it can be edited by way of a JavaScript-driven UI; and back to the server again. These parts aren't welded together in any form remotely close to finished, but hopefully that's what I'll get around to doing under the project I've named XoxoOutliner. In my own carefully controlled conditions, I've been able to load up, edit, and save outlines on my own barely-functional OpmlServer - as well as on
blogs.opml.org
itself. -
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.
-
-
Home from work; going in again tomorrow. All of this to get back to thinking in the box, which is somewhat discouraging. At any rate, I hope to get some free brain power and time again soon. Through baby steps, I've been cobbling some nifty things together, and there are some other very attractive things I'd like to be working on. And then, there's also the book to finish, just as soon as I get the chapters back from my editor for review. Need naps and laziness - the coffee just ain't working so well anymore.
-
Morning. Skipped another day due to current craziness - going into work again this weekend, hoping that it's the last one for awhile. Also, hoping that this next week or so, I'll have the book wrapped up. Then, I'm hoping, finally, for a nice span of time during which I endeavor to achieve heretofore unknown depths of sloth.