The Untimely Demise of the Plugin (and how LOB developments will suffer)

November 14th, 2011 by Colin Eberhardt

It has been another interesting week for HTML5 and front-end technologies. We have seen Adobe abandon work on mobile versions of the Flash plugin, news of Silverlight 5 being the last version of the Microsoft plugin and more recently an announcement that Adobe will no longer develop Flex, its enterprise / line-of-business framework for Flash. This blog post looks at how HTML5 seems to be winning the war on plugins …


Image used under creative commons licence from bugmonkey

Earlier this year I collaborated with my colleagues, Graham Odds, a Flex guru, and Chris Price, a HTML5 guru, to write a White Paper comparing Flex, Silverlight and HTML5, which described how front-end technology choice should be based primarily on application complexity, with the two plugin technologies, Flex and Silverlight, being more suited to development at the more complex end of the spectrum.

Despite myself and Graham being strong supporters for Silverlight and Flex respectively, we all agreed that in the future, as HTML5 adoption increased, the tooling would evolve, making HTML5 a good solution for enterprise and Line of Business (LOB) development. However, we all agreed at the time of writing, that the superior development experience offered by Flex and Silverlight made them better choices for complex applications.

Just six months on, my opinion has not changed.

However, it looks like HTML5 is winning the battle for front-end technology domination sooner than I would have expected, and for reasons of politics rather than merit.

Silverlight first appeared four years ago, and has been struggling to gain the almost universal adoption of its direct rival, Flash. The cracks started to show in November last year when Bob Muglia blurted out that “when it comes to Silverlight … our strategy has shifted”. The cracks widened when the Windows 8 blog announced that the new Metro style IE would provide a “plugin-free browsing experience”. The latest rumour is that Silverlight 5 will be the final version of the plugin, which, if true, would be a great shame. The technology is mature and adoption is now greater than 75%, this is the point where Silverlight really should be taking off in a big way.

Flash and Flex have been struggling to make an impact in the smartphone and tablet market, in part due to a highly publicized open letter by Steve Jobs titled “My Thoughts on Flash”, which was an all-out attack on the plugin technology. Despite the damage done by this open letter, Flash was released for Android, and with the Android market share sky-rocketing, the obstacles that Apple put in the way seemed a little less important. Despite this, Adobe announced last week that they would cease working on the mobile Flash plugin. Whilst this does not mean that Adobe has dropped Flash altogether, the news is not so good for Flex, the enterprise library built on top of Flash. Previously there had been a similar announcement to Bob Muglia’s from the Flex team “Recognizing the role of Flex has changed”, however, this weekend Adobe announced that Flex development was being handed over to the open source community, “In the long-term, we believe HTML5 will be the best technology for enterprise application development.”

I do not object to HTML5 itself, and have had a lot of fun recently creating the first HTML5 based Windows Phone 7 application. However, I feel that both Microsoft and Adobe are being a bit hasty in sacrificing their own plugin technologies in favour of HTML5. Both are heavily investing in HTML5 tooling, Adobe Edge is proving to be a great tool for creating HTML5 timeline animations, whilst Microsoft has embraced HTML5 as part of Windows 8. However, there is one great big elephant in the room …

HTML5 is not ready for enterprise development!

I have written about the problems with HTML5 and JavaScript in earlier blog posts:

If you have tried to create large complex applications with JavaScript and a browser-based user-interface, you will know what I am talking about! Interestingly, I recently read an article about node.js, which is proving to be a popular server-side technology, the author noted:

“Node.js is a server-side JavaScript execution engine. The actual language isn’t important – certainly if I had a time machine and Tony Stark’s cash I’d go back and change it so that it wasn’t based on JavaScript.” – Matthew Baxter-Reynolds

It appears to me that Microsoft and Adobe are concentrating too much on the smartphone and tablet market. I agree that for many consumer facing sites HTML5 is a good technology choice, especially when you consider that this technology works well on most tablets and smartphones. It is also more readily able to adapt to the device it is being used on, for example, Android phones have a nice feature where they re-flow HTML documents to better fit the screen. However, for more complex enterprise applications where tablets and smartphones are not the target platform, Flex and Silverlight are still a much better option.

It is true that smartphones and tablets are becoming much more commonplace, you see no end of people playing with iPads, Androids and the occasional Windows Phone 7 on the train. But you can bet that every single one of those people when they get to work will put their smartphone in their pocket, their tablet in their bag and will sit down to a standard desktop computer, monitor, mouse and keyboard. The more I think about it, the Windows 8 split-personality makes sense.

