Last week I applauded the decline of Flash and other proprietary RIA (rich Internet application) platforms, particularly with HTML5 promising improved support for interactivity and multimedia. Not everyone agreed with me. And like so many tech debates, there’s a flip side to the HTML coin, as I was recently reminded when I took on the job of revamping a Website for a friend’s business.
My friend’s original Web developer had gone missing, leaving him in a lurch. With new products due to arrive and no way for my friend to update the site, it fell to me to pick up where the last developer left off. Like so many small Websites, my friend’s bore all the earmarks of having grown organically, beginning as simple “brochureware” and gaining new features over time: a contact form, photo galleries, a blog. Unfortunately, the result was a mess.
And that’s just the problem. In my experience, for a large segment of the Web, this kind of morass isn’t the exception; it’s the norm. Web standards may offer an open alternative to platforms like Flash, but as a foundation for sane application development, they still leave much to be desired.
An embarrassment of standards
While each of these technologies is defined by standards, actual practice is another matter. HTML tags that behave one way on Firefox may behave differently on Safari, and CSS support varies widely between browsers (particularly where Internet Explorer is concerned . Web developers must constantly balance between supporting the largest possible audience and delivering the user experience the client wants.
One way to restore order to any Web project is to stop reinventing the wheel. Web technologies are a long way from infancy. A wide variety of frameworks and toolkits — many of them open source — are available to help eliminate the drudgery of Web development and ease cross-browser compatibility.
But the problem with frameworks should be familiar to any developer by now, particularly to Java developers. Remember when there were just one or two Java application frameworks on the market? Now there are dozens to choose from — to say nothing of all the tools for other platforms, such as PHP and Rails.
Wanted: Better Web tools
That’s not to say I advocate rip-and-replace as good development practice, or even that everything went smoothly with the rewrite. On the Web there’s always too much trial and error. Compared to the rational, sober, verifiable development methods they teach in computer science programs, much of modern Web development amounts to playing darts.
So while it’s easy to dismiss tools like Flash — and I still argue it’s a platform whose time is past — mainstream Web developers have reason to envy those who build applications with proprietary tools. A tightly controlled ecosystem backed by a major vendor makes it easier to define best practices, set development targets, and deliver results with a minimum of chaos.
We need more of that in mainstream Web development. Adobe has introduced some interesting tools for HTML5 support in its Creative Suite 5 product line, and Adobe Dreamweaver was invaluable to me in making sense of the legacy code in my friend’s Web project, but there’s still plenty of room for improvement. The time for Flash and other RIA platforms is over, but the time for HTML5 is just beginning. What Web developers need now are not more alternative tools, but tools that will help us unify the ones we already have.