Tuesday, June 7, 2011

Silverlight, HTML5 & Windows 8 : Where we are heading to ?

This is not the post or yet another post on most happening debate of Silverlight and HTML5, This is just a visit to all of them to realize the potential in each and see what we can make best out of it.

I recently attended Microsoft MVP Open Day 2011 organized for South Asia in Microsoft IDC at Hyderabad, India. It was amazing to meet fellow MVPs and we had lot of learning and too much fun. During my visit, I met many glorious minds who are doing amazing stuff for Web and we had some discussions on this topic especially Silverlight and HTML5.By points raised in this discussion and overall stuff came out during my last year Communities and Customer interactions that I am going to put down for you.

Silverlight : Past,Present and Future

I have already posted about my thoughts on Silverlight Vs HTML5 here. Day by day situation is getting worst and confusing, So I thought to write this post actually. Initially even I was confused and frustrated about what happened in last PDC event. With recent Video which came up for Windows 8 added more fuel to the discussion of HTML5 and Silverlight. If you have not seen this video,please do once :

Building “Windows 8”–Video #1

After this video and when there was mention of HTML5 + JS, Fumes started coming up and people’s reactions and anger was spontaneous.

angry-mob

I saw some deadly thread on Silverlight.net forums talking about the same, Check this.

What’s happening to Developers with this cold war of Silverlight & HTML5 :

confused-baby

With the Previews of HTML5 shown by Microsoft with IE9 and IE10 Platform preview and from other vendors, There is a great confusion among people that Microsoft is no longer focusing on Silverlight or they have stop investments on the same. We all agree that HTML5 came up with some jazzy stuff which can do better things with less lines of codes and without plugin.

There are so many things one can pick up for Web Development these days.

  • ASP.NET MVC
  • PHP
  • HTML5 + JS
  • Silverlight | RIA Services
  • Adobe Flash | Air

JQuery goes well with many of them. If you look at cost wise effective solution, HTML and PHP comes out as a natural choice, If you look at flexibility, Value added features and rich tooling then ASP.NET and Silverlight are good choice. So as far as Web Apps which will get into use via Browser, There is less confusion. For very rich apps either one can go for Silverlight or Flash depending upon the client requirement and business scenarios.

Advantages :

  • Silverlight comes here as Advantage due to its Out Of Browser capabilities along with similar availability from Flash/Air but they are clear winner over other languages.
  • With Rich Tools like Expression Studio and features like Sketch Flow, Overall experience is way better
  • Rich UI, Managed Code, Cross Browser and Cross Platform, Easy Development
  • Great Capabilities and features for designing and developing Line of Business applications.
  • Support with various new patters and frameworks like MVVM, MEF etc.
  • Sandbox Architecture, Secure and lightweight framework

Some Disadvantages : I am not biased here…

  • Plug-in based Architecture and dependent on Plug-in
  • Cost involved in Tooling
  • Not truly Cross Platform (See later section)
  • Limitations due to Size of Plug-in and CoreCLR functionalities
  • Learning Curve is bit high compare to HTML

Where exactly things are getting wrong ! :

confusion

  • From IE9 and IE10 Platform Previews, People assumed that Silverlight is near death.Reality : Silverlight 5 is announced with tons of new features,Currently its in Beta stage.
  • Microsoft created more Hype of HTML5 while showcasing IE9 and IE10 Preview.Reality: Yes ! Even I was confused that what they are exactly promoting Browser or HTML5 ? but the idea behind showing HTML5 is nothing but to showcase the Power of IE9 and 10 and how better they support HTML5,That’s it !
  • HTML5 will replace many things that Silverlight is capable of giving. Reality : Yes ! ..but Wait ! for some of the functionalities and stuff it will really be less effort,I mean what you do in 10 lines of Code in Silverlight,HTML5 might do it in 3-4 lines/Tags or vice versa !
  • HTML5 Standardization,OOB and LOB Apps capability.Reality : Till whatever little I heard of HTML5 and its capabilities, Nothing beats Silverlight here in first shot ! HTML5 may ease the overall process of Designing and Developing Business Apps, but the current feature set provided by Silverlight and RIA Services is far way Rich in all aspects.
  • Silverlight OOB Vs WPF. Reality : Both have 2 common things, XAML and C# that does not mean they are equal,One is .NET Framework of around 200+MB and one is CoreCLR of around 6MB, Should I tell more differences? I don’t think so ! WPF is more strong especially on Desktop Apps (XBAP Story we all know ! ), So Role of OOB is always different and it was never to compete or replace WPF
  • Availability on Tablets with upcoming Windows 8.Reality : Currently Microsoft is saying that you can design and develop Windows 8 Apps with HTML5 + JS (How they are going to give support to build native Windows apps using HTML5 + JS is also a puzzle for me) but during the course they never said that you cannot Design,Develop and Run Silverlight Apps on it or Silverlight is blocked or something. So let’s wait and let’s not waste time in thinking what will happen in near future, Since even if you think still you don’t know what will happen when.

Where HTML5 is getting ahead ?

  • There are set of people who do not want Plug-in based development for their own reasons
  • There are set of people (end users) who don’t wish to download any plug-in on their machines
  • There are set of people who do not wish to invest in heavy tooling and want to get things done quickly with less cost
  • HTML5 like its earlier versions runs smoothly in all browsers
  • HTML5 support is available in Visual Studio 2010
  • This is big one ! : You cannot view,read,watch Silverlight sites in Windows Phone 7’s IE Browser even after Mango Update but you can view,read and interact with HTML5 + JS pages on Windows Phone 7’s Browser.So if you develop Jazzy Silverlight Website and if your customer wish to view that on his Windows Phone 7..I have no words here !
  • Silverlight presence on Windows 8 is not clear to anyone since Windows 8 itself is in very early stage,even its pre-preview stage you can say,So it will not good to comment on that at this point of time.

