Quantcast
Viewing latest article 1
Browse Latest Browse All 7

Web 3.0: Why Flash is not Needed

As an avid supporter of next generation web technologies and envisioning a web free from plugins and browser dependence, I believe strongly that Flash will not be needed as we move into a Web 3.0 world.  The upcoming features being discussed, implemented, and standardized all help to simplify developer responsibilities that were typically done using Flash.  Even though there are use cases where Flash is useful, the vast majority are not and only require the user to install Flash as a plugin.  In some cases, such as the iPhone, Flash is not even a viable option.  As a result, your website will not function on these next generation devices.

That being said, here are my reasons of why Flash is not needed and alternatives using next generation technologies.

1. Canvas

Canvas provides a 2D/3D drawing surface on an HTML page in which you can do almost anything that a standard thick client application (or Flash) would do.  For instance, you can draw lines, shapes, even create reflections.  For example, on Apple’s me.com gallery page, they use canvas to provide a coverflow effect.  The flot jquery charting library uses canvas to create dynamic graphs.  Functionality with canvas is endless, especially when combined with Javascript.  The developer can use the two to create dynamic animations otherwise only possible with plugins such as flash.  As canvas grows in support from browsers (ie: Internet Explorer does not natively support it yet), more libraries will be available to the developer for creating rich features.

2. Javascript Performance

Current generation browsers have old stack-based implementation of javascript that was slow compared to the engines of tomorrow (and in some cases today).  These implementations were good for the Web 1.0/2.0 days where javascript was simple.  However, as sites continue to grow in complexity, features, and richness, javascript performance becomes a bigger deal.  The performance is already hindering many sites causing them to render slowly or to degrade usabilitiy.  Most of the major browsers already have an improved javascript engine in either release or beta including Firefox, Safari, Chrome, and Opera.

3. CSS Animations

Apple Safari, via Webkit, has begun to introduce and propose an extension to CSS for animations.  The animations use a set of keyframes and settings to smoothly create dynamic animations.  This is very similar to what many users do in flash by defining keyframes and then let Flash automatically create the inner frames for a smooth effect.  Webkit does this for several CSS-based settings including color, transparency, positioning or offsets, and even rotations.  Mixing these animations with CSS selectors, you can create a dynamic animation without any javascript code.  Combine javascript and even canvas, you get extremely rich and powerful sites.  Best of all is that you do not require any plugins and will work on any next generation browser as browsers adopt.

4. Media

The upcoming HTML5 specification defines a new set of media tags for adding media content to pages, such as video or audio.  Typically, video players have been created using flash as the only viable option.  Once HTML5 becomes standard, you can simply drop a tag on the page, define the source and options, and automatically you get a player, without requiring flash.  Combine javascript, custom buttons, etc, you can create dynamic video players.

5. Javascript Libraries

Javascript libraries continue to evolve and provide a powerful environment for developers to create rich applications, especially in the UI arena.  For example, jQuery, Yahoo! UI, Dojo, MooTools, etc all provide complex UI elements and inputs for next generation sites.  Further, with the HTML5 set of new input elements (date selectors, time selectors, spinners, etc), you get native browser control.

These are just a few of the reasons of why the next generation web can be plugin free and still allow richer sites that will thoroughly impress your users without sacrificing usability or dependencies.


Viewing latest article 1
Browse Latest Browse All 7

Trending Articles