Warning: Technical discussion about a new Radio implementation feature ahead — those with other interests may want to wait on next post.
This will probably add to the buzz pushing this item to the Daypop 40, but such is life: Userland released a new aggregator architecture that allows the introduction of new drivers for unknown XML formats such as RSS 1.0.
With this architecture, you can basically attach processing information for new XML formats on the fly (i.e. without having to re-compile or modify the underlying Radio implementation).
If you’re a C++ developer, you’ll recognize the architectural concepts as being extremely close to vtable lookups. If you’re a COM/DCOM/COM+ developer, at first glance this looks to be similar to vTable binding, but I’m thinking that it more close resembles early binding — primarily because a “type library” in this context doesn’t apply. The XML aggregation architecture is also somewhat similar to CORBA’s bind operation, or Java RMI’s reflection. If you know these technologies and are interested in Radio, check it out, see if I’m wrong in my interpretation.
BTW, don’t let the word “compile” in Dave’s description of this new change mislead you — this is attaching Radio script to a format, not actually “compiling” the code so that it runs at machine level such as a compiled C program would. And that script is interpreted, right Radio buffs in the audience?
With this architectural change, new XML vocabularies can, supposedly, be introduced to Radio. The concept is good, but I wonder how performance will be — lookups have been notoriously slow in other technology implementations. I’ll also be very curious to see if this will work with RDF/XML — a metadata vocabulary described in XML that, in turn, describes other data. The metadata aspect of this pulls this vocabulary out of the context of “top-level” XML object, doesn’t it?
(Is there a Radio 8.0 ad stapled to my butt?)