Tuesday, November 11, 2008

Microsoft PDC 2008 - Better Late Than Never

By "Better Late Than Never, " I'm referring both to my delayed post and the fact that PDC was cancelled last year and rescheduled for this year. For those who don't know, PDC is the Microsoft Professional Developers Conference that was held in Los Angeles at the end of October (10/26 - 10/30). It is scheduled "as-needed" and provides Microsoft with a stage to unveil new platforms, tools, applications, etc. to a few thousand tech geeks and a bunch of press folks. I was mainly Twittering about it this year, so I'm a little behind on my blogging. Here's a recap of some of the main items introduced at the conference this year. Some of the information is a little fuzzy as the final workings of the technologies were not made 100% clear. It's possible that even Microsoft folks are a little unsure as well.

Microsoft Azure
Azure was the major unveiling for the conference. It is Microsoft's cloud computing platform and is somewhat similar to Amazon's EC2 with a Microsoft spin. Basically, Microsoft is ramping-up their data centers around the US (eventually around the world) to house tens if not hundreds of thousands of servers upon which Azure versions of all of their business platforms will be available. These include Live Services, .NET Services, SQL Services, Microsoft Dynamics CRM Services, and Microsoft SharePoint Services. You can then write applications that run locally and take advantage of any or all of these services running in Azure. Alternatively, you could host your entire application in the Azure cloud and not maintain local servers. The usage fees were not spelled-out, but there was reference made to each application being able to "expand" and "contract" automatically to satisfy user demand.

Windows 7
Although Windows 7 was already in the news, PDC was the first public unveiling of the Vista successor. Microsoft claims to have gone through every piece of Vista with a fine-tooth comb, from the kernel to the user interface, and tweaked just about everything. Here are some noteable items that were demonstrated during the keynote and subsequent classes.
  • The architecture for Windows 7 has been completely modularized allowing for custom versions to be easily assembled. For instance, Microsoft is planning to release a slimmed-down edition for netbook computers. Even the full version, with all the bells and whistles, requires far less horsepower to run than Vista.
    • I'm planning to install the pre-beta release of Windows 7 I received at the conference on an Acer Aspire One netbook with a 1.5GHz Atom processor and 1GB of RAM (once the PC arrives at my house this afternoon). To prove a point, Steven Sinofsky, the head of Windows development, has been running Windows 7 on a netbook with even lower specs as his primary PC for the last couple months.
  • Development is being synchronized with Windows Server 2008 R2 so that the two work in harmony with some of the new features.
  • The User Account Control (all those warning pop-ups) has been toned-down. It became clear that users either disabled UAC in Vista or became numb to it and approved everything. In Windows 7, it will be less annoying and customizable.
  • The Taskbar has been replaced by the Superbar. If you're familiar with Mac OS X, you will notice many similarities, but MS has taken things a bit further. Instead of trying to explain everything here, this site has a decent video that shows the Superbar along with the new Jumplist and Aero Peek features. Technically, there's even more to Aero Peek that allows you to get a full-size preview of the window as it would open on the desktop were you to click on one of the thumbnails. It also allows you to temporarily make a window transparent so that you can "peek" at what's behind it.
  • Aero shake is a very unusual feature that allows you to grab a window and shake it to minimize all other windows. Shaking the one window again will bring the others back
  • Notes for many more features are available online, but these are the main ones that were demonstrated.

Windows Server 2008 R2
A really interesting feature was introduced for both Windows 7 and Windows Server 2008. I'm including it here to make it stand out from the big list of Windows 7 items. Basically, Microsoft claimed that you will be able to boot a physical computer (destop or server) from a virtual PC instance that you've mounted as a mapped drive. It's a little difficult to explain what this means, but I'll try. Let's say you have a single server that's running several virtual servers and you're hosting a website that gets really busy at Christmas. To satisfy the demand, you want to set up an extra, physical server and dedicate it to the application (no virtualization). The idea is that instead of spending the time to install the application on the new server, you can simply put a copy of the virtual PC image on the server and then cause that server to boot to the OS, applications, etc. that are on the virtual PC image without actually running the virtual PC itself. It's as if the virtual PC image has become the C drive for that server. The same can be said for desktop applications. At the conference, we got a virtual PC image in which to test a beta build of Visual Studio 10. I can put that image on my netbook after installing Windows 7 and actually set the netbook to boot to the OS encapsulated within the virtual PC instead of booting to the typical OS and then running the virtual PC on top of this. Of course, this assumes that the feature is enabled in the Windows 7 build I have, but I'll know soon.

Live Mesh
Live Mesh is a synchronization framework that allows data to be shared across multiple devices (Windows, Mac, mobile). The Beta for this is actually available now. You can go to the Live Mesh site, sign up, register various machines, install the software, and set up folders to automatically synchronize across all of them and your online desktop. There is also an API for synchronizing application data. Read more about this in the Office 14 section below.

Visual Studio 10
Not too much was said about Visual Studio 10. Perhaps that is why they've already announced PDC 2009. Having two back-to-back is unusual since they are typically held at least 2 years apart. The only item of note that I have is that the new version of Visual Studio is actually built as a Windows Presentation Foundation application. It's good to see Microsoft really using its own tools. I believe that future versions of Office and other applications will also use WPF and .NET.

Office 14
Microsoft announced that mobile and online versions of Word, Excel, PowerPoint, and OneNote will be made available at the same time as the next desktop version of Office. The online versions are supposed to be cross-browser/cross-platform compatible. Also, all versions (local, online, and mobile) will be built using Live Mesh to allow document synchronization. They gave a demonstration of multiple people simultaneously working on the same document from a local copy, online, and via a mobile phone. They were able to collaborate and see eachothers' changes. For personal use, there will likely even be free versions of Office online available similar to Google Docs, Google Spreadsheets, etc., but the experience will be very similar to the desktop versions.
A really interesting feature is that corporate customers wishing to use Office online will have the ability to license and host their own versions (for data security). Depending upon the size of the company, this option could be significantly cheaper than buying licenses for desktop copies of Office for every employee while still being secure.

Surface
There were some interesting demos for the Microsoft Surface (table-top) computers both during key notes and spread throughout the conference. It's a very fun technology to play with, but I don't see too many practical applications yet. One keynote demo, however, showed a very fascinating take on the surface that allowed to to see one thing on the surface screen and something completely different on a screen held above the surface. I believe that was on Wednesday morning, and it's worth watching.

ASP.NET AJAX Future
Microsoft is doing some very interesting things with their next release of ASP.NET AJAX. Without going into too much detail because nothing is finalized yet, they are basically adding a bunch of functionality that you would normally only find on the server end. This includes event handling, data binding, and more but written in such a way that it is completely compliant with XHTML and JavaScript standards. It's a little unusual to look at, but it functions simlar to .NET code on the server side. You create a control in HTML, use JavaScript to bind a datasource to it, and ASP.NET AJAX takes care of the rest (like requesting the data from the server, receiving the data back in JSON format, and then rendering the data as browser-compliant HTML). You can find out more at the ASP.NET AJAX website.

Microsoft Boku
For me, this was probably the most interesting keynote demo. Boku is a project from Microsoft Research that should be available early next year. It's basically a way to get people of all ages (particularly kids) interested in computer programming by allowing them to build their own games using a very clever, icon-based system that is all controlled using a gamepad (on a PC or an XBox 360). You really have to see the videos on the Boku site to understand, but I'm already looking forward to spending some time using it with my daughter so that she has a better understanding of computers and what her Dad does for a living. The depth of what you can build very easily without even using a keyboard is amazing.

No comments: