My thoughts on the future of the web with respect to flash, plugins, etc…

More than 10 years ago I was coding Java applets.  They were great at the time because I could reasonably expect them to run the same way in Netscape and Internet Explorer.  I could also reliably do asynchronous networking back to the server.  But then, Microsoft pulled their native Java runtime from Windows and Internet Explorer.  It got a lot harder to get applets running in people’s browsers.

So I started writing ActiveX controls for IE and Java applets for Netscape.

Then I switched to Flash, not for too long, but it was enough for me to see that it was a capable and curious implementation of animation, multimedia and script.

I even wrote a few Silverlight controls, but then I stopped.

I stepped back from all of the “richness” and “interactivity” and I thought about things like accessibility and SEO.  I wondered how my apps and sites might appear to the greater world.  I wondered how the developers I am working with, or who might be inheriting my code down the road, might interact with it.

And I thought to myself, What the hell was I thinking?

Those embedded controls are not what the web is about, and they run contrary to nearly all of the things that makes the web exciting and fosters innovation within and around.   Those plugins or controls, or whatever you want to refer to them as, are only stop-gaps that fill a hole in the basic HTML/Script/CSS specifications, and that’s all they should ever be used for.  Full stop.  Period. 

For instance, I still make use of a nifty little flash control called SWFUpload because it lets me check file size before an upload starts.  I can do the same thing from a Silverlight control.  But rest assured, if I could do this from native javascript, I would in a second.  In fact, the only reason I chose SWFUpload over a ton of other alternatives is that it has a great javascript API so I can do (nearly) all of the UI in regular HTML.  And I ALWAYS provide a non-flash alternative for uploading, and for the rest of any website where the designer has insisted on some piece of creativity that requires flash (usually because the designer is also the flash developer, but that’s an aside…).

The web is about openness, and about exposing that openness in such a way that it can be taken advantage of as a small part of a greater whole.  Sure we need security and authentication and ssl and all that stuff, but for me, its something more profound.  For me, the majority of what the web is, is about exposing something that delivers meaning. 

What meaning can we derive from an <object> tag?

 

more later - joel

5 Comments

  • Do you write Intranet Web apps? How would you like to use an Intranet Web app as your primary workspace for 8 hours a day and not have the benefit of rich controls that silverlight or flash can provide.

  • These are good thoughts Joel and I agree.
    As for the Object tag, currently that playground has some love for: data:application/x-silverlight

  • @Dave - true enough. In my mind, there is a real separation of what the web is, and what an intranet is. That being said, in my opinion, you don't need silverlight or flash to make an intranet app pleasing to use.

  • @Dave, you are somewhat correct.

    It's easy to create a web applications that's fancy, has the bells and wistles, and looks great in Flash/Silverlight.

    however, with a bit more effort you can create the same using HTML4/HTML5.

    The main benefit of Silverlight to me is I can have a intranet application writen in Silverlight for the company guys to use, and if they wanted, they could use it disconnected because you can install a silverlight app to your computer.

    Hook it back up and upload your informaion.

    That is a huge benefit of these "plugins".

  • I think you're declaring an ideal over what's practical. Your Flash uploader example is kind of makes that point. Most people have Flash, so who cares if it's Flash? If you could do it with Javascript today, why would you want to reinvent that wheel?

Comments have been disabled for this content.