Unfortunately it looks like Adobe and Microsoft have lost sight of the enterprise and of the desktop user. If I were to embark on a new line-of-business project for a company intranet the technology choice would be very difficult right now. I would like to choose Silverlight or Flex, but would either be a wise technology choice if you know that the current version might be the last?

Regards, Colin E.

30 Responses to “The Untimely Demise of the Plugin (and how LOB developments will suffer)”

  1. Maxim says:

    There recently had been added one HTML5 javascript framework **jRIApp**. It was specially designed to build LOB applications like it is done in Silverlight with WCF RIA services. It is based on MVVM pattern and also has data service part. It is published under MIT license on GitHub. You can watch demo on youtube http://www.youtube.com/watch?v=CxWcC2O8u-k

  2. Tim says:

    Colin – has your opinion changed on the tooling at this point (Oct 2012) for HTML5/Js vs Silverlight and how it impacts an enterprise developing apps for internal apps (non-customer facing) only?

  3. Mike says:

    I am rather disappointed in the computing industry now. It used to be a realm of innovation, but it appears that innovation is dead. After nearly 20 years of the internet, the best we can come up with as an industry for applications on the web is to rehash an ancient technology originally designed for read-only presentations? I had hoped to see an acknowledgement by the industry that we needed something completely new. A new specification that was more rigid to solve the browser compatibility issues, allowed more choices in languages, and was designed from the ground up to handle dynamic content.

    When I read about WPFE, which became Silverlight, I was hoping that it, or something like it, would be adopted by the W3C as a new standard. But alas, the W3C seems so attached to HTML and JavaScript that it will NEVER change, and in another 20 years we’ll still see people writing in HTML 10 and JavaScript and wondering why productiviy for internet applications is STILL lower than is was for desktop development 20 years ago.

    But on the bright side, us old guys will still be useful then because nothing will have changed since we were kids.

    • Hi Mike, I know how you feel :-) There is something about writing applications on top of a markup built for rendering of book-like content, that feels wrong to me. The web badly needs a concept like XAML, which is geared to wards the construction of applications, rather than HTML5 which is a mixed bag of bells and whistles built on top of shaky foundations.

    • K.Kong says:

      I agree totally. No matter how sophisticated HTML5 is, it is held back by HTTP 1.1, a protocol of 1990 vintage that has essentially one command with two names: GET and POST.

  4. K.Kong says:

    For all the talk about HTML5, what are the tools that available for rapid development? I can only think of notepad.exe, and it has no debugging features.

    How about IP protection? I am not talking about against hackers. How to prevent the casual user from just reading your source and reproducing a modified version in minutes what it took you days to do?

  5. Chui Tey says:

    The tools for HTML5 are very immature at this point, compared to Silverlight etc which have reached a mature status. This means that there is a wide gaping hole that has been quickly filled by the likes of Titanium appcelerator, and other smaller vendors. MS and Adobe cannot ignore this segment or they will become obsolete by the sheer force of how many hand held devices there are going to be. While tablets account for 2% of the internet traffic, they are on a sharp growth trend. Businesses succeed often not on the basis of hard work, but also on riding the right wave, and tablets may be it.

    It will be a few years down the road before we get GWT style code running c# on the browser side. In the meantime it appears to be JS only. Much to my disappointment. My preferred dynamic language is Python.

  6. I am quite happy developing LOB apps using LightSwitch… oh wait, that’s right, LightSwitch is Silverlight.
    Oh well… :)

  7. THEDUDE says:

    Out of the box Silverlight offers: Great UIs, Data bindings, 2D Hardware accelerated, 3D hardware accelerated XNA Style, TCP Socket, WCF, Child Windows, Multi theadings, OBB, Camera, Webcam, Audio, Isolated storage, Etc.. Etc..

    Can HTML5+ECMAScript do this out of the box? I doubt! diminishing of plugins is very untimely and abrupt!

  8. jsop says:

    Web development (even using the much ballyhooed HTML5) keeps us wrestling with browser incompatibilities resulting from differences in standards interpretation for both CSS and HTML. HTML web “apps” are, at the very best, a hack. Silverlight and Flash rescued us from the stateless bullsh*t and incompatibilities imposed on us by HTML, and solved deployment issues for those of us working on highly restrictive networks in the DoD.

    • Jonathan Cardy says:

      Actually, browser incompatibilities are not an issue at all when you know what subset of supported features you can use. Doesn’t a browser plugin strike you as more of a hack?

    • Agreed. One of the key tenants of HTML5 was a consistent approach to error handling, which goes some way to improve consistency – and thankfully things like CSS hacks and box-model workarounds seem to be a thing of the past.

      However …

      It really annoys me to see widespread CSS3 support reported when every browser requires a prefix to the CSS3 properties! Until the prefix is dropped, how can it be truly supported?

  9. [...] Read original post by Colin Eberhardt at Scott Logic [...]

  10. Norm Almond says:

    I agree on Microsoft concentrating too much on the tablet and mobile market, yes this is the option to go for those environments. For the desktop client I truely think they’ve dropped the ball on that one.

    Time will tell and things may change.

    • I think time will tell and thing will change, but right now tablet / smartphone is a small fraction of internet use and a smaller fraction of enterprise / LOB use. Until we can reconcile the use of tablets with the enterprise, the split personality in Win8 will continue …

  11. Jonathan Cardy says:

    I’m not sure the demise of the plugin is untimely, it’s very timely. LOB applications written in HTML have always been alive and well, offering a more responsive user experience. The only suffering here is on the part of Silverlight and Flash developers. Of course a lot of it is political but maybe Steve Jobs was right.

    • That’s fighting talk ;-) I don’t argue that HTML5 based LOB applications are possible. I am merely stating that the development experience offered by Silverlight & Flex is superior. Therefore, if you do not need to target browsers that lack plugins, the plugin-based technologies are a better choice for complex application development.

      I really like JavaScript and the excellent libraries that are associated with it, jQuery and KnockoutJS being two of my favourites right now. However, the lack of tooling and the incompatibility between the various JavaScript frameworks and approaches (can you plug Knockout into jQuery-Mobile? No. Can you plug Knockout into KendoUI? No) just makes life too hard when plugins give a simpler alternative.

  12. Fallon Massey says:

    They can’t seem to walk and chew bubble gum at the same time!

    This shouldn’t be an either/or situation, but both shoulf coexist at the same time.

    BTW, the split personality is a horrible idea. The laptop serves a specific function, i.e., being the remote desktop.

    The tablet serves a whole other role, and you’re right, you want to put it down, but more importantly, you want it to be CHEAP!

    I’m talking < $100 cheap, so if I drop it, I don't really care. That won't be the case with Win8 machines, they will be costly.

    The real solution for this problem was to put the WP7 OS on tablets, NOT Win8. But that makes too much sense to give consumers a WiFi only device for cheap.

    • I still haven’t worked out whether I like Win8 or not. Part of me thinks it is a great idea – my ideal is a super-powerful tablet that I can use on the train metro-style, then sit it on my desk and dock it, giving me a keyboard and a large monitor. During the day I work desktop-style. Then at the end of the day I pull it out of the dock and have all my work on there.

      But, yes, if it is going to cost $$$$ it will hardly compete with Android tablets

  13. phil says:

    Right now, the dev story with html is a little “unfortunate* for large applications, as it just doesn’t fit anymore to hack in thousands of jquery selectors and handlers and stuff into one large js file. No wonder dev’s loose control and hack their way trough. There are so many good ideas for patterns and tooling making it viable for the most complex apps(I LOVE KnockoutJS).
    Most of the time we don’t need special abilities only plugins can offer. Plugins never integrated well and took up alot of memory and cpu cycles, I’m feeling good when they are getting abadoned, BUT, I think the web won’t work without native code(and enviroments like SL on top of it, I also love XAML).
    It just needs some evolution to get native code downloaded fast to the client and get it to safely run in a browsers sandbox(Google Native Client is an approach).

    • I love KnockoutJS too! Have you seen my Knockout-based HTML5 Windows Phone app?

      However … when I tried to integrate it with jQuery-Mobile, I found that the two just don’t play well together. Another illustration of the JavaScript ‘problem’. With Silverlight or Flex you can plug in pretty much any library and framework and expect it to work with others. With JavaScript that is simply not the case.

  14. Allen Conway says:

    Very nice article and much in line with a lot of my thoughts as well. I really like the paragrah that begins with: “It appears to me that Microsoft and Adobe are concentrating too much…”

Leave a Reply