Veteran technology writer, analyst and eclectic Web developer Jon Udell will cease writing his "Strategic Developer" column and "Jon's Radio" blog for IDG's InfoWorld magazine on December 15, 2006. After a month's hiatus, he'll start his new job as a Microsoft "evangelist for the Net." Jon will report to Jeff Sandquist who runs Microsoft's Channel9 and On10 sites. Jeff Sandquist is Robert Scobel's former boss. Note: Robert worked for Fawcette Technical Publications when I wrote my first article for Visual Basic Programmer's Journal, now Visual Studio Magazine. Jon described his future activities at Microsoft on December 8, 2006 in A conversation with Jon Udell about his new job with Microsoft:
That means blogging, podcasting, and screencasting on topics that I think are interesting and important; it means doing the kinds of lightweight and agile R&D that I've always done; and it means brokering connections among people, software, information, and ideas—again, as I've always done.He went on to clarify his role and expectations in a new JonUdell WordPress blog. He'll continue working from his office in Keene, NH and spend about one week per month in Redmond. Jon as an XML Evangelist I worked with XML Web services in the early .NET 2002 days, wrote a book on the topic and ended up one of the winners of a Microsoft .NET Web Services contest. But it was Jon's early promotion of semi-structured XML for data interchange that got me interested in XML as a data-interchange format with Jean Paoli's InfoPath and resulted in my writing Introducing Microsoft Office InfoPath 2003 for Microsoft Press. Over the almost five-year period from 1/3/2002 to 11/15/2006, Jon wrote 148 columns, blog posts, analyses, and reviews that contained the term XML. Note: I ran this InfoWorld power search to return a table with rows for each article, imported the table into Excel and then into Access to improve searching and sorting. Jon's articles and posts on XQuery encouraged me to abandon Transact-SQL for a few days and try Microsoft's original XQuery implementation for .NET 1.0—an interactive preview of and downloadable code for the Microsoft.Xml.XQuery classes, which was at http://22.214.171.124 in mid-2002. The interactive demo—shown in the screen capture below—and its use cases worked well enough that I wrote a "Get Ready for XQuery" article and a downloadable .NET Web form app for Fawcette's XML & Web Services Magazine (free registration required for page 2 and beyond).
(Click screenshot above for full-size image.)
Jon's November 15, 2006 "Strategic Developer" column, XQuery and the power of learning by example, stresses the importance of use cases as XQuery tutorials and laments the lack of use cases in Extensible Business Reporting Language (XBRL). Notice the start of a list of W3C Use Cases in the left frame of the preceding Web page.
Microsoft's removal of XQuery support from .NET 2.0 was a major disappointment for me, but the SQL Server 2005 xml data type's XQuery support compensates—at least in part—for its 11th-hour excision from the .NET Framework. Jon's April 26, 2005 A conversation with Michael Rys about SQL Server 'Yukon' blog post provides a succinct overview of SQL Server 2005's XML and XQuery support and is a great companion piece to my slightly earlier "Exploit Yukon's XML Data Type" article. Jon's other XQuery articles greatly influenced Chapter 12, "Exploring the XML Data Type," of Expert One-on-One Visual Basic 2005 Database Programming.
Note: Now that XQuery 1.0 is a W3C Proposed Recommendation, hopefully Microsoft will implement the missing Let keyword and incorporate the XQuery classes as an Orcas add-on to the .NET Framework. Although LINQ to XML (formerly XLinq) and LINQ to XSD (a.k.a. LINQ to XML Objects) has a more elegant, SQL-like query syntax, XQuery is finally closing in on Recommendation status. Jon on Language Integrated Query (LINQ) Jon was one of the early proponents of Microsoft's LINQ technologies. He first wrote about LINQ in his September 13, 2005 An interview with Bill Gates from PDC 2005 blog/podcast, which includes a transcription. His initial take on LINQ:
He followed up with a September 21, 2005 Microsoft driving toward .Net unity "Strategic Developer" column based on PDC 2005 presentations:
The biggest round of applause, I think, went to Anders Hjelsberg, whose LINQ technoloogy was shown issuing SQL-like queries, as native C# syntax, to query in-memory CLR objects, to query SQL tables, and to perform joins between both. On the XML side, LINQ was used to construct XML, though not to query it—I'll want to ask Anders about that when we meet later this week.
His LINQ 101 blog post a week later demonstrated the code for a three-way join across an XML data source and two CLR objects. His conclusion:
LINQ is an extraordinary innovation that turns traditional query inside out. But the bigger story from PDC 2005 is that the .Net vision of unifying many balkanized disciplines within the Microsoft ecosystem is finally becoming a reality.
Could you the same thing in XQuery? Sure, given three sources of equivalent XML data. And in fact the preview includes implementations of the XQuery use cases. LINQ's home base, though, is the domain of CLR objects. From there it extends its generalized query operators into the realms of objects, XML, and relational data. All of the capabilities of the .NET Framework are available within -- and across -- these contexts. What's more, you can invent new query operators using C# and the Framework.
When I said that LINQ turns query inside out, I wasn't kidding. There is a lot here to think about and explore.
Jon got his chance to interview Anders Hjelsberg for his May 12, 2006 A conversation with Anders Hejlsberg about the May 06 preview of LINQ podcast (with transcript). Here's Jon's conclusion:
I'm not certain myself how much of LINQ is genuinely new, and how much is a creative synthesis of pre-existing ideas, but I do know that I'm fascinated by what it can do and where it might go. Its reach will ultimately be determined by the extent to which non-Microsoft databases of all flavors—relational, object, XML—are willing and able to plug into the LINQ framework. To that end, one of the most significant points in today's interiew is the announcement of IQueryable, an interface that formalizes how providers plug into LINQ. Watching the uptake of this mechanism by third parties over the next year or so will tell us a lot about whether LINQ will be a Microsoft-only phenomenon or something that more broadly influences the industry.
So here's hoping that Jon won't expend all his Channel9 and On10 efforts on the Web, social networking, public libraries, and the like, but will continue evangelizing XML, XSD, XSLT, XQuery, and LINQ and analyzing trends in these technologies in his new role at Microsoft.
And here's wishing Jon best of luck at Microsoft. As I said in my comment to Jon's blockbuster post: "It’s by luring folks of your stature that Microsoft succeeds."
Note: I've added a Jon Udell tag to all OakLeaf blog posts the mention Jon.