Monday, November 19, 2007

Adobe Flash/Flex. Plague of the Web.

Someone posted a question recently on hacker news asking what kind of new software technologies readers are into. Few years ago I would be quite eager to jump on such discussion, raving about something really cool I had just discovered and picked apart in my free time.

I do not follow every announcement from Microsoft, Sun or even Google anymore. After riding this crazy technology train ever since I graduated in 99, I forced myself to slow down and re-evaluate everything I have ever picked up. Turns out it wasn't that much. More than half of what came around had gotten obsolete or irrelevant or proven to be dead wrong.

On the other hand, I see the same old (sometimes scary-old) and good ideas coming back into fashion over and over again being re-packaged into newer and trendier buzzwords.

Did you notice how web programmers pissed all over themselves when they happily discovered MVC? Do you have any idea how old the concept is? Didn’t you find it ironic how JavaScript suddenly became trendy, and not just for the Web, and how its zealots love to name-drop first-class functions and closures it borrowed from 2nd oldest computer programming language in the world?

This is why I started moving back in time about 2 years ago, my latest books are all about “good old stuff”. I met the beauty of Smalltalk and liberating flexibility of Lisp. Bam-m-m! And Boost with its binding facility did not look so sexy anymore… These languages, or should I say cultures, did not land me any gigs and I haven’t done any projects with them, but they helped me to notice and pick up Python and Ruby, discover bash and vim, and enjoy the freshness and simplicity of a plain ASCII text file, free of XML garbage.

Old tech can feel very refreshing after years of Win32, GDI, COM, XML/XSLT/XPath and .NET. Most of that is nearly useless now and the stuff hasn’t even been around that long... I guess I got lucky for not ever touching Java after college - that would be another pile of wasted neurons in my head.

Some "New" Tech is Scary.

In fact (or maybe it comes with age) I started to dislike "new technologies". They are scary, like Flash/Flex/Air from Adobe. I see a great danger of "web runtime" being controlled by a single company, even if they are playing nice and flirting with open source community. If not stopped, Adobe will soon become "Microsoft of the Web" and they will be in control of "Web OS", turning browsers into dumb and irrelevant hosts for Flash Runtime. That is precisely why I want AIR to fail and I hope that more web applications will stick to standards-based HTML/CSS/JavaScript as opposed to moving to Adobe world.

It is sad that Miguel de Icaza, who I have great respect for, is not seeing this when he enthusiastically speaks out on Silverlight issue.

Adobe already controls video on the Internet (YouTube, Google Video) and soon, by looking at the trend established by startups like, Songza and Scribd, Adobe will have the sound and “universal document” formats under their API umbrella. Do not overestimate the power that comes with a monopoly on APIs.

People go nuts these days if they discover a useful web application that's got "Designed for Internet Explorer" stamp on it, but nobody has ever complained about "Designed for Flash" sites that often have zero HTML content on them. Why is that? If anything, Flash is more proprietary in nature than IE. Not only Flash has closed-source implementation, everything about it is proprietary and not standardized: the runtime, development tools, data formats, etc.

What amazing is that nobody seems to notice... Flash is slowly taking over the Web absolutely unnoticed. What happened? Where are you, open-standards proponents? Where are you, folks who used to whine about IE's monopoly? At least Internet Explorer supports a significant portion of HTML/CSS/JS standards. Sure IE has always had Microsoft-specific extensions, but they were only extensions - the basic foundation has always been open. Flash is none of that - Flash represents Adobe's own and complete redesign of the Web.

The only thing stopping them from completely taking over is somewhat higher cost of entry for content producers, i.e. developers and designers. A simple Flash/Flex web form with back-end server scripts is not nearly as trivial to implement as a typical PHP/Rails one-page tutorial.

I like the addition of VIDEO and AUDIO tags to HTML5, I like SVG, but I am afraid by the time all mainstream browsers adopt these features it will be too late. More specifically, I am afraid that IE8 won't be out for the next 3-5 years. Without new IE Flash/Silverlight will win.

Some would disagree arguing that developing for Flash/Flex frees you from browser incompatibilities. They would say that Adobe has not been hostile the way Microsoft has been. To those, I say that any Monarch, albeit wise, loving and open to his peoples, dies sooner or later. And nobody can tell who is coming next.

Therefore let's stick to democracy and avoid rulers altogether.

No comments:

Post a Comment