XML News from Tuesday, December 5, 2006

The train ran on time, but wireless was nowhere to be found so updates will be time delayed. Jason Hunter suggested EVDO. That's the one where you pay Verizon $60 a month for "unlimited" access until you actually try to use it and Verizon cuts you off. The conference program says "Wireless access will be available in the Registration Area, Tutorial Rooms, Breakout Rooms, Exposition Hall and General Session". I guess that doesn't include the classrooms. :-(

In the keynote (which I missed, second hand info here) Oracle announced a new Zorba native XML database.

For the first session of the morning there were at least three interesting talks, and everyone I talked to thought they should go here Microsoft talk about the schema adoption study, but decided to go hear the fun one about Mozilla Application Development instead. (That's the sort of conference this is. Mozilla application development counts as fun. Even for these geeks, W3C schemas aren't fun.)

It's a polite audience, too polite. If this were Extreme someone would have interrupted the first speaker by now. Ken Holman tells me it's been getting smaller every year. I thought this was supposed to be a the big XML conference but it really doesn't seem any bigger than Extreme, though they do run four concurrent tracks instead of two.

Fabrice Desré from France Telecom is talking about developing applications on top of Mozilla with RDF and XUL. With JavaScript and DOM, it's too hard because of impedance mismatches between objects, XML, relational databases, and so forth. He wants to replace this with an XML centric architecture that stores all data in a native XML database (specifically Berkeley DB XML) and queries it with XQuery. He also introduces something called REX, remote events for XML. XForms are also involved somehow.

REX is new to me. (I feel a developerWorks article coming on.) It's being developed by the W3C Web API working group. It's an XML grammar for representing DOM events, so it can transmit DOM modifications from one endpoint to another. It can stream and supports timestamped events. Supported events include:

XPath-like syntax is used to target the events. XQuery generates the events. (How?)

What version of Mozilla supports this? Possibly a customized version? XPCom components expose the database and the REX processor.

They've defined two custom URI schemes, xdb to get a document out of the database and xqy to run an XQuery.

JavaScript is still needed because not all XUL widgets expose all their properties as XML. Furthermore, XPCOM components are not accessible from XQuery.

This has only been a high level overview. I'm left wanting to see some actual code, and an actual application.

XML 2007 will also be in Boston, December 3-7.

The second session of the morning is also a tough choice, but I think I'm going to stick around in Back Bay B to hear Robin Hastings from the MIssouri River regional Library talk about PHP and XML. I should probably listen to Michael Sperberg-Mcqueen discuss "Daddy? Where do schemas come from? Some facts of life for schema users" but the coffee ran out before I could get any; and I'm just not awake enough to pay attention to "rules for finding schema components", even though Michael's usually a wonderful speaker. The Microsoft talk on Linq and XLinq also sounds interesting, for the ideas at least. But it's likely to be limited to Microsoft platforms and thus unlikely to be directly relevant to anything I do.

She's talking about Magpie RSS, and RSS 1.0 reader written in PHP that supports caching. This might be a nice basis for a custom feed reader I could install on my server just for me. I find I prefer web-based aggregators like Artima or Bloglines from a user interface perspective. However, I don't like letting them know what I read. A custom local bloglines running on my desktop could be very useful.

Lunch was tastier than the usual cold sandwiches, but once again I got skunked on the coffee. This conference is suffering from a serious lack of caffeine.

The afternoon commences with a talk from Sam Hiser about the OpenDocument plugin for Microsoft Office in Back Bay A. There is minimal wireless coverage in this room (unlike Back Bay B, which had no wireless access at all). That is, occasionally the wireless cuts in for long enough for me to surf one web page or two, but it doesn't stay up long enough to check e-mail or do anything complicated. I asked someone from the hotel staff about this, and he evinced shock that there was no wireless in the previous room, but I don't believe him. I know I'm not the only one who couldn't connect in that room -- and I'm sure it's been a problem before. I wish hotels would stop lying about their Internet connectivity. They have to know they have problems. It's not like it's hard to set up wireless access. You just put a $50 router in every room. I was told at lunch that the conference is switching hotels next year. Maybe the Marriott will be better.

His comparison between the forces of darkness and forces of light are too much, even for me. He does everything short of calling Microsoft Nazis. He does use the word "fascists". Dude, it's just a document format! Not World War III.

Microsoft Office file formats all "check in through RTF". Word plugin in about 60% done. Another 3-4 months of work is required, but funding is needed first. The plugin will actually generate version 1.2 of ODF which isn't finished yet. There are too many incompatibilities between Word and ODF 1.0.

Next up is a panel discussion on using Word and/or OpenOffice to create XML documents. Panelists include John Parsons from XyEnterprise and Marc Jacobson from Really Strategies and Clyde Hatter from Propylon. According to Parsons, word processors are for one-off, single use, non-reuabale documents. XML is for reusable documents. Jacobson discusses customzing Word to generate XML in various ways. Hatter talks about OpenOffice, which seems to provide much superior hooks for extending it as a custom XML editor. What he's demoing is way beyond what Jacobson and Parsons showed with Word.

No coffee at all during the break; just Pepsi, which ran out before I could get any. (Did they underestimate attendance?) Thank the Flying Spaghetti Monster there's a Starbucks in the lobby.

Third afternoon session is Patrick Chanezon with Fun and Profit with the Google Checkout API, in Back Bay B. I'm sititng in the middle of the room instead of the back now; and, fingers crossed, seems to have almost adequate wireless reception. I'm not sure what this talk is doing at an XML conference. Maybe it uses HTTP to transfer XML documents? We'll see. Yep, that seems to be what it's doing. Basic Auth over SSL. Synchronous and asynchronous. XML Digital Signatures. There's also an option to add a simple HTML form to your page (though it's unsigned).

