Welcome to Professional ASP.NET - Chris Love's Official Blog Sign in | Join | Help

Chris Love's Official ASP.NET Blog

Chris Love's Helpful tips, tricks and pragmatic development knowledge for the ASP.NET world.
Add to Technorati Favorites


ASP Insider Follow Me On Twitter
Windows 8: I Don’t Think I Could Be More Excited

Yesterday Microsoft finally revealed the Windows 8 User Interface. It’s Metro UI based with applications built using Web Technologies, that’s HTML5 & AJAX. Its being met with some criticism and skepticism and then there are folks like me who is personally having a time just trying to contain myself with possibilities.

If you are in complete shock that Microsoft is going the HTML5 route I am sorry, this you should have seen coming for a few years. It was inevitable. Last month Google unveiled Chrome OS and will have Chromebooks in the stores later this month. This is a Web OS where all the applications are HTML5, not some traditional compiled application.

Microsoft Answered the Web OS and Upped the Anti

The Windows 8 UI Demo shows and tells us about using web technologies for full on applications. But it also showed how it can still handle old school applications. Granted Google does not have any legacy applications to worry about at this point, but that is also a negative for the Chrome OS.

While I love the UI change, normal users are going to be scared because they don’t have their existing applications they are just used to using. This is where Microsoft has an advantage. Creating web based applications is not going to happen overnight. And while I have been wanting Microsoft to drop support for extremely old and outdated application support for a while. Doing this for later model desktop application is just not going to happen.

By retaining viable support for those legacy applications they are ensuring they can make the great leap forward, while respecting what got them there. So they are going to be able to delight current customers on both sides.

Tiles Are the Natural Progression of Pinned Sites

Not sure if anyone else has picked up on this, but Tiles are Pinned Sites; just better. I like the way Jensen Harris said they give an application a little more personality. Let’s take Facebook for example. If you look at the Facebook pinned site it has placeholders for News, Messages, Events and Friends. If there are any component that has actionable items there would be some sort of highlight with it.

This is barrowing the concept of tiles used on the Windows Phone with Push Notifications. I love this concept. It allows me to add a push technology through a web application without fussing with the browser being open on the site.

I want to translate the Facebook pinned site feature to a new Windows 8 tile. Here you see the same sections listed with the action items noted. This is similar to what users are familiar with seeing on the primary Facebook site. This just makes it faster for the user to know there is something to address without loading the entire application.

HTML5 & AJAX Are Great Tools For Great UX

Something that really gripes me doing mobile web development is constantly being told I can do things that native applications allow. Right now the only limitation you really have is the OS vendors are not adding the hardware support they should. I plan on writing more about these specifications over the summer. I have already started with touch, which Internet Explorer is the only major browser not supporting it.

But when it comes to line of business and even games there is nothing I have seen in a native application that can’t be accomplished in a browser. I love to download well done Windows Phone applications so I can work on replicating the user experience components using HTML and jQuery. Slowly but surely I am getting there things done. One I have not published yet is the Panorama control. That is coming very soon. The building blocks have been defined and most are supported by all the modern browsers.

What About Silverlight?

Let’s face it, despite the passion certain Silverlight developers have for their tools it never got broad acceptance. Its been around 5 years now and you are only seeing 65% install base. If it were going to work it would have been at 100% in the first year or so. Two things have held Silverlight and WPF back. It has a huge learning curve to do right. Unfortunately the vast majority of XAML developers opted to create the same battleship grey applications they did with MFC and plain old C# and VB. They never bothered to learn how to really build the great user experiences that Silverlight enabled.

Flash has failed too. Not in the same vain as Silverlight. It has failed because outside of some games it is a clumsy user experience. You have to wait for a giant payload to download before you can use it. This is death on the web, period. On top of that search engines just can’t index Flash and Silverlight. I don’t care what you say, they don’t. You are performing a self defeating act.

The good news is you can get up to speed with HTML5 and AJAX using your Silverlight skills. Much of what I see being finalized as HTML5 is Silverlight incarnate. Microsoft has recently submitted several drafts to W3C that basically take Silverlight components and define browser support as HTML.

But JavaScript is Hard

No, no it’s not. I used to whine about it too. I hated JavaScript. jQuery changed that. Learn jQuery, Sencha or some other JavaScript framework and you are ready to rock. It does not take very long. So this is not an excuse, get with it.

I am already seeing developers look for C# to JavaScript converters, etc. This is a wrong headed approach. Those will never work well enough. Just take a week and learn jQuery. Then over time you will start seeing how to do JavaScript more efficiently.

There are some great HTML5 Sites and Games

In case you were unaware, Angry Birds is an HTML5 game, http://chrome.angrybirds.com and it works like a champ in IE 9. I am also addicted to http://pirateslovedaisies.com. My point here is you can do pretty awesome stuff already in HTML5 and the bar is relatively low.

This Will Work Well If YOU Make It Work

We have to make great user experiences. HTML5 & AJAX empower us to do this. Unfortunately .NET developers have not made much effort in creating great user experiences. Here is a new opportunity to learn how to architect great user experiences. Honestly its simple. Look at your user and application. Now make the user successful as quickly as possible as often as you can. Keep things simple. Don’t worry about art, users could care less. They just want to do something as quickly and frictionless as possible.

At this point we don’t really know how this HTML5 & AJAX application model will actually be executed. That will most likely be revealed at BUILD. So in the meantime get up to speed on User Experience and you will be in a great position to succeed. See what I did there, gave you the quick way to be successful.

Posted: Thursday, June 02, 2011 8:39 PM

by Chris Love

Comments

tony said:

I also think this is great because it will bring in a lot more developers. Obviously a ton of people will know html5 and javascript. However, you and everyone else seem to think just because html5 and javascript are added to the mix that the .net stuff is going away. I didn't take it that way and still don't believe that is the case. I almost posted about how html5 and javascript are a huge step back compared to what .net offers but I just don't have another rant in me today.
# June 3, 2011 8:27 PM

xanonym said:

Javascript - it just makes me sad that it's extending its reach further given how crappy a language it is. And it is undoubtedly awful compared to C# and many many other more deserving languages.
# June 13, 2011 1:15 PM

Sam Gentile's Blog said:

Yesterday Microsoft finally revealed the Windows 8 User Interface . It’s Metro UI based with applications built using Web Technologies, that’s HTML5 & AJAX. I’m not surprised. No one should be surprised, although what is going to

# September 24, 2011 3:02 PM
Leave a Comment

(required) 

(required) 

(optional)

(required) 

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS