'Volta': Microsoft's dev platform in the Cloud?

What is Microsoft's Live development platform? Microsoft is promising to tell all next week at Mix '07. But there are clues out there that lead to a new Microsoft project code-named "Volta," which is being developed by the "Tesla" team. In short, it's all about "democratizing the Cloud."

Next week is Microsoft's much-touted Mix '07 conference. Microsoft has been saying for months that the company will share its vision for its Live development platform at the Las Vegas show.

No one from Microsoft is ready or willing to talk publicly about the details yet. Soma Somasegar, the Corporate Vice President in charge of Microsoft's Developer Division said last week that Microsoft would spill all at Mix, which kicks off on April 30 (the same day that Microsoft plans to make available the beta of its Silverlight/Windows Presentation Foundation Everywhere tool).

"We want to make sure the programming model is consistent across the cloud, desktop and devices," Somasegar said. That means a consistent set of tools and technologies -- developer services, consumer services and extended services -- across all of these platforms."

Since Microsoft's programming model is the .Net Framework, does this mean Microsoft is going to sneak all or parts of the .Net Framework into cross-platform deliverables like Silverlight (which Microsoft already has demonstrated running on Internet Explorer, Safari and Mozilla browsers across Windows, Mac OS X and Linux)?

Somasegar's response: "Silverlight lets you deliver media experiences. But we also want to be able to use it to deliver .Net programming constructs on other platforms."

But which programming constructs? Somasegar wouldn't go any further.

Luckily, there've been some hints over the past couple of months that I'm starting to piece together as to what Microsoft's Live dev platform might look like.

Clue No. 1: LINQ 2.0 is about "democratizing the cloud." Microsoft SQL Server Architect Erik Meijer, one of Microsoft's big-picture thinkers, has been talking about these concepts for a few months. What is democratizing, in this context? Meijer says: "[T]rying to stretch the .NET framework to cover the Cloud such that it will become possible to incrementally and seamlessly design, develop, and debug complex distributed applications using your favorite existing and unmodified .NET compiler and deploy these applications anywhere."

Clue No. 2: "Tesla" is the missing link/LINQ: Meijer is heading up something called the Tesla incubation project at Microsoft. Tesla, as Microsoft history buffs may recall, originally was all about desktop search and tagging. Now it's about "democratizing the cloud." From Roger Jennings' OakLeaf Systems blog: "One approach the Tesla team is investigating to give democratized VB applications greater reach is compiling CLR IL (Intermediate Language) to JavaScript. An alternative is to compile IL to Perl 6 and then compile Perl to JavaScript with an existing implementation. The Perl 6 group also is working on compiling Perl 6 to the CLR IL."

Clue No. 3: "Tesla" leads to "Volta": Still with me? Here's another clue. The Tesla folks are working on a project code-named "Volta." Volta is all about compiling any MSIL (Microsoft Intermediate Language) assembly into cross-browser-compatible JavaScript. That means by using existing .Net and SQL Server tools, developers -- at least in theory, will be able to write a single-tier, client-based application that will be able to be repurposed as a distributed Ajax application.

(By the way, for you code name buffs: Nikola Tesla and Alessandro Volta were both pioneers in electricity.)

Freelance writer Tim Anderson explained this concept after hearing Meijer's "Democratization" talk last month. Anderson blogged:

"Meijer doesn’t envisage having to distribute a runtime engine such as .NET, the JVM (Java Virtual Machine) or Flash. Rather, he wants to use what is already available. Therefore he envisages .NET IL (intermediate language) binaries becoming a universally executable format. The runtime could be the CLR (Common Language Runtime), or the JVM, or the Flash player, or the browser. This would be transparent to the developer, because some intermediate piece would translate the .NET IL to JavaScript, or Java, or a Flash SWF. or somehing else."

Anderson likened this approach to what Google is doing with the Google Web Toolkit. He explained:

"This is a little similar to the concept behind the Google Web Toolkit, which lets you code in Java but translates your code to JavaScript. The idea is that you code in whatever language you like, provided that it compiles to IL."

So back to the original question: What is Microsoft's Live development platform? Sounds like it's all about Volta. Anyone else see other dots to connect here?