On Ajax, Walls and Writing

As a general rule, I try only to post content involving source code on my blog. I have been known to leave long comments however, and that’s exactly what happened yesterday when I read Richard Leggett’s blog post on the future of Ajax. I have nothing but the utmost respect for Richard, but I thought this particular post could use some rounding out. After some consideration, what follows is that comment turned blog post.

Catch-up has been slow, but I think that is in part because Ajax as a unifying term has really only been around for a few years. It is also much harder to accomplish drag/drop, etc. in the standards-based world. Flashers have really only had one runtime to worry about, and have had drag/drop since near the beginning, so it’s not that hard to believe that type of functionality was taken for granted some time ago.

It is true that user expectations are becoming more demanding at a rapid pace, and Richard list some great examples. Many of these can be emulated wholesale by emerging standards (i.e. SVG, 2D/3D Canvas, audio/video from the HTML 5 specification, as well as font embedding for CSS3).

For as far ahead as Flash may be in some areas, Google took Ajax and made a calendaring system, collaborative spreadsheet and even a decent word processor. Flash is only just now getting around to the word processor, and still lacks examples of a spreadsheet and calendaring system used on the same scale as the Google suite.

It’s true that standards bodies move slow. Committees and political agendas abound. There’s something to be said for that vision though. What happens for Flash if all the aforementioned standards (proposals really) actually do become standards? HTML 5 even includes an embedded database, for which Flash has to go to the desktop (i.e. AIR). ECMAScript 4 and the Tamarin VM could put the browser on the whole on the same playing field as Flash, and it would all be standard.

An interesting side note about solutions and alternatives is approachability. Richard alludes to this, but when it comes to making Flash support deep-linking, testing and even accessibility, there’s a fair amount of additional work that really requires the developer be “in the know.” SDK’s and IDE alternatives for Flash may also be available, but Notepad/TextEdit is always right there.

Turning the conversation 180 degrees, let’s not forget that for all of Flash Player’s ubiquity, there’s nothing that comes close to the vast amount of standards-based HTML content out there. Most Flash in fact still requires HTML to at least setup where on a page that content will reside, and to specify what content will act as the root. HTML rendering in Flash Player is extremely limited, but there’s no more ubiquitous format anywhere.

I also find it amusing when Flash developers tout Flash Player 9’s VM and AS3 as a language. Let’s not forget where Flash came from, and remember that Flashers have struggled with component development in Flash since scripting was introduced the Player. It is only recently that this has become mature, and that component development in Flash has a long ways to go to match what Microsoft has across the board.

Shall I get into the ubiquity of Flash on devices? Decent support (if not excellent support) for HTML is available on far more devices than Flash Lite.

Another random anecdote is that while Flash fancies itself ideal for animation, Dreamweaver had a “timeline” feature for DHTML, which was removed, and then put back again due to overwhelmingly popular demand.

Before this starts turning into a flame war, I want to be perfectly clear that I’m not trying to bash Flash. I hold Flash very near and dear. I’m also not trying to say that HTML is ideal for every RIA. Regardless of the camp you side with, there are zealots/purists on both sides - and that’s a good thing. Those folks that push at both ends are largely responsible for feature innovation. Zealots and purists are also a bad thing in that they further the “fear uncertainty and doubt” factor against other technologies.

The reality is that there’s a vast amount of grey between either end.

Whether you’re a fan of Adobe AIR or not, it certainly blurs the line between both technologies rather significantly. I think it will inevitably show where developers could be if they stopped being so entrenched and learn to embrace the whole toolkit available to the web developer.

Isn’t it the user who we’re all really fighting for? Within the context of the browser, wouldn’t it be amazing if all these technologies played well together? What kind of RIA’s would evolve when both browser standards and browser extensions were equal parties? What would it take to get there? I think those are the types of discussions looking thought leaders from both camps dead in the eyes (including vendors such as Adobe itself).

