« JS in November | Main | Arrington on pro news »

October 08, 2006

Yo, Coach Wei!

Yo, Coach Wei! I'm calling you out here, to get some interactive discussion on the arguments closing your Sys-Con article: "Ajax is open, standard-based and web-native. Flash is not open standards-based. Flash content is not native web content and has a lot of interoperability issues with other web technologies. Of course, the community is shifting towards Ajax!" My reply, in the extended entry, is admittedly flame-y, but it's meant in good spirit, and for the greater good.

I don't usually admit this, but those arguments are pretty dumb.

I keep a civil tongue in my mouth when dealing with customers, potential customers and web influencers, but because NexaWeb poses itself as a competitor, I have no problem acknowledging my biases up front: those arguments have been weak for years, and the only reason we keep hearing them is because not everyone listens to others. It's an ineffectual line, and I'm personally tired of having it shoved in my ear as if it's a divine revelation or something.

(ooh, that felt good to get off my chest... let's see if my ID card still gets me in the office on Monday, or if it gets voided for lack of diplomacy.... ;-)

Here are some problems with that paragraph:

  • "Ajax" is left undefined. "Oh, everyone knows what Ajax is" is as mystifyingly useless as "This site is Web20 but that site is not" or even "I know pornography when I see it". You're talking, at length, without saying anything.

  • XmlHttpRequest is not "standards-based"... it was a Microsoft "embrace & extend" move from the late 90s that only got noticed once the high-falutin' JavaScript guys got it in the favored Mozilla browsers. The ability to retrieve text without refreshing the whole page is not only a trivial ability, but it has the precise genealogy you cite as evidence of others' damnation.

  • "Open" is another dumb argument. You and I cannot change how a JavaScript request is implemented in someone else's browser. You might be able to write a letter to the ECMAScript committee working on future specs (where, incidentally, Macromedia and Adobe both contribute heavily), or you might be able to write a feature-request letter to one of the various browser manufacturers, but that's different from affecting how someone else's computer works. Puttering with your PHP engine on your server is different from getting your work to render predictably on everybody else's computers and other devices. You use the word "open" like "flag, mom, and apple pie" is used by others. It feels nice, but the closer you look, the more ineffectual the argument becomes.

  • "Flash is not open-standards based" therefore sounds like "Flash does not like apple pie". Flash work may not have been conceived by a panel of experts at the United Nations after long years of insightful theory, but Flash is the actual standard capability on the world's computers. (Flash technology has been conceived by long years of continuing conversations between engineers, customers, and their clients, not just a panel of experts and academics.) Further, the world's Adobe Flash Players achieve things with media and networks that the browsers have not yet even mentioned in their future roadmaps. It has evolved faster than clientside Java, is adopted by consumers faster than clientside Java, and does far more, far more predictably than either clientside Java or clientside JavaScript. De jure standards aren't more "pure" than de facto standards -- if they were, I'd pass down some religious holy book and tell you what to do, instead of appealing to your reason as I'm doing now. You could make other arguments, but that "Flash is not open-standards based" objection is a dumb one.

  • "native web content" -- geez. The Netscape Plugin architecture was announced in June 1995, same time as Sun's Java announcement, six months before JavaScript arrived. (Yes, I know about LiveScript.) These were all delivered at the same time, in Netscape 2.0. Shockwave was there, Acrobat was there, but Flash was built specifically for the Web and so didn't arrive until a few years later. Browsers added extensibility and interactivity together -- one is not "more native" than the other. With the realworld acceptance and reliance on SWF content these days, you'd have to convolute your head quite a bit to be able to say "it's not web-native".

  • "shifting towards ajax" Lots of people may be looking at extending their JavaScript skills towards text-refresh, and I think more websites should consider using such techniques. The rate of growth in advanced media & interactivity via Flash Player probably exceeds this, however. I don't think many JavaScript/LAMP people will learn the Flash Professional timeline this year. I do see that nearly everyone who critically examines Flex or Spry is blown away by what they can do, and how economically they can do it. The Sitepoint survey is interesting, but you'd need to look wider to see what it really describes. I want to see both JavaScript and richer things expand in use.

  • "interoperability issues" If you talk about browser-bookmarks I'll smack you.... ;-) The reason it's so hard to get universal text-to-speech or transparent compositing or insertion into the document history and such is precisely because browsers vary. That's also why they can't do as much, as consistently, and with such universal adoption, as a single chromeless engine within the various browsers can.

Here's where we're at: the browsers vary among manufacturers, and they've got a middling speed of adoption, and people configure their HTML browsers in different ways. The Adobe Flash Player fits within these diverse environments, and provides a very predictable, high-performance, and far far richer experience -- transparently -- and with very rapid evolution on consumer machines. It is the actual standard in the world today.


Technology choices should be made on what they offer you, the costs, the risks and potential future rewards. Basing technology choices on theology and wordgames is... well... not the best way humans might spend their time.


(btw, I have an intuition that I'd end up personally liking Coach Wei, were we ever to meet. But it's the repetition of weak arguments, and the apparent inability to learn from repeated replies to them, that I'm railing at here.)


Comments policy: Brevity wins. I'll cheerfully snip comments which meander, or which assert without evidence. We're here to learn.

Posted by JohnDowdell at October 8, 2006 09:07 AM

Trackback Pings

TrackBack URL for this entry:
http://weblogs.macromedia.com/mtadmin/mt-tb.cgi/7869

Comments

So many holes in Nexaweb's CTO's commentary there, I just want to tackle one that wasn't mentioned here...

The graphs in that article are almost embarrassing, for Coach Wei. The second graph which shows "how developers are moving away from Flash to Ajax" poses the person taking the survey an entirely loaded question which is classic with marketing folk.

"Which technologies are you ... planning to to use in your future web projects?"

This sort of question is most likely processed by you or I as "Which technologies [that you are not currently using] are you planning on using next year?"... Don't kid yourselves if you think this is not how it works; and with a massive 70% of the companies asked NOT using AJAX currently, of course the stats are going to look sensational with this in mind. The same question with "Ruby on Rails" being an option would see similar results, yet it has little impact ultimately on what people are using on the whole even if they also want to branch out and make use of the excellent Ruby on Rails as well.

I'd just like to pose one question. What happens to your legacy support or site maintenance policy when a new browser launches and you realise the AJAX framework you've picked (out of the hundreds in use) fails to work with the new version of said browser. How much money are you willing to burn maintaining the masses of sites your company has worked on every time a new mainstream browser is released? What if a site has used up it's maintenance budget already?

Posted by: Richard Leggett at October 8, 2006 12:09 PM

I just read the comments policy. So please allow me to inject a lot of the word "probably" before some of those assertions. :)

Posted by: Richard Leggett at October 8, 2006 12:29 PM

Great post. I have often thought that MM's (and by extension, visible representatives) pursuit of ambient goodwill and political correctness in the wider tech community has often encouraged the type of ill informed and potentially willful misinformation we see from Wei and similar reactionary malcontents.

I think Adobe's inclusive move towards Javascript (AJAX) developers with Apollo is very smart but I think Adobe also needs to communicate effectively the enormous benefits of Flash/Flex over Ajax. For developers such as ourselves it's not even sensible to compare the technologies for obvious reasons but to the wider audience, these technologies are clearly perceived as being in a competitive space and Adobe needs to address that.

It's not about shooting down Ajax which if you don't know Flash is very useful, but it is about showing Ajax developers how much more can be achieved with the Flash player at a much lower cost, with infintely greater portability, scalability, and ease of maintenance. Not to mention the inherent guarantee of backwards compatibility.

Posted by: Clark Slater at October 8, 2006 12:32 PM

I've also been surprised by MM (and now Adobe's) good-natured attempts to include other platforms and technologies while proponents of those same platforms and technologies actively and, most often, mistakenly oppose the Flash Platform's place in the world. Whenever an article is published on Flash or it's tools, the reactions it gets from certain communities are depressing. "Why can't we all get along?" ;) And while we get along, I'll be happy spending less time and money on browser compatibility and more time analyzing the UE of our sites.

