I was hiking with my dad and father-in-law in the Columbia Gorge a few weekends ago. At one point along the trail my dad took out his camera to take a picture; my father-in-law, who is a photographer, mentioned to my dad, “It’d be better without flash.” I was struck by how he profoundly and unknowingly affirmed my convictions about work in my field. It would be better without Flash. Why? Flash can do some amazingly cool things, but as a firm believer in the Open Web, the nature of Flash is quite troublesome: it is a proprietary technology and uses a binary format not consisting of Web technologies (as I recently blogged about at work).
In spite of the closed nature of Flash, many things are currently impossible without Flash, of course. However, now with stepped up efforts by browser developers (including Gears) and the development of the HTML5 specification, the things which are impossible without Flash are dwindling. Browser vendors are rapidly implementing cutting-edge technologies such as SVG, CSS transitions and animation, HTML5’s
canvas elements, and custom fonts with
In short, the technological foundation of the Open Web has been quickly growing to provide the compelling features which Flash now makes available. Nevertheless, while the things which have depended on Flash are dwindling, it is still currently a lot harder to do these things without Flash because Adobe’s IDE makes designing and developing Flash apps relatively easy for people not intimately familiar with the technical details. What the Open Web needs, therefore, is an IDE which can provide the same level of abstraction as Adobe Flash. We need an IDE which is able to intuitively generate and manipulate the technologies of the Open Web. Mozilla’s new effort on Open Web development tools, led by Dion and Ben of Ajaxian, seems like a great start. In fact, I think it would be great if the Firebug Working Group joined this new effort, and if the Firebug extension itself would be the development tool which would be the focus of the new developer tool set.