63% of online shopping carts abandoned after beginning checkout. 37% of online purchases begin with search. Google checkout focuses on ease of use to encourage shopping. Transaction fees are cheaper for AdWords buyers. Otherwise 2% + $0.20 er transaction. Google does not share customer e-mail address with the merchant. E-mail from merchant to customer must go through Google (which could read it). Not sure whether credit card statement indicates Google or merchant. This is very important for disputes.

There's some back and forth from Google to the merchant to calculate shipping and taxes and so forth. Merchant must respond within 3 seconds or default values will be used. That's going to be tricky for small merchants. This is all non-trivial for a merchant to implement. It is much harder than accepting Paypal, for example. I am not sure this is all that much easier than accepting credit cards yourself.

The final afternoon session is Norm Walsh and Sam Page on XML Pipelines. This should be interesting. I wrote about the rough approach of pipelines in Item 30 of Effective XML, but now there's a standard and some tools for doing this, instead of just having to roll your own.

Three goals for the XML Processing Model (XProc):

  1. A vocabulary for doucments that specify what should happen to a given set of XML documents in what sequence (call these processing schemas?)
  2. What are the default for processing in the absence of such a document?
  3. Exception handling (very poorly described in current spec accoording to Norm)

Multistage XSLT and XInclude are part of the problem. Validate before or after XInclusion or both?

Norm is implementing XProc in Java.

Parameters can be passed to components; e.g. XSLT variables. Parameters are strings, not document fragments.

Dana Florescu asks about the data model. It's a good question. Not all the specs involved use the same data model. They are punting on the data model, and I suspect that's the correct answer to Dana's question.

Dana Florescu also is worried about duplication with XQuery. Norm isn't. (me: XQuery duplicates a lot more of XSLT.)

I like what they're trying to do. The angle bracket syntax seems very hard to follow. The same names show up in too many different places, and mean too many different things. step and source are likely to change names.

Final event of the day: PechaKuchu which is Japanese for "Yackity Yack". It's an open mike night. Everyone gets 6 minutes and 40 seconds to talk about whatever they want.

First presentation nis Stylus Studio 2007. Blah. Blah. Blah. Marketing drivel. I could have read this in a brochure. It supports pipelines.

Next is Jonathan Robie talking about DataDirect XQuery, an adapter for non-XML data you want to query with XML tools. Is this session all just vendor hype? If the next talk isn't better, I may skip out early.

Ken Holman's a better speaker, but he's still just hyping his wares. I should have submitted to show some of my best bird slides. It would have been more interesting, and about as relevant.

Next is the Oracle XML Query Service. This is followed by more Oracle hype. If this room didn't have the best wireless in the building, I'd be out of here. Oh my god, the next talk is more Oracle, and it's the worst one yet. Binary XML! That's it. I'm gone. See you tomorrow.