originally posted by Jason Cook: (link) - please comment at original post
Where Did This Question Come From?
Adobe Flash and Microsoft Silverlight have both been getting a great deal of public attention lately partly because of Apple’s openly hostile stance on browser-based runtime plugins like Flash and Silverlight. Steve Jobs has said “No one will be using Flash. The world is moving to HTML5″.
A new generation of web technologies has begun to emerge, including HTML5 and CSS3, which enable developers to create websites and web applications without the use of plugins. For these reasons, the blogosphere has been hit with a deluge of commentary from zealots and pundits. Some saying that these emerging technologies should become the core of the Next Web and we should begin to abandon Flash or Silverlight. Some say the next generation of HTML and CSS are just improved tools, and the Next Web can’t live without Flash and Silverlight. Others look at these emerging technologies as a step backward, leading to a second era of Browser War.
What Are Plugins?
To properly respond to the question, we have to understand exactly what Flash and Silverlight are, what they do, and why.
For several years, either the Flash plugin or the Silverlight plugin was absolutely mandatory for a Rich Internet Experience. There was no standard, maintainable, manageable way to produce a website or web application with interactive sound, streaming video and application-like behavior without Flash or Silverlight.
Today we can use Flash and Silverlight to create websites and applications. As Flash and Silverlight evolve and improve, these websites and applications get richer and fuller, with dynamically updating content, streaming video, application-like behavior. Because we use a runtime plugin, we know the website or application will be stable and consistent across all browsers and operating systems.
What About AJAX?
AJAX has the advantage of not requiring any third-party tools to create or consume, and consequently, runs on the widest variety of user machines. So special plugins are required to use an AJAX application so they often run well on mobile devices like iPhone where plugin-based applications may not run at all.
However, AJAX also has the disadvantages of being a loosely-connected group of technologies instead of a unified platform: some things, like streaming video, simply are not possible because of the limitations of the underlying technologies, feature upgrade is glacially slow, and the development environment is not nearly as unified, cohesive and accessible as a proprietary developer ecosystem.
Will HTML5 and CSS3 Replace Plugins?
The easiest way to answer this question is with an analogy: at one time no automobiles had GPS devices in them. Companies developed that manufactured after-market GPS units that you could purchase and add to your car, much like a plugin, to give your car additional functionality. Later, some cars were manufactured with GPS units built-in. If 98% of all cars on the road already had built-in GPS, after-market GPS manufacturers wouldn’t make very much money selling GPS units, they’d have to come up with some other device that cars don’t already have to remain viable.
Back to the discussion, Adobe and Microsoft are looking at a future where some of the functionality their plugins once provided exclusively are going to be a native part of HTML and CSS. Non-plugin-based AJAX applications and websites will be enjoying a healthy increase in functionality in the coming improvements to HTML and CSS – native video and sound, and rich bitmap effects and, through the use of AJAX frameworks, application-like developer tools like persistent state and I/O management.
In spite of all the improvement in HTML and CSS, Flash and Silverlight still offer so much other functionality beyond what HTML5 and CSS3 offer, it’s very likely that developers will continue to use them, companies will launch websites and applications that require them, and users will continue to install their respective plugins.
What Will Tomorrow’s Websites And Applications Use?
Depending on what the creator’s needs, where they want their website or application to be used, and what they think they can get their users to use, tomorrow’s content creators have a choice of various approaches when developing a website or web application.
The following are the pros and cons of each platform:
Flash and Silverlight
- The most application-like development experience with rich tooling support for developers and designers.
- Well-supported and documented tools, not only by their developer communities, but by the platform manufacturer as well.
- The fullest rich media feature-set availavble on the web.
- Users need the Flash or Silverlight plugin for the experience.
- Viewable anywhere with no plugins required, including on mobile devices.
- Video is possible with HTML5.
- The developer environment can vary widely from one place to another, from loose files of code and markup at one shop to an integrated, full-stack framework and developer IDE at another shop.
- Documentation can vary from extensive and throrough for more popular frameworks to nonexistent for other features.
Beyond the common pros and cons, the ease of development can differ dramatically depending on what the creator wants the website or application to do.
A simple, static website without a plugin
- When to Use: when you just need to get something online, budget is an issue (no expensive tools to invest in), updates are infrequent, and you’re not afraid of editing a little markup.
- Examples: everything on the web before 1996, 90% of the web’s content now. Remember Geocities?
A simple, static website with a plugin
- Description: getting “something online” with a plugin is now easier than without a plugin. Both Flash and Silverlight have tremendously straightforward, nearly-one-click publishing workflows for whipping up a website, pushing a button, and having something online for the world to see. Conversely, one can create a very rich, engaging web experience with a plugin-based website with much less skill and training than necessary for AJAX.
- When to use: if you have a modest budget and want to get the most bang for your buck, or if you have no developer resources and just want to use a WYSIWYG editor to get something online, and you’re not concerned with the widest potential user base as possible, including as many internet-enabled mobile devices as possible.
- Examples: almost all websites for movies.
A sophisticated, dynamic website or application without a plugin
- Description: this is, without question, the most challenging option for the developer. Building a complex web application that looks and behaves like a desktop application in pure AJAX is a talent that commands a very high price in the talent pool today.
- When to use: this is the logical choice if one needs a complex application or website and needs to support as wide a potential user base as possible, including as many internet-enabled mobile devices as possible.
- Examples: Google Docs, Backpack, WordPress, Outlook Web Access, Facebook, many others
A sophisticated, dynamic website or application with a plugin
- Description: this is as close as the developer and designer can get to developing a web application the same way as one would develop a desktop application. In fact, the development environment for Silverlight is identical to any other Windows application.
- When to use: this is the logical choice if one needs a complex application or website and isn’t concerned about the potential lack of plugin support on certain devices.
- Examples: most brand portals in design-centric fields like entertainment (Disney), consumer electronics (Sony), automotive (Audi) and apparel (Diesel), sophisticated movie websites, almost all browser-based games, many others
You won’t see the plugin market drying up any time soon. As the “extra functionality” plugins offer become “built-in”, plugins do one of three things: evolve to offer new “extra” functionality (Flash), cross over into new areas of influence (Silverlight) or die (Shockwave). There will always be something the native web platform cannot do, which is why we will always need plugins to fill those gaps. What the plugin does, how it integrates with other technologies, and how people use it will inevitably change over time. However, the fundamental need to “fill in the gaps” will always be there.
Remember to please comment at original post: (link)