9 Responses to “On Ajax, Walls and Writing”

  1. John Dowdell Says:

    Howdy Kevin, sorry about that breakfast burrito you didn’t get to enjoy…. ;-)

    “It’s true that standards bodies move slow. Committees and political agendas abound. There’s something to be said for that vision though. What happens for Flash if all the aforementioned standards (proposals really) actually do become standards? HTML 5 even includes an embedded database, for which Flash has to go to the desktop (i.e. AIR). ECMAScript 4 and the Tamarin VM could put the browser on the whole on the same playing field as Flash, and it would all be standard.”

    For “standards” in that sentence, I think you mean “prescribed standards” rather than “implemented standards”, right? PNG was the very first W3C Recommendation, and I still don’t see 8-bit alpha widely used on websites.

    Some of those “emerging standards” you cite have been emerging for a decade now, so looking at actual capability rather than potential capability may help clarify things.

    For mobile, check out the results of the W3C harnesses that I linked last night… the phrase “HTML support on mobile” is too short and facile to describe the reality. Adobe Flash Lite gives you a known capability, while “html support” gives you a label.
    http://weblogs.macromedia.com/jd/archives/2007/11/w3c_mobile_test.cfm

    What triggered Richard’s article was the set of comments to Dietrich’s piece at Ajaxian. I agree with you on using the whole toolbox. The criteria for discriminating within that toolbox need to be sound. We’ve got to get past overhyping the browser runtimes for them to remain most useful.

    jd

  2. Dusty Says:

    I think that while Richard’s post came off as a bit flame-worthy, the main points are valid. There is no ‘next step’ for Ajax, and you admit it yourself. There is HTML5, when it is supported, but none of what you are javascripting today will be portable to the new DOM, the new Javascript, the new media interfaces.

    HTML5 will be great. I’m a Flex developer and I’m loving it, but I will jump ship as soon as there is a standards-based way of programming actual web applications. You can bet that I will be ready, as my AS3 code will compile with Tamarin when it is finalized. My SQL Lite that I use with Google Gears and AIR will be right at home, and innovative projects like Degrafa: http://www.degrafa.com/ will be the golden children of Web 3.0.

    So there are two choices, neither easy to make. Move to proprietary, semi-open-source, plugin-based development, or stick with semi-standards-based, semi-dom-based, ‘every device can at least parse it, even if it doesn’t get it right’ development.

    I’ve cast my lot, but only because it’s the paradigm that I understand. OOP in Flex comes naturally, but I always broke OOP in Javascript. I feel much more comfortable in OOP, so this is the only decision that was acceptable.

  3. Warum sollte man alles in Flash/Flex machen? - Let’s do this together « boyne.developing Says:

    […] ich sagen:”Warum das ganze in Flex?! Wäre ein Kombination nicht so viel besser!!!” Hier der Post und hier der Ausschnitt der am besten ist: sn’t it the user who we’re all really fighting for? […]

  4. Danilo Celic Says:

    A quick note about Dreamweaver timelines, they are supposed to be removed again in the next version of Dreamweaver:
    http://kb.adobe.com/selfservice/viewContent.do?externalId=kb402489

  5. Mike Says:

    Let’s not forget to always make the distinction between web sites and web applications. Flash will never ever be the right choice to create a web site (like a blog or a news site).

  6. Theo Says:

    “It is only recently that this has become mature, and that component development in Flash has a long ways to go to match what Microsoft has across the board.”

    Have you heard of Flex?

    “What happens for Flash if all the aforementioned standards (proposals really) actually do become standards? HTML 5 even includes an embedded database, …”

    This is what happens: Flash evolves. Like it has done for a while. Do you actually think HTML 5 will be here any time soon? Do you think it will reach 95% market penetration within a year after being released?

  7. Kontra Says:

    In

    Runtime wars (1): Does Apple have an answer to Flash, Silverlight and JavaFX?

    and

    Runtime wars (2): Apple’s answer to Flash, Silverlight and JavaFX

    I explored Apple’s recent moves with WebKit 3.0 to accelerate the formation of a x-platform alternative to non-DHTML runtimes. It’s not unlikely that Silverlight will remain predominantly Windows-only and JavaFX mobile-centric. Odds are better for Flash/Flex, but it will be eclipsed by OS X on Macs and iPhone and other post-PC devices from Apple to come. I don’t see much that’s a lock-in yet.

  8. Kevin Hoyt Says:

    Theo,

    As an Adobe Evangelist, I can assure you that I’m pretty familiar with Flex.

    When I refer to component development, I’m not talking about the act of developing, but rather the monetization of components. There are numerous component development firms around a myriad of Microsoft technologies. There are precious few however for Flex. The richness of component vendors is a general indicator of a technology’s maturity. In that regard, Flex and Adobe have a long ways to go to match Microsoft in championing the developer.

    Yes, Flash evolves. And so do the various standards the drive and power the web today. In the interest of an open market based on standards, wouldn’t it be great if the richness of a standards-based market could match that of Flash? Isn’t that generally the reason developers turn to Flash - because the standards and their implementations let them down? There’s very little that Flash does (or will do in the next two to three years) for which there isn’t an existing standard or proposed standard.

    As Adobe on the whole moves to become more open with it’s technology (both corporate direction and source code itself), I think it is important to champion the standards, contribute to them, and drive them forward, rather than always coming up with alternatives that one entity feels is superior. This is something Adobe is becoming increasingly involved in to actually get the emerging standards to market more quickly. Hopefully we can keep it that way…

    Regards,
    Kevin

  9. ext Says:

    Apple rulit

Leave a Reply