IOML – Interactive Outline Markup Language

The format I have been working with now has its official name: Interactive Outline Markup Language. IOML.

The IOML format is an evolutionary step from OPML with some of the structure changed to make using outlines, uh, interactive.

IOML is used to communicate with an Interactive Outline Server. The server I am working on is called CoffeeTalk. It is written in Python. Initial coding is almost (damn I’ve been saying that for a long time) done. The feature set is almost frozen. I’m only debating on one more feature before deciding on freezing the specification.

The first clients to use IOML will be in Python, ActionScript 3.0, and JavaScript/Ajax. The Python client is being developed along with the server.

I’m very excited about the possibilities of IOML. It is very flexible, easy to understand, scalable, portable, and, best of all, it just makes a lot of sense.

Development at the speed of thought…

Advertisements

Instant Outlining

I had no idea that Instant Outlining has been around since at least April of 2002. Dave and the team at Userland shipped a version in Radio 8 back then. As always, Dave was ahead of his time.

I first encountered Instant Outlining in August of 2005 when Dave added it to the OPML Editor. I was expecting Instant to mean ‘instant’, but that wasn’t the way things were setup. The OPML Editor would poll the server once a minute to check for changes, which saves a lot on the backend.

From somewhere inside my head came a little voice: “You write server software for a living, why not make an Instant Outlining server that sends updates immediately?” Using the OPML format as a guideline I started putting the pieces together and came up with a proof of concept by the end of August 2005. The name ‘CoffeeTalk’ seemed like a natural fit due to the ancestry from Dave’s love of coffee.

There are a lot of differences between CoffeeTalk and the Instant Outlining tools provided by Dave’s and Userland’s tools. Their tools were/are designed to be open and provide an easy standard for others to adopt. Everything goes through XmlRPC and modifying your web server to handle Instant Outlining is fairly similar to getting your web server to handle blogs. Dave strives to make things easy and accessible.

CoffeeTalk, on the other hand, is not currently an open standard, requires a separate server to be running, has no GUI client to speak of, and no documentation. It also isn’t finished 🙂

I’ll be working on getting version 2.0 finished and ready for internal use in the next couple of weeks. Demos come after that, and then I’ll be figuring out which direction to take things at that point. The next couple of months promise to be very exciting…