Cook Computing

Web Services, Weblogs and the Future

May 25, 2003 Written by Charles Cook

In Web Services, Weblogs and the Future Timothy Appnel discusses the state of blogging APIs. He identifies three key issues in the design of any universal interface, international character support, robust extensibility and cohesion with RSS, with the former being the most important:

The most important amongst these issues is XML-RPC's lack of international character support. Adriaan Tijsseling noted to me that Apple's WebServicesCore and MovableType's API support UTF8 in XML-RPC, but according to the XML-RPC specification strings are limited to ASCII thereby undermining international character support. There have been numerous threads in the past on this issue such as this one made by Charles Cook.

Regarding extensibility:

To a lesser extent, but still significant, is robust extensibility. As weblogging expands and evolves, feature sets will become more diverse and feature sets in tools will begin to vary and hybrids emerge. What effect will this have on interoperability? What XML-RPC lacks is a straight-forward and reliable way for it to be extended when warranted -- whether that's between two weblogs or two million. In comparison to straight XML, a XML-RPC struct is not straight-forward -- its quite verbose. Structs in XML-RPC don't have the benefit of utilizing namespaces and thereby cannot directly leverage previous work such as Dublin Core. Back in January, Sam Ruby published "Evolution of the Weblog APIs" that amongst many things, highlights this issue by comparing the implementation of services with XML-RPC and other formats.

Timothy decides that these issues can't be addressed in XML-RPC because the spec is frozen and I agree that we are unlikely to see any change to structs. However I think we are seeing a de facto move to supporting UTF-8 in XML-RPC. Timothy mentions a couple of examples, and this Evhead entry mentions the current Blogger work on encoding and internationalization which I suppose means that UTF-8 encoded text will be flowing through their XML-RPC interfaces.

[The blog entry of mine he links to was written when I was wasting a lot of time trying to develop .NET interfaces, for use in generating XML-RPC proxies via XML-RPC.NET, for the Blogger, MetaWeblog, and associated extensions. That was very frustrating, hence the tone of the entry.]