Scott also published a few photographs of and screen captures from his new laptop. Here's his Control Panel\System screen (cropped and sharpened for legibility):

I was surprised to see a 2.8 Windows Experience Index for a laptop that's intended to show off Windows Vista Premium's virtues, especially a premium (Ferrari), 64-bit dual-core laptop with 1-GB of DDR2 DRAM and a 160GB SATA fixed disk. The way I read the tea leaves, 3.0 is the minimum index rating to run Windows Vista Premium Edition and qualify as Windows Vista Premium Ready.
Here's what the Microsoft Windows Vista blog's September 22, 2006 "Windows Experience Index: An In-Depth Look" post says about machines in the 2.0 - 2.9 range (emphasis added):

A base score of 2.0 represents the mainstream Windows Vista upgrade target system. This level of PC may run Windows Aero but users may see noticeable performance issues from time to time, especially on PCs with scores less than 2.5 and/or 64MB of graphics memory. Performance issues may also be noticeable when opening many application windows at the same time or when using very large monitors.

PCs will run Windows Vista but in most cases will not be Aero capable.

Types: lower end of mid-market desktops. Many slim & light laptops.

Here's the same information for machines within the 3.0 - 3.9 index range (emphasis added):

This level represents the value end of machines that will ship at the end of 2006 and into 2007. This is the lowest capability Windows Premium Logo PC that will ship with Windows Vista™ pre-installed. Windows Vista will generally enable Aero automatically on level 3 machines. Aero will perform quite well on level 3 machines with single monitors. With dual monitors (especially larger than 1280x1024), users may see noticeable performance issues from time to time, especially on machines with scores less than 3.5 and/or 128MB of graphics memory.

Minimum specification needed to run Windows Vista Premium features, including the new Aero user interface.

The Acer product and Windows Vista support pages say that the F1000 and F5000 are Windows Vista Capable and Windows Vista Premium Ready. (The F1000 is claimed to be Premium Ready if appropriately configured with 1-GB RAM and a DVD-ROM drive.) Microsoft's latest requirements for the these two labels are here.

Based on the preceding Microsoft quotes, however, a 2.8 Experience Index doesn't appear to meet minimum Windows Vista Premium requirements or qualify for shipping with Windows Vista preinstalled.

Update 12/28/2006:Microsoft Watch's Joe Wilcox appears to agree in his "How Much Oomph Does Vista Really Need?" post that a 2.8 Windows Experience Index isn't sufficient to run Windows Vista properly. He says "The stated minimum system requirements are stingy" and provides his recommendations for minimum Windows Vista hardware requirements. He notes that "Microsoft would do better by overstating rather than understating system requirements. It's one thing for the operating system to run and another for it to provide a good experience." Joe's former Jupiter Research colleague Michael Gartenberg disagrees.

That's not to say the bloggers who received F1000's got a lump of coal in their stockings. It's just surprising that a PR firm would send laptops with a marginal or worse Windows Experience Index to entice bloggers into promoting reviewing Windows Vista.

Ed Bott took issue with my use of Scott Beale's Control Panel\System screen capture that reported only the base (overall) WEI score and not the subscores. Ed also noted the need to run multiple tests to achieve an accurate value, as did Sandi Hardmeier in the first comment to this post. However, Mitch Denny's "Ferrari 1000: The Windows Experience Index (WEI)" post includes a Performance Information and Tools capture with the subscores that return the 2.8 base score—the result of a 2.8 Graphics subscore for the ATI Radeon Xpress 1100 GPU. Mitch also compares the Ferrari 1000 WEI Vista scores againsft a Fujitsu LifeBook T4210 and Dell Lattitude D820. Mitch cites Ed's post, which stresses the need to run multiple Performance Information and Tools capture to get an accurate result, so I don't believe there's an error in Mitch's data, nor do I believe that I misunderstood the WEI. A few other recipients of F1000s posting captures of their WEI scores would moot this controversy.

The plot thickens:CyberNet News' Ryan Wagner is scheduled to receive a Velocity Micro Media Center PC from Microsoft and AMD this weekend, and so is Long Zheng, who was one of the first to blog about free Ferraris. (Ryan says the specs aren't on the Velocity Micro site because it's scheduled to release on January 30, 2007, but he has a photo on his site.) 12/29/2006:Gear Live's Andru Edwards has already received his Media Center PC (see this blog's comments). Abbreviated specs from Gear Live are: "AMD Athlon FX 5000+ dual core processor, 2 GB DDR-800 RAM, two 400 GB hard drives in a RAID 1 configuration." Andru reports a 5.9 Windows Experience Index, which is the current maximum, in his blog's comments.

Brave New Year: The New York Times takes the Ferrari bait on New Year's Day: Maria Aspen wrote a brief Technology section piece entitled "Costly Gift From Microsoft Is an Invitation to Blog." (Free registration required, copy here from CNet.) Ms. Aspen confirmed that Microsoft had sent 90 Ferraris "to bloggers who write about technology and other subjects".

The Intuitive Life Business Blog's Dave Taylor concludes in his January 3, 2006 "Vista laptops for bloggers furor misses the real story" post that "There is no ethical issue associated with a vendor giving product to thought and opinion leaders in a marketplace," asks "why didn't they send out the OS and let us install it on our own computers?" and then provides his answer: "Microsoft Vista is in fact a bear to install and has prohibitive hardware requirements." CrunchGear's John Boggs agrees with Taylor, but Houston Chronicle TechBlogger Dwight Silverman doesn't. Silverman says:

Taylor's actually the one missing the point, because most users' first experience with Vista won't be via an upgrade. It will be when they buy a new machine that comes pre-loaded with it. By sending bloggers' pre-loaded notebook PCs, Microsoft is actually giving them the mainstream Vista experience . . . minus, of course, all the junkware that comes loaded onto consumer PCs.

I found Vista to be quite easy to install on my year-old Gateway desktop client (runs Aero Glass graphics, as shown above) and a two-year-old Dell server (runs Basic graphics because it has a low-end graphics card).

Full disclosure: I make a substantial part of my living writing about Microsoft programming environments, servers, productivity applications, and operating systems in books and for magazines. I did not receive a free laptop from Edelman or Microsoft. Several years ago, I received a substantial sum of money, an Xbox, and an LCD monitor as prizes for winning the inaugural 2002 Microsoft .NET Best Web Services contest. (I donated the two AMD PCs to the Ateneo de Manila University of the Philippines). I regularly receive or download free test/evaluation software from Microsoft, and, like most other magazine writers, I receive press credentials for Microsoft Tech•Ed and the Professional Developers Conference (PDC). I don't intend to refuse free software or press credentials in the foreseeable future.

Generate a single SQL script file which can be used to recreate the contents of a database by manually executing the script on a target server.

Connect to a web service provided by your hoster and directly publish the contents of a source database into a specified hosted target database.

Here's the description from the download site:

SQL Server Database Publishing Wizard enables the deployment of SQL Server databases into a hosted environment on either a SQL Server 2000 or 2005 server.

It generates a single SQL script file which can be used to recreate a database (both schema and data) in a shared hosting environment where the only connectivity to a server is through a web-based control panel with a script execution window. If supported by the hosting service provider, the Database Publishing Wizard can also directly upload databases to servers located at the shared hosting provider.
Optionally, SQL Server Database Publishing Wizard can integrate directly into Visual Studio 2005 and/or Visual Web Developer 2005 allowing easy publishing of databases from within the development environment.

I downloaded and ran DBPW's installer, which adds a Microsoft SQL Server Database Publishing Wizard Start menu folder and Database Publishing Wizard command. I then gave the graphic version of the Wizard (sqlpubwiz.exe) a test drive with a copy of the Northwind sample database running on an SQL Server 2005 Express SP2 Beta test instance under Windows Vista Ultimate. The following screen captures illustrate the initial test's steps: 1. Specify the source server. Don't use 'localhost' because the Wizard runs on a named pipe connection.2. Select the source database. 3. Specify the output folder and filename.

4. Set the publishing options (the blue blotch is a Vista screen capture glitch.)

5. Confirm your publishing spec.

6. Follow the publishing process, which required less than 15 seconds for a small database on a fast machine.

The result was a nicely-commented and formatted 4,605-line, 2.7-MB Northwind.sql T-SQL script. I tested the script by executing it from a local SQL Server Management Studio Express (SSMSX) instance, which took five seconds to complete. A 207,000-line, 67.7-MB script from my Oakmont sample database took about a minute to generate and 0:03:23 to execute locally.

If you just want to generate a script named Northwind.sql in the local folder with Windows integrated security and the default options, here's the syntax:

Friday, December 22, 2006

Rumors of .NET Framework 3.5 (a.k.a., .NET Fx 3.5) as the moniker for the Visual Studio "Orcas" LINQ and ADO.NET vNext add-on to .NET Framework 3.0 were confirmed today by a "Notes on the January CTP" post on Charlie Calvert's (C#) Community Blog. Here's the quote:

In the Solution Explorer (usually found on the right of the IDE, go to the references section and add one or more of the following: System.Core.dll, System.Xml.Linq.dll and System.Data.Linq.dll. You can find these files on your hard drive in the
\Windows\Microsoft.NET\Framework\v3.5.XXXXX\ directory. They will be added for you automatically in later builds of Orcas, but in these early pre-beta builds you may have to add them yourself. [Emphasis added.]

For more on the belated Orcas December 2006 CTP, now Orcas January 2006 CTP, see these posts:

A new "Notes on the January CTP" post on Charlie Calvert's (C#) Community Blog this morning (12/22/2006) announced a delay in long-awaited Orcas December 2006 CTP. Here's Charlie's explanation:

The January CTP (formerly known as the December CTP) should be out shortly after the new year. We are sorry about the delay; it is due in part to the huge December 14 storm that knocked out the power for over a million residents here in the Seattle area.

According to Charlie's updated "Community Convergence XV" post, the January 2007 CTP will drop "the first week of January."Note:.NET Framework 3.5 now appears to be the official Orcas version. The new System.Core.dll, System.Xml.Linq.dll and System.Data.Linq.dll files will be located in a \Windows\Microsoft.NET\Framework\v3.5.nnnnn\ folder.To prepare developers for the overdue CTP, Charlie has posted (unofficial) pending updates to the May 2006 CTP for:

Syntax and Reference Changes

Project File Changes

Array or Collection Initializers

Other API Changes

The most significant changes are to replace Imports System.Query with one or more of these Imports directives: System.Linq, System.Xml.Linq, or System.Data.DLinq.Following are links to earlier OakLeaf posts on the former December 2006 CTP:

Deployment of SSX, Microsoft Data Engine (MSDE) 1.0, and Microsoft Desktop Engine (MSDE) 2000 for local data storage on desktops and laptops remains relatively uncommon. Jet 4.0, which is included in the Windows XP and Vista operating system and used by Access, Visual Basic 6.0/200x, and other .NET and COM-based front-end apps is a much more common back end than SQL Server.

The most common application for the three freely distributable SQL Server versions is as a multiuser back end for workgroup or divisional database applications that need more robustness, reliability, and scalability than Jet 4.0 offers. In this case, the back-end server almost always resides on a domain or workgroup server that isn't a candidate for a Vista desktop upgrade.

The cost of modifying client-side applications to run another "free" database, including moving the stored data and testing the resulting client/server reconfiguration, is astronomical compared to waiting briefly for the release version of SSX SP2 and its data management/support tools.

The only other sources of free client/server databases that come even close to matching SSX's capabilities are IBM and Oracle. IBM hadn't even released a technical preview of DB2 9 Express-C for Vista as of December 13, 2006 (They released a technical preview on December 19, 2006 at about 12:00 p.m., see below). As of December 18, 2006, Oracle hadn't made an announcement about the compatibility of Oracle Database 10g XE with Windows Vista (see below).

I haven't seen reports of any significant problems incurred by upgrading MSDE 1.0 or 2000 databases to SSX running under Windows Vista. I've moved multi-GB database (.mdf/.ldf)files from MSDE 2000 to SSX under Vista without difficulty.

Windows Vista's official release date is January 30, 2007. Until then, judgements about Microsoft's loss of revenue from not releasing the RTM version of SSX SP2 are premature.

Full Disclosure: As mentioned in my profile to the right, I make a significant part of my living writing about Microsoft productivity applications, operating systems, database platforms, and new data-related technologies.

The full text of the "DB2 Express-C on Vista!" post is here, in case it disappears from the IBM site:

Hello,

Some of you may have seen the press already, for those that haven't, IBM has announced that DB2 Express-C on Vista will be available soon! We are ironing out the final bugs and doing some final testing as we speak, and we will be providing a tech preview of DB2 Express-C on Vista before year end. (I'm hoping it's much sooner, but I don't want to make promises I can't keep.)

This is a tech preview of the official Vista support in DB2 9, which will be coming very soon! (Stay tuned for official announcement info.)

Ryan Chase
DB2 Express Community team

Ian Hakes, IBM DB2 UDB Express Community Facilitator, posted on December 19, 2006 at 12:32 p.m. a "See the view from the Vista" message on the IBM DB2 Express forum, announcing that the Vista-enabled version was now ready for download by registered IBM Website users. Here's the download description:

According to an e-mail to me from Owen Thomas, as well as a comment to his December 15, 2006 "Vista's Database Failure" blog post on the subject, IBM said they had withdrawn the download for a bug fix and reinstated the download today (after the first set of today's updates were posted). However, he didn't mention in his article, comments, or the e-mail that the Vista-enabled version was a technology preview, not a fully released version.

It's doubtful that any rational IT executive would abandon SSX on a Vista upgrade for a promise that IBM might sometime deliver a DB2 9 Express-C Vista release—let alone a technology preview.

Most technology reporters I know look beyond press releases to verify a new or upgraded product's status.

Note: DB2 9 Express-C has the fewest operating restrictions of the three Express products: "DB2 Express-C can be run on up to 2 dual-core CPU servers, with up to 4 GB of memory, any storage system setup and with no restrictions on database size or any other artificial restrictions." The license agreement confirms these two restrictions.

Subsequent DB2 9.1 Express-C installation: On December 19, 2006, I installed DB2 9 Express-C for Windows Vista on a Gateway S-5200D system with a 2.8-GHz Intel Pentium D(ual Core) processor, 2 GB RAM, and an nVidia GeForce 6600 GPU with 256 MB RAM. The installation process threw an 'ADM10500E Health indicator "Monitor Heap Utilization" ("db2.mon_heap_util") breached the "upper" alarm threshold of "95 %" with value "100 %" on "instance" "DB2"' error, several 'Faulting application db2InstallEventLog.exe, version 9.1.100.164, time stamp 0x457d788d' errors, and many warnings but ran to completion. During operation, the Java Launcher throws "The color scheme has changed" notices on startup. It appears to me that the Technical Preview needs a few warts removed.

IBM DB2 Add-In for Visual Studio 2005 installation: I also installed and confirmed compatibility of the IBM DB2 Add-In for Visual Studio 2005 with the Visual Studio 2005 Service Pack 1 Update for Windows Vista Beta. I connected to my DB2 instance with my Domain Admins account with the native IBM DB2 Data Provider for .NET Framework 2.0, created a Data Source from the SAMPLE database's PRODUCT and INVENTORY tables, and tested DataGridView and details data entry forms.

Note: Microsoft released VS 2005 SP1 for other platforms on December 14, 2006.

The only reference to Oracle support for Windows Vista I've been able to find is his vague statement from Tom Haunert in the special 2006 Windows edition of Oracle Magazine: "Oracle is working with Windows Vista and other Microsoft technologies today in order to provide Oracle customers with new solutions for Windows tomorrow."

Note: Oracle XE's minimum server component diskspace requirement is 1.6GB, making the product impractical for use as a client-side data store. Clients also require installing the 75-MB client component.

My Experiences with the SSX SP2 November 2006 CTP for Windows Vista

I installed the Windows Vista Ultimate Edition RTM (Gold Code) from the MSDN site on a Gateway S-5200D with a 28-GHz Pentium D, 2 GB RAM, and 180-GB SATA drive. I then installed SQL Server 2005 Express Edition with Advanced Services SP2 - November 2006 CTP from the download site. I included SQL Server Reporting Services (SSRS) and Full-Text Search (FTS) features and accepted the default options when running the installer. I then specified TCP/IP and Named Pipes connectivity and enabled CLR Integration with the SQL Server Surface Area Configuration Tool.

I then began creating, updating, and upgrading databases up to 1.2GB in size from SSX and MSDE 2000 running under Windows XP and Windows Server 2003. The only issue I encountered was failure of the Surface Area Contriguration Tool to open a port for SQLServer.exe in Windows in Windows Firewall. (The tool opened UPP Port 1434 for the SQL Browser service but not for the randomly-assigned TCP/IP port for the non-default OAKLEAF-WV20\SQLSERVER named instance.) I haven't tested SSRS or FTS extensively so far, because none of SSX's no-charge competitors offer these high-end features.

After serveral days of testing, the Application event log showed a single "The configuration of the AdminConnection\TCP protocol in the SQL instance SQLEXPRESS is not valid" error message, which I attribute to SSX's lack of a dedicated administrative connection.

The October [sic] CTP end-user license agreement (License_EXPRCOMP_ENU.txt) in the \Program Files\Microsoft SQL Server\90\EULA folder requires "another agreement" from Microsoft to "test the software in a live operating environment" but doesn't tell you how to obtain such an agrement.

The same EULA (and License_EXPR_ENU.txt for SSX SP1) states that "Microsoft provides Internet-based services with the software. It may change or cancel them at any time." The EULA doesn't define "Internet-based services." However, loss of use with or support by Internet Information Services (IIS) 7.0 would be a disaster for many small organizations who depend on SSX as a Web site datasource.

However, I don't believe any of the preceding issues will affect Microsoft's future revenue stream from Windows Vista or SQL Server significantly.

It appears that the impending Orcas December 2006 CTP won't incorporate several important elements of the LINQ May 2006 CTP. According to the "The December Orcas CTP and SP1" topic of Charlie Calvert's December 18, 2006 post, Community Convergence XV, the December 2006 CTP will include "many of the features from the May LINQ CTP," specifically "most of the LINQ to Objects feature set." Update 12/29/2006: The Orcas December 2006 CTP has moved to January 2007. See Orcas December 2006 CTP Delayed to January.Charlie goes on to say:

In the February CTP, the team aims to complete the process by adding support for LINQ to SQL, LINQ to Entities and the LINQ Designer. ... The May LINQ CTP still contains some features, notably LINQ to SQL, which are not likely to be part of the December Orcas CTP. [Emphasis added.]

The probable absence of LINQ to SQL from the Orcas December 2006 CTP indicates to me that the ADO.NET team's entire Entity Framework, which includes LINQ to SQL, LINQ to Entities, Entity SQL (eSQL), and the Entity Data Model Designer, might be missing from this CTP. I quoted Pablo Castro in my Orcas December 2006 CTP Coming with New LINQ/EDM Bits post:

As we make progress on the Orcas release of Visual Studio, the various teams—including ourselves—are working hard at integrating everything in a single product, Visual Studio Orcas. For the ADO.NET Entity framework this means that you won’t see component-specific CTPs any more for Orcas, and instead you’ll see Orcas CTPs that have all these technologies incorporated. We may still do separate CTPs of related technologies if we see that it would help at some point in time.

Also, since the ADO.NET Entity Framework is in the Orcas builds, we don’t need the generic “vNext” token for it; from now on we’ll refer to it simply as ADO.NET Orcas, which will include the ADO.NET Entity Framework and LINQ to ADO.NET in its various flavors (LINQ to DataSet, LINQ to SQL and LINQ to Entities).

The handwriting on the wall says we might need to wait for the February CTP to see an update to the ADO.NET vNext August 2006 CTP.If you want to continue to work with LINQ to SQL, you'll need to run the LINQ May 2006 under VS2005. It appears that newly-released VS 2005 SP1 and the LINQ May 2006 CTP have created their own version of DLL Hell. You should install the LINQ May 2006 CTP bits after installing VS 2005 SP1. In his Installing Visual Studio 2005 Service Pack 1 and the May LINQ CTP post, Charlie suggests that you:

For developers using Visual Studio 2005 on Windows Vista, Microsoft is in current development on an update to Service Pack 1 called the 'Visual Studio 2005 SP1 Vista Refresh Beta’. This update builds on the improvements made in SP1 and delivers a first class experience for developers wanting to take advantages of the new features in Windows Vista. The Visual Studio 2005 SP1 Update for Windows Vista is expected to ship after the consumer availability of Windows Vista in Q1 of 2007 and is now available in beta.

Thursday, December 14, 2006

Microsoft's Vista has widely inspired the "Why do I need that?" question, which past "killer applications" have answered in different ways for different platforms during three decades of personal computing.

Note: The original VB for Windows 1.0 manual, as I recall, had "Version 1.0 for Windows and OS/2" on the cover. As the slide states, Microsoft didn't release the OS/2 version. Peter's blog item for the presentation is here. His comment on this item is here.

I was an Escher beta tester and recall being underwhelmed by the final product, which Microsoft released in September 1992. At the time, I was working with the "Rawhide" Professional Extensions for VB 1.0, and writing my first book, Using Visual Basic, for Que Publishing. The full story is in "An (Almost) Lifetime of BASIC."

Anders Hejlsberg, Microsoft Technical Fellow and chief architect of the C# language, gave two LINQ-related presentations at Tech•Ed Developers 2006 (a.k.a. Tech•Ed Europe 2006) held in Barcelona on November 7 to 10. Microsoft EMEA recently posted videos and slides of the two sessions on their "ShOtime" site. There isn't much new in the presentation contents but—if you're new to LINQ and C# 3.0—you should find the topics interesting.
Visual Studio: The .NET Language Integrated Query (LINQ) Framework Overview

Modern applications operate on data in several different forms: Relational tables, XML documents, and in-memory objects. Each of these domains can have profound differences in semantics, data types, and capabilities, and much of the complexity in today's applications is the result of these mis-matches. Anders Hejlsberg, Technical Fellow and chief architect of the C# language will explain how the Orcas release of Visual Studio aims to unify the programming models through LINQ capabilities in C# and Visual Basic, a strongly typed data access framework, and an innovative Application Programming Interface (API) for manipulating and querying XML.

Join Anders Hejlsberg for an in-depth walkthrough of the new language features in C# 3.0. Understand how features like extension methods, lambda expressions, type inference, and anonymous types make it possible to create powerful Application Programme Interfaces (APIs) for expressing queries and interacting with objects, XML, and databases in a strongly typed, natural way.

Tuesday, December 12, 2006

Mike Pizzo, an Architect on the Data Programmability team at Microsoft, has started a four part series that captures the history of Microsoft's alphabet soup of data access APIs and the layout of acronyms to come. Here are the topics, with a link to the first two:

It's back to the "early years" for Access 2007. The Access team now recommends abandoning Access Data Projects (ADPs) with SQL Server tables connected by OLE DB to DocObject front ends and ADODB in favor of old-timey ODBC-linked tables and DAO.

Here's Mike's take on ODBC and DAO in Access:

And then something happened. Visual Basic became popular as a scriptable "automation language". ODBC, being a C-style interface, was not directly consumable from VB. However, some of you clever folks figured out that Microsoft Access supported executing queries against ODBC Datasources, and that Access did support scriptable automation through its Data Access Object (DAO) API. Voila! Now you could write applications against ODBC sources using VB.

However, DAO went through Access's internal "Jet" (Joint Engine Technology) database engine, which defaulted to building local keysets for each result in order to do advanced query processing and cursoring against the remote data. This was fine if you needed that functionality, but significant performance overhead and additional round trips when you didn't.

Déjà vu all over again! DAO is the only API that supports the new Access Attachment data type, multi-select lookup fields, and "rich-text" and append-only memo fields of SharePoint lists.

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://131.107.228.20 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).

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:

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.

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.

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:

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.

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.

Well said. I'd like to hear Jon's thoughts on LINQ for XSD, despite it's Alpha 0.1 preview status, and PLINQ, which doesn't yet have a publicly available implementation.

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."

We are looking to ship [Orcas] the second half of next year. We will start having full Orcas CTP drops (of all technologies) starting later this summer, and will also have a go-live license of Orcas before the final RTM date. So not too far off now when you can use the above [LINQ]techniques in production.

Things will get even better next year with Visual Studio “Orcas” where we are adding rich JavaScript [I]ntellisense, debugging and WYSIWYG designer support for the ASP.NET AJAX Extensions within Visual Studio
and many other great features to take advantage of.

Visual Studio "Orcas" will slip into 2008. While most developers and partners with whom I've spoken consider Visual Studio "Orcas" to be a 2007 deliverable, few Microsoft developer division officials have called the product "Visual Studio 2007." I'm hearing rumblings of an early 2008 product.

I Googled. I Live-Searched. I Asked.com. I couldn't find any proof that any Microsoft official actually said the words "Orcas will ship in 2007" — at least in an on-the-record form. (If anyone else can find such a statement, please do share!)

As I and other Microsoft watchers know quite well, Microsoft has been setting expectations since 2005 that it plans to ship the next version of Visual Studio in 2007. No one at Microsoft has sent me a nasty note when I've noted in countless articles and blog posts that Orcas is expected to be a 2007 deliverable. And if past behavior counts for anything, the Visual Studio team has been good about churning out new tool-suite releases every two years.

I'm not certain that ScottGu qualifies as a Microsoft official; he's not in the Microsoft Executives list. But he said at least twice that Orcas was scheduled for a 2007 RTM, and he certainly convinced me. On the other hand, Mary Jo has a great batting average for reportorial accuracy in my book. Type Foley in the text box and then click SEARCH BLOG to find my prior references to her articles.
Stay tuned.Subsequent events (12/12/2006)It appears that the party line is the second half of 2007. Here's an outtake from a 12/12/2006 LINQ to SQL chat from Microsoft's Amanda Silver:

The dual Web role application has been running in Microsoft's South Central US (San Antonio) data center since September 2009. I believe it is the oldest continuously running Windows Azure application.

About Me

I'm a Windows Azure Insider, a retired Windows Azure MVP, the principal developer for OakLeaf Systems and the author of 30+ books on Microsoft software. The books have more than 1.25 million English copies in print and have been translated into 20+ languages.

Full disclosure: I make part of my livelihood by writing about Microsoft products in books and for magazines. I regularly receive free evaluation software from Microsoft and press credentials for Microsoft Tech•Ed and PDC. I'm also a member of the Microsoft Partner Network.