Ales Holecek: Windows 8 Unplugged

Tags: Knockout, pubsub, observer, MVC, jQuery, Ajax, EF, Validation, FluentValidation, Visual Studio 2010, ASP.NET, JSON, FullCalendar, Silverlight, Architecture, Vista, IIS, Generics, NHibernate, WCF, RIA Services, Visual Studio 2008, SQL, STORM!, Nullable, ChannelFactory, netTCPBinding, VSPAT, responsive, design, HTML5, CSS3, MVC WebAPI, MVC 4, WebAPI, JQuery Mobile, ScheduleWidget, recurring events, Ninject, Pluggable, CQRS DDD, Windows

Ales Holecek opened the day at the p&p symposium this morning with a keynote address on Windows 8. Here are my live blogging notes that contain a mixture of his comments and my own commentary as he went along. Holecek is in charge of WinOS 8. He said that mobility was the primary driver for them when they started thinking about WinOS 8 back in 2009. Given that they promoted touch to a first-class citizen. Future releases will be optimized around touch. The holy grail for a future OS is speech but we're not there yet.

Holecek says that form factors (devices) are a moving target right now. They are shrinking for sure. But no one knows where the trend is going. Like everyone else Microsoft expects a lot of change in this area. Social media and web browsing in general are changing how they think about their OS. Users today expect data to follow them around on their tablet, phone, and laptop. 

Holecek takes a trip down memory lane: in 1995 you had a stack of floppy disks on your desk. And if you had a PC you were sort of geeky. Today computing devices are a given.

Holecek reminded the devs in the audience that most people just want to get things done. Don't listen to industry pundits or bloggers who claim that if your app doesn't do "X" then it's too late and someone else has beat you to it. Focus on end users rather than pleasing the trend setters.

One paradigm that WinOS 8 embraces is connection to services. Internet connectivity is now a given. Gone are the days of the self-contained native app that stored data on your hard drive. WinOS 8 apps are lean and mean and state lives out in the cloud. Azure updates (every 3 weeks or so) are moving to support this paradigm (e.g., Azure web or mobile services).

WinOS 8 was built using open standards. C#, HTML, and Javascript are native languages in the OS. Interestingly enough you can build a Windows Store app using HTML and javascript. All native languages support async programming so that long-running tasks are no longer hanging on the UI thread. In fact, async will be a challenge (or at least cause a rethink) of many devs. Fortunately, .NET 4.5 makes async programming a lot easier.

As a dev you need to think about your app as a "global citzen" on the OS. The user is in control. Your app is run in isolation and has its resources throttled. Users want to install, run, and uninstall apps effortlessly. 

In WinOS 7 an app was either running or terminated. In WinOS 8 an app can have a third state in between those two: suspended. The Task Manager will show this new state. A suspended app has no CPU time allocated to it. Users can resume an app that was suspended when they fip back to it. This all happens automatically by the OS process management when it realizes the app is longer in the foreground. An event will fire to say that your app is now suspended so you can handle that. So as a dev you need to think about the battery. You need to be efficient.

Holecek next ran through a demo in which he explained how the live tiles work. It's a lot like background computing. We went through a small code run building a live tile using C#. Essentially you ask the TileUpdateManager (a broker) for an updater. Then you tell it what periodic updates you want (for example hourly). Then you start the updater. I think it was about 3 lines of code. So the plumbing is out of the way and you can focus on your app.

Next he showed how he prepared his slide stack last night and ran through changes that get automatically synced between the phone, tablet and laptop via Skydrive and Onenote. It was very impressive. I have to say that Office 365 is very very impressive. Google apps looks really lame compared to Office on Skydrive. This is coming from someone who thought a few years ago that Office was dead.

That bar that pops out on the right hand side? Think of it as an OS contract that you should implement in your Win 8 app. The contract is brokered by the OS for you. It has search, share, and settings.

In closing he said that they're now at 60M WinOS 8 licenses. The number of apps in the store has quadrupled with more than 10K addd in the last month. Obviously, the ultimate success of Win 8 will depend on a rich ecosystem of apps for the new OS. Holecek emphasized that WinOS 8 is not a fad and they're not rolling back or rethinking their direction. So he made a "call to action": write Win 8 apps and start right now! :) Yes the certification process can take a month. Obviously their number one goal is to maintain confidence in the store and protect users from malicious apps. One bad (app)le can erode that confidence in a hurry. And it's hard to get it back. But they're learning. And they're improving the "onboarding pipeline." He asks for patience right now.