I guess as engineers, we all feel pride in what we accomplish, and hearing that there was probably a better way to do it hurts that pride. But for the most part, my conversations in person end on a happy middle ground since misinformation is the biggest issue.

Posted by: James Lyon at October 8, 2006 07:46 PM

whoa Mr. Wei, good thing we didn't listen to your reasoning during the desktop revolution. We'd probably be using computers to arrange type blocks on printing presses right about now.

Reading Clark's comment is like listening to Marc Canter 14 years ago. Way to go Clark! How could I improve on JD's comments?

The only thing I missed reading was "how Flash was born of creative expression as opposed to a need to address a technical problem."

Ajax is mostly a developer's term but to Flashers, Ajax is lame, late and confusing to our clients that get it.

Posted by: Brent at October 9, 2006 02:06 AM

JD:

First a preface: Flash video rocks! Now then...

Your first couple counter-arguments make sense to me. "Ajax" is a murky concept, and XmlHttpRequest ain't an open, standards-based thing. Things begin to go off the rails after that, though.

"Open" isn't anything like a dumb argument. It was important to me, from a business perspective, that I had a hand in developing the Atom syndication format. It's important to some people that they can contribute bugfixes to Mozilla. I would love it if there were a community-based process for handling potential tagname collisions in Coldfusion and Bluedragon. I'm sure there are plenty of people who could extract real value from an open Flash development process.

[jd sez: Hi, Roger, thanks for visiting... but that was my point... that saying something should not be accepted because it "is not open" requires defining "open" first, and the input process to get a change into other people's Firefox is pretty much the same as the input process with Flash. Changing the code on other peoples' machines is hard either way; it's not like changing the PHP on your own server.]

(I'm not arguing that Adobe should do such a thing, by the way. I'm just arguing with the way you've seemingly trivialized the value of being open.)

Next, you're blurring the notion of standards. Standards aren't a matter of an installed base... they're about the ability to compete, and direct influence over the forward momentum of a technology. IOW, right now, Adobe decides where Flash goes next, and whenever the Flash team has to make an arbitrary decision, that's The Way Things Are. That's not the way things would work if Flash were standards-based.

[jd sez: That sounds like the "open" label, then. Adobe has to collaborate with Flash evolution. Mozilla also has to collaborate, then decide. W3C has to collaborate, then decide. Businesses or other groups which ignore stakeholders don't succeed for very long. If "Flash were standards-based" (read: cross-company committee-based) then it's hard to see how it would have differed from SVG's evolution. Not all decisions need heavy centralization to reach general acceptance.]

(Again, not arguing Adobe *should* do this.)

And finally"Web native", in this context, means hypertext. Flash (along with every other plugin-oriented form of content) isn't web-native. Now, much of Ajax is "non-web-native" as well... Javascript, XmlHttpRequest, etc. The difference is that, underneath all of Ajax's extra stuff is (or should be) a hypertext document that meets some minimal functional level when everything else is turned off.

[jd sez: Sorry, I'm confused by that one. Try again...?]

Posted by: Roger Benningfield at October 9, 2006 06:08 AM

Post a comment




Remember Me?



(you may use HTML tags for style)