Friday, March 30, 2012

Windows 8 Developer Camp Update

I got a chance to visit Microsoft's office in Chevy Chase. MD, to attend the 2nd Windows 8 Developer Camp (in the country). And what a day it was. 

I started around 6:20 AM from my house in Mechanicsburg PA, planning to reach well before 8:30 AM, so that I could get a chance to meet the presenters in person. And also to network with other geeks. But the traffic at 270 S did hit me hard and I had to slow down. I reached around 9:10 AM... can you believe it?

Anyways, after getting a cup of (complimentary) coffee, I sat down to get the Windows 8 info into my brain.

There were two speakers - the famous Devhammer, none other than Mr. Andrew Duthie. And Frank. Frank La Vigne. They both are very enthusiastic and entertaining speakers. (Well, I got to sit near Frank when Andy was speaking and we had a nice discussion on Windows Phone and Windows 8.) Before starting on what topics were discussed, I would like to let all my geek friends know that I got to meet Jesse Liberty - yeah, the Jesse Liberty!!

Well, onto the topics of the day....

Windows 8 has two modes - Metro and Desktop. The Metro is the new mode which Microsoft has embraced as the new UI for its platforms. Metro UI is not stranger to Windows Phone fans. 

Windows 8 Platform

As you see the above image  (boxography :)) of Windows 8 platforms, we have two kinds of apps - Metro style and  Desktop style. The new attention is to WinRT (Windows Runtime) library. WinRT is not a replacement of .NET. .NET still exists. It is used if you want to continue creating Desktop apps. The focus on the day was on Metro UI, and developing apps for Metro UI. And again and again, I heard Andrew Duthie speaking out that Metro is more geared towards Tablet kind of hardware. Mobile hardware, that is. Does that mean Desktop style apps would like as we have now? Seems so.

Andrew started talking about Contracts. Contracts are a new feature of sharing your app(s) with other apps. In fact, your app need not know about other apps. And other apps need not know about your app. If you feel that one (or more) of the feature in your app could be useful for other apps, then you could share that feature using Contracts. The type of Contracts:
  • Search Contracts
  • Share Contract
Search Contracts 
By using Search Contracts, you can make your app(s) listed when user searches for a specific keyword in the search charm. See below image for example. 

The user has searched on "Bing" keyword. All the apps displayed, have set up Search contracts with keyword "Bing".

Share Contracts 
You can make a part or a feature of your app share-able to other apps.

You can find more about Contracts here and here.

Snap Support
There is a feature in Windows 8 where in an app can be snapped (docked, that is) to one side, when you are working on another app. It's like Picture-in-Picture feature is some TVs. 

As you see above, the Stocks app is snapped on the left, while you are into other activities. You can define what kind of "view" of your app should be displayed when your app is "snapped". Cool eh?

The async/await feature caught my attention. Using async/await feature, you could implement (code, that is) asynchronous calls as if you are coding synchronous ones. So cool. Code it to believe it. :)  The javascript equivalent of async/await is Promises. 

Content Vs. Chrome
They also stressed on concentrating on content than on chrome. It is so important that we should brainstorm on what content we need to deliver than on the design thingamajies (for lack of better word).  Thats the whole point of Metro. Content. Content. Content. Then a little chrome, if you may :)

The beauty of WinRT is that there are no layers of libraries. No Win32 cover-ups.  No COM wrappers. Everything is baked into one plate - WinRT. Beauty!

Andrew Duthie was more of a HTML/Javascript guy, so he emphasized on HTML and Javascript are now a first class citizens on creating Windows 8 Metro apps. HTML-CSS3-Javascript gives compelling dynamics to create excellent apps, for sure. The demos were really great. 

Frank was more of a XAML/C# guy, and he showed some cool code in which we could leverage XAML and C# (also VB for that matter), in creating apps. This was more interesting to me, as I was already developing apps for Windows Phone and I could continue learning to producing apps for Windows 8 ecosystem.

Hands On

By 2:30 PM, we started with the hands-on lab. As I had already installed Windows 8 Consumer preview on Virtual Box and the Visual Studio 2011 Express Beta, I did not waste any time for it. I jumped on to hit the hands-on - the Recipes lab with XAML and C#. I had to stop in between as I had to start by 4 PM, to avoid the traffic.  Anyways, it was indeed a terrific day of infotainment. Thanks Frank and Andrew, for a wonderful day. And thanks Microsoft.

Stay tuned, for my Windows 8 Metro articles soon.


  1. Did they have any freebies or giveaways such as free software licenses? Thanks.

  2. Yeah they did raffled a Samsung Slate.