Saturday, June 25, 2011

HTML5 is right strategic technology across web and mobile

With the emergence of the Web 2.0 and RIA trends, browser plugins marketed as alternatives to Ajax have appeared, including Microsoft's Silverlight™, Adobe's Flex™ and Sun's JavaFX™. Each claim a nearly identical set of benefits in exchange for moving off of the internationally standardized web platform.

It's a bad bet. Here's why:
  1. Ajax has come of age : A rich IDE environment featuring code completion. Step-through debugging. Visual design tools. Rich diagnostic tools that you can even use in production. Sounds like the toolset being promoted by plugin vendors, right?

    No. These are tools that come with SmartClient, and they are in many ways superior to the tools offered by plugin vendors.

    Plugin vendors paint a picture of Ajax development that hasn't existed for years, providing hand-picked testimonials from companies that simply took the wrong approach with Ajax - rolling their own from scratch, or picking a featherweight framework that didn't meet their requirements.

    The reality is, the cross-browser inconsistencies that plagued early attempts at Ajax have long ago been eliminated for developers using SmartClient, not just for trivial applications, but for the entire enterprise development lifecycle, from design through deep customizations and pixel-perfect visual design requirements.

    At the same time, the tools available for Ajax are now excellent, and are increasing in power and scope exponentially as the vast ecosystem around Ajax makes more and more contributions.
  2. The bright future of Ajax and HTML5 : The battle for browser market share is back, and with it, fast-paced innovation by browser vendors, including rapid adoption of existing standards and proposals for new ones.

    Every feature for which plugins are commonly used - including offline support, real-time data streaming, video, sound, visual effects, vector graphics and animation - is already incorporated into the HTML5 web standard and into recent browsers. Prominent sites such as YouTube and the Wall Street Journal are already leveraging these features to minimize reliance on plugins.

    In the meantime, Ajax performance in browsers has improved by over 100 times just in the past two years. Critically, every major browser vendor has made public commitments to match the performance levels of the current leaders.
  3. The reach and simplicity of true zero-install deployment : It's hard enough to win customers and gain the trust of partners. You don't want to use a technology that creates extra hurdles.

    Plugin-based applications can only match the zero-install simplicity of Ajax applications if the user has already installed the correct plugins and the correct versions of those plugins. But plugins such as Flash enjoy a strong installed base almost solely because they were formerly required for video, animated advertisements and other media-rich use cases. With sites eliminating the need for plugins in favor of HTML5 approaches, this installed base will dwindle rapidly, and new versions of plugins will take much longer to roll out.

    Further, it is increasingly apparent that plugins are a major source of security vulnerabilities, and security-conscious IT departments are now limiting which sites can use plugins, locking down plugin versions, and preventing new installations. Do you want to have to ask your prospective customers or partners to change IT policy to allow access to your application?
  4. Incremental upgrade and transformational RIAs : The consensus among analysts, industry luminaries and commentators is clear - Ajax is the technology to use when making incremental improvements to existing applications. Similarly, Ajax is definitely the technology to use for sites that require only small amounts of interactivity.

    So your organization will be using Ajax.

    When Ajax also handles full-blown transformational RIAs, why would you invest in two sets of skills, two sets of tools, perhaps even two sets of server licenses or hardware?

    From an enterprise-wide standards perspective, Ajax must be in the mix. There should be a very, very, very compelling and well-researched reason why another technology is worth the investment. When you become familiar with SmartClient, you'll find that that reason just isn't there.
  5. Ajax lets you leverage any plugin and the open web :In the short term, plugins are the best solution for certain niche use cases like 3D rendering. It makes sense to embed plugins within a predominantly Ajax interface to handle these use cases now, but with an approach that will allow you to replace them with the standards of tomorrow.

    What does not make sense is using a plugin to provide the entirety of your UI.

    Unlike Ajax-based applications, plugin-based applications cannot embed other plugins. If you use Flash for the entire screen, you won't be able to seamlessly embed Java Applets or Silverlight controls, and vice versa. This can make it nearly impossible to integrate with a site or product that relies on a different plugin technology.

    With today's increasingly connected and integrated applications, you can't afford this kind of limitation. Tomorrow's requirements will inevitably involve integration with a technology you didn't anticipate. Using Ajax as the foundation of your application puts you in a position to smoothly integrate with anything that runs in the browser.
  6. Reach platforms other then windows : If you think performance is a good reason to adopt plugin technology, then you'd better only care about Windows, and be ready to ignore mobile devices.

    MacOS, Linux and mobile versions of plugins - when they are available at all, and if they are installed, and when they actually work - are typically one-half or one-quarter the speed of their Windows counterparts, and have been benchmarked as substantially slower than Ajax on those platforms.

    The reason is obvious - Apple cares much more about Safari performance than Microsoft cares about Silverlight on MacOS. Take any other platform - mobile, Linux, etc - and the story is similar.

    The incredibly large installed base of Ajax applications - from slightly enhanced web pages to full-fledged RIAs - naturally implies that a fast, high-quality Ajax-enabled browser engine is the first priority on any given platform. Plugin vendors don't have the bandwidth to create a first-class experience on every platform, or worse, have reasons to leave some platforms as second-class citizens.

    When it comes to the basic feasibility of your application - it's reliability and performance - Ajax is the platform that brings real cross-platform consistency, not plugins.
  7. Control over your technology :

    Control over your technology Plugin vendors tout that their technology is open source or an open source alternative is available. The implied benefit is that if you are desperate you might be able to fix problems yourself.

    If a plugin vendor is not interested in prioritizing the fixes or features you desperately need, does having the source code to a plugin really give you options?

    If you have the source code to the plugin, you can:

    • patch the plugin, on all platforms
    • negotiate deals with Microsoft, the Mozilla Foundation and Apple to bundle your modified pluginwith their browsers
    • wait 3 years for sufficient adoption

    Don't be fooled by claims of openness. An open source Ajax technology like SmartClient gives you real fallback options in a bad situation, but with plugins, the ability to get a plugin distributed worldwide is the true source of lock-in, and nothing else matters.

No comments:

Post a Comment