News

Conquering the Cloud

MIX07: Inside Microsoft's radical vision for cross-platform Web development.

In years to come, MIX07 may be remembered as the place where Microsoft unveiled its wide-ranging plan to tackle the rich Internet application (RIA) space through a Web development platform spanning from the back-end to the desktop to the browser, and even into enemy territory -- the Mac.

MIX07 -- RIA Strategy Revealed"The word that came to mind for me was 'crescendo,'" says Burton Group Research Director Peter O'Kelly. At MIX07, he says, Microsoft "brought together a bunch of pieces that beforehand looked loosely connected or not at all."

The biggest bombshell dropped at the Las Vegas conference in late April was the news that Silverlight, Microsoft's new cross-platform browser plug-in for rich media and content, will include the Common Language Runtime (CLR) native to .NET.

The capability will allow developers to program against Silverlight for both Windows and Mac environments -- though not Linux -- using any .NET-supported languages as well as tools like Visual Studio and Expression Studio. In other words, .NET-based apps can be piped through browsers almost everywhere.

The newly announced capabilities, along with support for Microsoft's Language Integrated Query (LINQ) and cross-platform debugging capabilities, are featured in Silverlight 1.1, now in alpha release.

But there was much more. Microsoft also eased up on the terms of use for its Windows Live hosted-service APIs and announced a new Dynamic Language Runtime that will sit atop the CLR with support for Python, JavaScript, Visual Basic and Ruby.

To back up the dynamic language support, Microsoft showed off its work on projects code-named "Jasper" and "Astoria" to create new, agile databases and to make data easily accessible to Web apps with standard HTTP commands. Redmond has created a new back-end support system as well, through its Silverlight Streaming service, which will provide free hosting and delivery of media for Silverlight apps.

Microsoft also gave a nod to the open source community -- where dynamic languages find some of their most avid adherents -- by announcing an implementation of Ruby for .NET, dubbed IronRuby. Like the previously released IronPython, the source code will be released to the open source community. It's uncertain whether this support will lure open source advocates into the .NET fold, however. (See "Open Source Community Skeptical About Silverlight.")

Taken together, the flurry of MIX announcements represents a major push into the RIA space, where Microsoft faces a formidable and entrenched competitor in Adobe Systems Inc.

"I think Microsoft doesn't move into an area until they can slaughter it," says .NET developer and blogger Robert McLaws. "This is the first step in a long-term plan."

Ray Ozzie offered a suitably sweeping take on Microsoft's Web development strategy during his keynote.

"Back in the '80s, at the dawn of the PC revolution, the explosion in PC demand was fueled by the ability to create documents, words, numbers, charts, presentations," Ozzie said. "We're delivering a complete family of tools and framework for the design, development and deployment of media-rich applications from Silverlight on the Web to the full .NET Framework in Windows, from Visual Studio for developers to Expression Studio for designers."

Ray Ozzie
Microsoft's Chief Architect Ray Ozzie gave a keynote address at MIX07 on the company's rich Internet application vision.

Driving Adoption
It's one thing to unveil new technologies and shower them with hype and another to get developers to actually use them.

Part of Microsoft's plan to drive adoption is to bridge the gap between developers and designers with its Expression suite of design tools. According to Microsoft, projects designed in Expression or developed in Visual Studio can be easily passed back and forth between the two toolsets via the Extensible Application Markup Language (XAML).

Despite a designer-heavy crowd at MIX07, which left some keynote revelations about new development technologies greeted by uncomprehending silence rather than applause, O'Kelly says breakout sessions were packed with .NET developers looking to wring value out of the new technologies.

That value will be in Silverlight's more advanced capabilities, says Forrester Research Inc. analyst Jeffrey Hammond. "For enterprise and applications developers looking to do these rich Internet applications, they're looking to the 1.1 version [of Silverlight]," he says. "If you're not already a JavaScript expert, do you really want to take the time to learn all the AJAX it takes to do these RIAs?"

MIX07 attendee Rick Garibay, a program manager with an ASP.NET shop in Phoenix, certainly doesn't. "As an enterprise developer, as an architect, the big news is really having a rich Internet application experience that's perhaps comparable to a smart client to the Windows form that's actually doable. I'm not wasting hundreds of man hours debugging JavaScript or AJAX."

Hammond also expects the 1.1 release's support of ASP.NET, VisualBasic (VB) and C# to launch Silverlight into the enterprise and drive rapid adoption.

Judging from the enterprise clients he works with, Hammond says, "I think enterprise IT is looking at this Silverlight and Apollo technology as the successor to the 4GL and Visual Basics of the world, which they used to build client-server apps in the '80s and '90s. There's a whole class of enterprise apps that have yet to migrate onto the Web because they require this kind of rich user interface."

