A Different Way to Build the Web

Bill Thompson has a good post about the technology behind Web 2.0 and why it may hinder us more than help us. Unfortunately, he does a huge disservice to himself by painting Tim O’Reilly in the same light as the infamous Yugoslavian Dictator and then using the final paragraphs to perform a chop job on Tim.

The second section is where Bill gets his actual point across, but you do need to weave through the personal attacks to figure it out. Here are the guts of his point:

Ajax is touted as the answer for developers who want to offer users a richer client experience without having to go the trouble of writing a real application, but if the long term goal is to turn the network from a series of tubes connecting clients and servers into a distributed computing environment then we cannot rely on JavaScript and XML since they do not offer the stability, scalability or effective resource discovery that we need.

There is a massive difference between rewriting Web pages on the fly with JavaScript and reengineering the network to support message passing between distributed objects, a difference that too many Web 2.0 advocates seem willing to ignore. It may have been twenty years since Sun Microsystems trademarked the phrase ‘the network is the computer’ but we’re still a decade off delivering, and if we stick with Ajax there is a real danger that we will never get there.

It’s a very valid point, and one that I’ve been following for some time. With Flex Data Services, Adobe has taken a similar position and has worked to move applications to the messaging model that Bill advocates. And technologically, there is a huge benefit to that. Adopting it means that we can do things in real time and really take advantage of the collaborative aspects of the web. Products like WebORB show how much demand their can be.

It’s ashamed that he goes after Tim. I’m as big an Ajax critic as anyone, but I think Ajax has done a lot to raise the expectations of end users and gotten developers to think differently. Is it the final answer? No, but it’s been beneficial and the folks at O’Reilly have always been advocates of better ways.

[tags]Web 2.0, Flex Data Services, Distributed Web[/tags]

  • http://yukonbiz.com/ Geof Harries

    Reality is that developers using Ajax and JS to create these interactions are significantly, no, ridiculously, more vocal about their tool preference than the Flash + Flex crowd. That in itself is a big obstacle to growth and interest.

    Flex + Flash are perceived as “closed and expensive” whereas Ajax + JS is considered “open and free”. We both know this no longer true, but until Flash + Flex gets viral in the general development community, fans like you and I will always have our work cut out for us.

  • http://www.annezelenka.com Anne

    First off, I admit I haven’t thoroughly read Thompson’s article, so take my comments for what they’re worth: not too much.

    I think Thompson goes too far in identifying Web 2.0 with Ajax… the web, whatever version it is, is much more than Ajaxy UIs. For example Flash video and other rich content; also interesting stuff in the middle and back end like RSS, mashups, social media, RESTful APIs etc.

    Also, I question whether what we really want to move to is a distributed objects paradigm (not sure exactly what he means though). CORBA failed miserably. The architecture of the web works pretty well, and it’s scaling okay for Ajax UIs too.

    I won’t argue we don’t need Flash–we do. I think we need Ajax too. The lingua franca of the web is HTML and JavaScript, not ActionScript and the Flash object model.

    Thompson’s article has serious flaws beyond equating O’Reilly as a dictator.

    Off-topic: didn’t realize you were a Rocky Mountain boy. I grew up in Denver, left for many years, now I’m back. I love it!

  • http://www.andfinally.com/ Bill Thompson

    I wasn’t going after Tim as much as trying to point out that if you concentrate on the user experience and not the underlying architecture then you’re in serious trouble in the long term – I think that CORBA or some other distributed model (I liked the work done by ANSA back in the 80′s when I knew the people there) is the only sensible approach and too much of current Web 2.0 thinking deliberately ignores that fact. Ajax is not a solution to the bigger problem but because it sort of works it reduces the effort going into the real engineering issues.

    And I am calling Tim a pragmatic dictator, one who leads a great army through his rhetoric and has shown himself able to learn… I do like the man, after all :-)

  • http://blog.digitalbackcountry.com Ryan Stewart

    Flex + Flash are perceived as “closed and expensive” whereas Ajax + JS is considered “open and free”.

    Geof, well said. Hopefully some of the recent “opening” of Flash will go a long way towards generating viral buzz.

    Anne, that’s a great point. We do treat Ajax and Web 2.0 as synonyms, but there is a lot to Web 2.0 and Ajax is just a very small piece of that. As Bill notes in both his article and the comment here, the underlying architecture has to be taken into account. The web has made application development so easy and I tend to agree with Bill that this has resulted in not enough thought to what happens next. It’s one reason I like the rich client/Rich Internet Application approach.

    Off Topic: I miss Colorado. I always lived on the Western Slope, but if I were to move again I’d go to Denver in a heartbeat. Every time I fly through DIA I miss it a little bit more :) .

  • Pingback: Read/WriteWeb

  • JulesLt

    I’m not sure the web has made ‘application development so easy’. From where I’m sitting it seems to take much much longer to develop a web app with the same functionality as using those 4GL tools that are now out of fashion.

    We seem to be re-inventing whole classes of problems that had once seemed eliminated (XML = navigational databases, persistence to flat files = no locking, no transactional safety, data locked in to proprietary format).

    And while CORBA might have failed, there are messaging systems that are interoperable (JMS,MQ and other vendor specific variations) and which are far more logical for asynchronous services than HTTP.
    What is AJAX but a move from page/request (70s mainframe paradigm) back to client/server?

  • http://bluestranger.com Kris Meister

    Bill Tompson’s article seems more of a complaint than constuctive conversation. He should have presented an assesment of where he feels the future of web application development should be headed. He should have mentioned Flash/Flex, Lazlo, and whatever the Microsoft one is WinFX or something.

    I think the transition to HTML/AJAX has been a natural one which builds upon skill sets which used to be used for static HTML. I’ve found that moving into new more powerful rich internet tools like Flex requires people to start over learning how to build websites/applications from square one, this I believe is the reason the other rich internet tools haven’t appeared to grow as quickly as AJAX.

  • Pingback: JD on EP

  • Rey Bango

    Hi Ryan,

    I think Bill has some good points. Its just too bad that he launches an attack on Tim O’Reilly as it detracts from the main focus of his article.

    I think Kris Meister’s comments sums up the RIA experience best. He gets it. As you know, I’m a big fan of Ajax and I definitely see it as a way to get the general web population exposed to some of the desktop application functionality thats been sorely lacking on the web. And I also see Flex’s amazing potential for *eventually* providing the general web population a complete desktop experience.

    I think one of the things that truly hurts Flex, though, is the constant Ajax-bashing. While Ajax & related technologies isn’t the means for replacing the desktop, it has served as a VERY important stepping stone for taking the web in that direction. With the slew of Ajax-powered sites springing up everyday, its hard for a non-Flex user to read the Ajax bashing, look at the successful Ajax sites, and feel that Flex is the answer. If anything, the negative comments sound more like FUD than reality.

    Flex developers are going to have to learn to embrace both technologies and use them in complimentary ways. Having the “all or nothing” mentality will definitely *not* make Flex pervasive. I think Adobe gets this and thats why they created the Flex to Ajax bridge. I would highly suggest that Flex developers begin looking at how to leverage both technologies and actually build something that people can look at. I’m not talking about cool little widgets or some Flex gizmo thing. I mean a real web application. This is where Ajax/DHTML/CSS have the edge.

  • Rey Bango

    PS: Where are my posters! ;)