The last time I saw Mark Lucovsky, at a Next Generation Web Services conference in January, I asked him if he still had a job. "I think so," Microsoft's Hailstorm architect said, "Why? What have you heard?" What I'd heard was the sound of Microsoft software chief Jim Allchin shutting Hailstorm down.
Like Mark, I thought Hailstorm was a great idea. So did Sun Microsystems and the rest of the industry, which tagged the project as a Passport back door to owning the Internet. Maybe it was. Time passed.
Looking back over 2002, it turns out I've conjured the ghost of Lucovsky on a regular basis, 10 times in fact. That's twice as many appearances as favorite bad boy Bob Sutor, whose WS-I standards machinations ended with Sun's admission to the club. Congrats, Bob -- have another cigar.
Then last week, Mark Lucovsky shows up -- in my inbox. He'd seen my column on XDocs, "where you were talking about Groove and XDocs -- and boy, if you could start shooting XDocs documents around in Outlook and use Groove as part of the infrastructure, boy, what do you have there? Kind of a distributed XML Notes sort of thing. ..."
Do you agree with that, I ask? Parts of it, he replies, explaining that although XDocs certainly is a forms editor, it could potentially have an even more significant usage model. "Forms are one way of capturing those semistructured trees," Lucovsky says, but with XDocs "you can essentially insert a node in the tree and then populate it. You can bind the node of the tree to an external data source like a Web service."
Sounds like some of the ideas around the Hailstorm project, I suggest hopefully. Lucovsky starts to demur: "The Hailstorm project at one level was about 'let's create some of these schemas, and let's expose content that conforms to the schema through a Web service interface.' And then ... 'oh, let's associate these blocks of related schematized things with identities, and let's bake a security model around that.' "XDocs, by contrast, is mainly being used today as a content editor. Now Lucovsky is sounding excited. "Boy, you could really generate content, and take some of that content from a Web service, and stick it in a document and persist it, and work with it offline, and then refresh from the Web service, or leave it alone."
"Sounds like Hailstorm." To myself I say that. To Mark I say: "So what are you doing on [the XDocs] project?" "Screwing around," Lucovsky admits brightly. "I'm just looking around at a bunch of different things right now and trying to make sure, from a server and Windows perspective, we're not too disconnected in these pieces of technology."
Other pieces include OneNote, which Lucovsky recognizes only by its code name (Scribbler), and the next-generation SQL/Exchange server data store (Yukon). "Splatting out the XML into a relational database and then stitching it back together again is something that's relatively straightforward when the schema is stable," Lucovsky says.
"But the typical XML schemas have extensibility baked in, and dealing with that and preserving name-space prefixes is all hard stuff." Yes, and so is understanding Lucovsky at this point. Luckily, he rescues me with a parable I can relate to. "Let's say that you're a manager, and it's performance review time. And all of your employees are writing their goals for the next quarter or the next period.
"Your goals, as the manager, are really the sum of all of their goals. Wouldn't it be nice to be able to go to their performance reviews, extract the performance goals for next quarter's section, paste those into your review, and then summarize and say, 'and these are my goals'?" Lucovsky has my attention, particularly since I'm using my phone call with him as a way of procrastinating on doing my own performance review, due yesterday.
"Well, to do that today with Office," he continues, "you have to open the document, and use the mouse, and cut and paste, and paste it in. With an XML ability to navigate the documents by their external structure -- you know it's a perf review, you know perf reviews have the goal section -- you can just XPath that out of the document, and paste it right in, data bind that section of the document directly into your document."
Now Lucovsky is running in the clear, nothing between him and the goal posts but fresh air. "And if you extend it further and say -- hey, what if performance reviews were stored on a server that exposed an XML Web services way of accessing those documents."
You were excited about Hailstorm, too, I interject. "I was. I still think it's the right thing to do someday," he sobers up. "Yeah, it'll happen slowly over time. I don't know if everything that we were doing will happen, but certainly you're seeing the schematization, right?"
"But there's nothing wrong with string concatenation," Mark Lucovsky underlines. "I'm just pointing out that it is brittle, and people do make mistakes with it."
There's no mistaking Lucovsky's enthusiasm for these second-generation Office tools. "We're talking about the power of schematized data and all the different pieces of technology that are out there in Microsoft's arsenal -- and [he quickly adds] everybody else's arsenal -- to guarantee that we've got high fidelity XML flowing around."
Welcome back, Mark. It's like you never left.