But corporate cultures may slow that move. Raj Kaimal, a systems analyst in Texas, says he's excited but has concerns about the browser plug-in for Silverlight. "Installing a plug-in is a question mark right now," he says. "We have to first convince IT that this is a great product developed by Microsoft, it's going through a software development lifecycle, etc."

Familiarity with established ASP.NET and AJAX technology, which don't require a browser plug-in, could also slow Silverlight adoption, he suggests.

Microsoft says any type of back-end Web system or technology can be used with Silverlight, but the company is clearly hoping developers will instead turn to Silverlight Streaming. The new media-hosting service will enable developers to stream into their Silverlight apps high-quality video and other media stored for free on Redmond's servers.

Key Limitations
The CLR included in Silverlight is a scaled-down version, meaning it won't be possible to mix and match existing .NET assemblies in Silverlight apps, says Keith Smith, group product manager for Silverlight. "Because we have a subset of the .NET Framework and a subset of the Windows Presentation Foundation [WPF], assemblies that are targeting one of the CLR versions won't work with the assemblies targeting another," he says. "The full WPF experience will be its own project type, its own assemblies, its own namespaces."

Also, Silverlight contains only a subset of WPF's capabilities, omitting functionality such as hardware acceleration and access to active devices -- a move the company calls an intentional tradeoff of power for security. A third, more immediate shortcoming is a lack of tool support. Third-party vendor Telerik Inc. beat Microsoft to the punch by unveiling a set of Silverlight controls before Redmond.

"What we're going to do is have an out-of-band release for the Silverlight capabilities as soon as Visual Studio 'Orcas' releases," says Smith. "You'll get Visual Studio Orcas and then you'll have the ability to download the Silverlight authoring capability."

Brad Becker, group product manager for Expression Studio, suggests the precise shape of Microsoft's Silverlight tools strategy hasn't been nailed down: "I can't elaborate, since we're still perfecting what we're going to do."

It's also unclear whether Microsoft will ever introduce support for Linux and related browsers like Opera. Smith provides only a party-line answer. "We're going to go with the demands that our customers are saying are hugely important to them," he says.

All About Adobe
The MIX07 news fuels Microsoft's competition with rival Adobe for mindshare among RIA developers.

Microsoft is unquestionably late to the fight with Silverlight. But the company has a massive user base in place through its browser and operating systems that it can leverage to distribute and foster the new technology. Adobe's Flash technology, meanwhile, is already a ubiquitous part of the Web experience, enjoying penetration often estimated in the 90-plus percent range. O'Kelly says Microsoft should not underestimate Adobe. "[Adobe is] the incumbent in the space. [Microsoft has] nascent products going into a space where Adobe has been dominant for about a decade."
Smith, the Silverlight product manager, downplays the idea that Microsoft is directly competing with Adobe, saying any implication Silverlight and the other new Microsoft tools are clones of Adobe's offerings is "categorically false."

Smith says Microsoft is simply building on its previous history in Web and client development, citing ASP.NET, IIS and WPF. "One of the commonalities is the .NET Framework," he says. "We have millions of developers here today building business on the .NET Framework who are coming to us and saying, 'Hey, we want to start building solutions that work cross-platform.' That's what Silverlight is about."

Scott Guthrie
Microsoft Developer Division General Manager Scott Guthrie went deep into Silverlight's cross-platform capabilities.

Delivering Data
You can't have RIAs without robust support for data retrieval and manipulation. And here, too, Microsoft is promising to deliver.

Microsoft held a MIX07 breakout session to highlight its work on the project code-named "Astoria," the company's experimental Web data services initiative. Microsoft bills Astoria as a way for application developers to access and publish data across the Web more easily and directly than via SOAP-based programming. Astoria allows programmers to pull data from a SQL server into their applications over the Internet or a corporate network using standard HTTP commands, the company says.

RedMonk analyst Michael Cote says he expects Astoria eventually to become the RIA back-end to Silverlight.

"Once you put Silverlight and Astoria together, you can see that Microsoft is building out a new development platform targeting a Web-minded way of development," Cote says, adding that rival Adobe is doing the same.

Another new Microsoft data-access initiative also saw daylight at MIX07. Code-named project "Jasper," the effort aims to bring agile development to databases. Microsoft says Jasper allows developers to start interacting with data in a database before they've even created mapping files or defined classes. Despite its agility, Jasper, like Astoria, is built on top of the ADO.NET Entity Framework and therefore supports rich queries and complex mapping, according to the company.

However, the first incarnation of Visual Studio Orcas will not include the ADO.NET Entity Framework, the company recently announced.
comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube