VS Beta 2: Bug Fixes, Final Features, Polish and Shine
The folks in Microsoft's Developer Division probably didn't mind the damp and drizzle of summer in Seattle as much this year, as they worked feverishly to polish the next iteration of the mothership.
So far, it looks like the long hours paid off. Beta 2 of Microsoft's Visual Studio (VS) 2008 IDE and .NET 3.5 landed, fully loaded, the last week in July.
"We are finally feature-complete with Orcas," said S. Soma Somasegar, corporate vice president of the developer division, in a Channel 9 video that coincided with the release. "When we shipped beta 1, we had a few features left that we had
to get done; we were maybe 70 or 80 percent complete at the time."
For developers, that means the feature set is pretty much locked. Microsoft reports close to 400,000 downloads of all of the VS2008 builds during the preview and beta cycles. "When you consider that it's a multi-gigabyte download, that's pretty amazing," says Prashant Sridharan, Microsoft's group product manager for Visual Studio.
Visual Studio 2008 is 99.9 percent feature-complete, according to Sridharan, with minor tweaks, such as fixing disabled menu items and bugs still on the horizon. "We expect to hopefully RTM sometime in December. It could be a little earlier than that," he says.
That's a few months ahead of its "official" February launch alongside Windows Server 2008 and SQL Server 2008. The new IDE is an incremental upgrade that offers new tooling and design surfaces for Microsoft's recent parade of platforms -- Windows Vista, Office 2007, ASP.NET AJAX, Silverlight 1.0 and the upcoming Windows Server 2008.
Beta 2 offers an expected GoLive license to developers who want to use the new .NET APIs in production environments without technical support. However, the real selling point for VS2008 may be the new data-programming model Language Integrated Query (LINQ).
"Of all the features in Visual Studio 2008, LINQ is the most interesting, because it's aimed at a problem that developers already know that they have, which is writing apps that access data from databases," says Greg DeMichillie, an analyst at Directions on Microsoft, who previously worked on the C#, C++ and .NET development teams at Microsoft. "At this point, I would focus on LINQ
and what it can do for you in terms of overall app development. If you're already using Windows Presentation Foundation or Windows Communication Foundation then Visual Studio is interesting because the tools are going to catch up with the platform a bit, but there aren't a lot of developers who are doing that -- that's more forward-looking. LINQ is the reason to upgrade."
What's new in beta 2? Expect significant improvements in LINQ to SQL, which allows developers to use LINQ against a relational database to query, update and insert data. According to Microsoft, the IntelliSense is more refined, and developers can now databind against LINQ from Windows Presentation Foundation (WPF) apps and Web Forms.
Developers who worked on LINQ projects in beta 1 will probably have to rebuild their DBML schema files for
beta 2, an issue noted by several bloggers and experienced firsthand by Rockford Lhotka, principal technology evangelist at Magenic Technologies Inc. "The one gotcha is that I had to recreate my file
that defines the link between the database and .NET objects because it wouldn't open," he explains. "Once I did that, the designer does look like it has got some more features and is more complete."
Lhotka started working on what he calls "substantial-size projects" in beta 1. As for beta 2, he says, "All the things that I've been working on are still here and continue to work -- so I'm happy."
But beta 2 won't provide satisfaction for developers who're looking to learn more about the ADO.NET Entity Framework. Microsoft made the decision in May to move that technology, along with LINQ to Entities, back into a community technology preview (CTP) just days after releasing VS beta 1. The tooling isn't in beta 2 and is now slated to ship as an add-
on in the SQL Server 2008 timeframe.
Fit and Finish
Much of the tooling in the first beta looked to be on track, outside of bugs or some missing features. However, many developers expressed frustration with the WPF Designer, especially with regards to events handling in design mode. In beta 2, the functionality is on par with what Microsoft has been promising all along, observes Lhotka.
"You're going to have to use Expression Blend to do an awful lot of UI design work, or else you're going to be disappointed," he says. "But it is the case that at the very least you can double-click on a button and it will hook up the event for you." Outside of making the UI "appearance beautiful," the WPF Designer in Visual Studio is sufficient for getting the functionality correct, for example by creating a data-entry screen, he says. When a reader of his blog asked about "events" in design-mode, Scott Guthrie, general manager of the developer division, wrote: "The roadmap plan is to enable wiring up all events via the property grid as well (like you can with Windows Forms and ASP.NET). We are still working to figure out whether this will be done in the final VS 2008 release or in SP1."
Many little things have also been improved in beta
2, such as more complete dialog boxes, improvements in how things are laid out, the ability to zoom the display,
or the quality of how a developer's work is rendered onscreen. "From Microsoft's perspective, I'm sure these things were a lot of work," says Lhotka, "but from a
developers' perspective, we look at this as fit and finish."
Better Web Design
Microsoft is also ratcheting up its tooling for Web developers. Beta 2 adds the WYSIWYG Web Designer -- based on the same engine as Microsoft's Expression Web Designer -- which includes a split-screen for viewing both HTML layout and code. Developers can now create nested Web pages and have better tooling for
CSS integration, according to Microsoft. A new
is also a lot more refined, according to Guthrie.
ASP.NET AJAX version 3.5 is integrated in .NET
3.5 beta 2 and the tooling is available in VS beta 2. Developers can now "multi-target" ASP.NET AJAX 1.0 or 3.5 from within VS2008. This functionality still has some kinks, however. Developers should heed the workarounds posted by Microsoft shortly after beta 2 dropped. The problems should be fixed by the RTM, according to a blog posting by Guthrie.
"Developers aren't really going to be interested unless they're doing some sort of Internet video for their Web site," asserts DeMichillie. "Silverlight 1.0 is about Internet video and Microsoft is just trying to get their installed base up to some reasonable number so that it becomes interesting to developers. Developers aren't really going to be interested until Silverlight 1.1, when they've actually got a programming environment with programming languages."
The release after Visual Studio 2008, code-named "Rosario," will focus on Visual Studio Team System (VSTS). Beta 2, however, in addition to bug fixes, offers roughly 25 percent more Team System-related features than beta 1, according to Microsoft Distinguished Engineer and VSTS lead Brian Harry in his MSDN blog: "For Team Foundation Server the biggest additions are the improved setup with support for WSS 3.0, port flexibility, simplified setup, etc. and improved offline support."
Harry asserts that VSTS 2008 beta 2 is ready for
production. But VSTS Web Access -- which is expected to become available as an add-on this month -- and
several Power Tools have not yet been recompiled for Team Foundation Server (TFS) 2008. The Visual Studio Team Edition for Database Professionals is integrated in beta 2, however, and part of the Team Suite setup.
Internal adoption of VSTS at Microsoft is also on the rise, according to Harry. In July, he reported "21 TFS instances in production" at Microsoft, including two on beta 2, and three on Rosario. The first CTP of Rosario will be available this month. The internal adoption plan is to upgrade the remaining TFS 2005 instances to 2008 sometime this month.
VS2008 also includes a VS Shell that extends the VS components to third-party developers. They can use the shell in Isolated Mode, so that when a third-party product is installed it doesn't merge with VS, or in Integrated Mode. The VS Shell beta 2 for VS2008 is limited to
Visual Studio Industry Partners. When it RTMs, it will be available to the general public, according to Microsoft.
After VS2008 ships, the folks in Redmond are discussing what's next in terms of the architecture and release schedule for the platform. Will VS be more modular going forward, or will Microsoft continue to offer major tools releases every few years?
"That's a really good question and I think philosophically, that's something that we haven't come to terms with inside of the development division," says Sridharan. "I think customers see a big release and they think, ‘this is a pretty major release and I need to get on that bandwagon,' and typically we're sort of at the nexus of a lot of platform activity at the company. … At the same time, the vast majority of our customers are on a subscription sale, where they get the latest version of the product no matter what, so why make them wait for features they can use right away?" In the end, he expects the pattern of releasing smaller tools and frameworks that plug in to existing technology, followed by major tools releases, to continue. The Visual Studio team has not started work on
any tooling for Windows Live, according to Sridharan.
Lhotka hopes Microsoft will remain somewhere in the middle, offering tools and technology "out of band" as they did with AJAX, and integrating a polished implementation in the next VS release. "Because Microsoft's releasing things midstream, they're increasing the level of chaos that we have to deal with," he observes. "But at the same time they're being more proactive and giving us tools earlier."