A speech from Jon Bosak is always scintillating. This year he gave the closing keynote at the XML 2006 conference, to commemorate the 10th anniversary of when Jon present XML initially at the same conference; this first half of the talk looks back at the development and history of XML, the second half fills in the gap concerning recent developments of UBL and the current state of play. Most heartening for me is that the emotional nub of the second part of Jon’s talk is actually a challenge to, or chastisement of, software vendors for not supporting Schematron.
Jon seems to feel his experience with Schematron is emblematic of a broader unresponsiveness by software vendors: they are interested in getting ROI on their platform not on enabling users to solve their problems. And not listening to users.
The thing that probably impresses me most about Jon Bosak was the amount of buy-in he was able to generate for XML. He herded more than one hundred fractious and opinionated developers, corralled us and channeled our energy so that, at the end of the day, not only were we happy with XML but most of us thought of it somehow as being “our baby”. Jon moved from Novell to Sun, from ISO to W3C to OASIS, and from SGML to XML to the UBL (Universal Business Language) initiative. It seems just as difficult an arena, if not more so, but if anyone has the people skills to bring it together, I think Jon does; Jon seems to work by allowing people their own space and opinions even though they may differ from his own. His work comes from the “Increase the size of the cake” school rather than the “lets only support what we need” school.
Another blogger on Jon’s speech is Microsoft’s Mike Champion. Mike is a guy who opinions I respect enough to disagree with. When Jon talks about software vendors, it is hard not to think that Mike is
not one of the people Jon would be addressing. Now Mike is hardly a rabid complicator: his blog XML Schema is the root of WS-Evil? agrees with some of Dare Obasanjo’s criticisms of XSD and WS-*: there is just as much a diversity of opinions at Microsoft as at Sun, it seems.
Anyway, Mike responds to Jon’s criticism of vendor’s non-agiility and lack of responsiveness to user requirements as “Furthermore (I was told), business users will never adopt a solution that depends on an additional XSLT pass because it would require them to learn something new (never mind that this “new” thing had been widely employed in other contexts for years).” Mike’s spin is “Those vendors may know their customers, and suspect that they really don’t want to learn yet another XML technology just because it would offer an elegant solution to a somewhat peripheral problem.”
What is interesting about Mike’s comments are that they are not at all a criticism of Schematron (in fact, Mike has said nice things about it several times; Dare Obasanjo even wrote an good article on it for MSDN,) They are a comment on XSD, that it is so bloated and ennervating that users are at their breaking point, or resistance point.
This was a thought that I mentioned to many people in the early days of Schematron. It has always been clear to me that, apart from pioneers, desparados, hackers and custom system integrators (of the style that Jon Bosak mentions), XSD would suck the mental oxygen out of the air for several years. Both in a positive way, as people explore the new possibilities of XSD, and in a negative way, as they pathetically hope against hope to find ways to express constraints that are not ultimately related to database storage issues.
But the air is clearing now, it seems to me. I am regularly hearing of larger projects successfully using Schematron. The Lloyd’s markets use is a good one, but I am also hearing of government pilot projects. I don’t consider Schematron to be a killer app; instead I think it is one of those technologies that will gradually become just part of the furniture. The reasons? powerful, easy to implement using ubiqitous technology, standard, no rivals, and most importantly, it is human-centered. I think it fits in really well with the kind of XML approach. One big thing that Schematron has going for it is that it is terribly platform-neutral; you can use it with XSD systems or RELAX NG or DTDs or even with no schemas; you can use it for message gateways, for forms validation, for business rules checking, as well as for document validation. Just this week, I’ve posted my pre-beta implementation of ISO Schematron to the schematron-love-in maillist, in order to get feedback from developers.
Jon is a can-do pragmatist: I’m still the kind of person that starts looking for an open-source solution if the commercial vendors don’t have the wit or the nerve to provide the capabilities I’m looking for.
But more than that, he understands the human-centred vision behind XML (and Schematron): We’ve wandered off into the weeds of commercialization and forgotten that the web we’ve got is the most primitive form of hypertext that could be imagined — which is why it works, and I don’t want to deny that. But this focus on the money to be made right at the start has led us into an explosion of XML applications that focus purely on the exchange of data between computer systems. We’ve lost track of the human aspect of this to the point where even an organization whose very purpose is the advancement of XML considers it unsuitable for human consumption and requires its specifications to be issued in forms tied to the printed page.