My 0.02$ on this situation :

  • As I said in my earlier Silverlight Vs HTML5 post, Customer is King ! Understand his business,Understand his requirements, Match them with technologies you have and go ahead, No matter if you may have to adopt HTML5 if it comes out to be better solution.
  • If someone says in some event that HTML5 is future or we have change or shifted our focus that does not mean that Silverlight is dead after completing that statement. So keep your cool ! Microsoft Silverlight Team is working at their best (I am Silverlight MVP and Insider, So who else know better? :) )
  • Do not worry about Windows 8 and what will happen, focus on your current development. Even if Windows 8 comes to market, there will be still tons and millions of apps still running on Vista and Windows 7.Everyone in the world will not get Windows 8 Tablet on Day One !
  • Learn HTML5,See how you can combine HTML5 with JS and make simpler things more simpler and fast which might take time or painful to do in Silverlight.It will always add value to your Customer and you as well.
  • I don’t see any other option but HTML5 if you wish your Browser App to be visible and interactive in browser of Windows Phone 7,So bit hard decision for you here.

Lastly :

Keep faith ! Silverlight is going smoothly and has very good future and it will be shining on various fronts. Take wise decisions before jumping to HTML5 from Silverlight and vice-versa.Do not blindly follow anyone’s opinion (including me) about Silverlight and HTML5. Build PoCs for HTML5 and for Silverlight 5, See what and how best you can give your Customers and End Users. Don’t get confuse between HTML5 and Silverlight,Both are way different in behavior. Feel free to buzz Silverlight MVPs, Silverlight Forums, Local Community Experts if you need any advice on Silverlight or making choice between Silverlight and HTML5, We will always help you at our best and guide you without having any bias in mind.

Why I wrote this post ?

This post is not written because I have no content to write on Silverlight or Windows Phone 7,I will be doing the next Technical post soon.This post is not written to defend or promote Silverlight or HTML5. This post is just written to touch some reality and ground level issues which one should keep in mind instead of getting confuse by what is going on other forums,blogs and news.

This post is never final answer to that endless debate of Silverlight and HTML5 but I am sure it will always give you better views and basic points which are important in future for your decision making.

These points are not already recorded or guided by someone,These are all outcome of my community interaction and what I see,feel and interact with people for Silverlight and Windows Phone 7.

Hope you will think positively over this topic, Take part in Silverlight Vs HTML5 threads and discussions actively but learn out of it and do not get lost in that ! Do not let your Silverlight Weapon down ! Respect compete technologies, Learn HTML5 slowly (I might help you in that via this blog in near future),Take HTML5 change happening with world positively,Give your customer what is best  and make people happy !

Remember ! Future is Bright because Future is Silverlight !!

Vikram.

*Please note that Images and Video used in this post are from Internet found during regular search, Images have their respective copyrights and they are part of this post just for demo/representation purpose.

6 comments:

Oleg said...

I totally agree with your analysis but still wonder - what is the purpose of this intentional "no comment" situation?

As you remember last time (at PDC) MS published special letters both from Migula and Ballmer trying to calm down same concerns. Now not only we did not get that but we are told that it's forbidden for any MS employee to even speak about it.

It looks sometimes like MS wants Silverlight developers to be afraid of future and start considering alternatives.

That, or, there is something critically important around SL that it's better for MS to keep silence no matter what.

There is of course, another explanation - that Sinofsky is just lousy PR person, but I really, really doubt that.

So, what do you think the reason of current "no more Silverlight talks"?

Kunal Chowdhury said...

Well said Vikram.

_ said...

Microsoft has to give a clear statement now. Otherwise they have a lot of silverlight developers and decision makers standing in the rain not being able to answer critical questions about the platform strategy. They are also weakening their WCF and WPF because when it comes to HTML-5, at least we will be using open source solutions (Apache instead of IIS, Java instead of .NET (POJO instead of WCF), free HTML-5 framework instead of Silverlight) to prevent being 'confused' by Microsoft product strategies once again. Visual Studio 2010 is an excellent development tool, however: Microsoft can keep it if they do not keep Silverlight.

Subodh said...

I am an avid fan of Vikram and Kunal. I agree with both of them. I also have another viewpoint to it. Microsoft is surely NOT "confusing" developers; its just that they want to make a robust ecosystem. Its not just about technologies (HTML / SL / JS / Azure). Its about ENABLING technologies. Silverlight , Windows 8 and Windows Phone 7 are quintessential "3 screens and cloud". So is HTML5 / JS.

For example: MS acquiring Skype is another step forward in converging voice calls to Windows 8 and WP7.
I am sure its APIs will be soon on cloud just as MS Dynamics or Shareepoint.

Makubex said...

Nice.. Finally some sane thoughts about all this. People out there are crying that MS is gonna stop .NET - LOL

Tony said...

I think that MS invest more on HTML5 and JS is because iOS5 & Lion (Apple) and Android (Google). They are trying to be more portables to tablets and smart phones. For me, Silverlight is the best tecnologies for bussines application like ERP because you can run on browser or out the browser. There are a lot component for Silverlight (DevExpress, Telerik, etc) and Silverlight is supported by live languages like C# and VB. For real application component are productivity and productivity = money.

How many component HTML5 have?.