AJAX may be the biggest waste of time for the Web

Note: this entry has moved.

AJAX is OLD. It's been around for a decade. It's based on the techniques that exist almost since the web exploded: HTML, Javascript. Both have served the Web well. Both are bound to die.

Seriously: do you really want to develop rich apps using loads of javascript, XML and HTML manipulations? Isn't that more or less what you have been doing for the past decade? And a decade in internet time is a LOT of time!

I don't think the future of the web lives in HTML and forms and javascript. The future of the web should be fully inmersive 3D worlds where you can hang around, look at things, interact with other people/buyers, etc. Imagine what Amazon would be with such an approach. Instead of browsing catalogs, walk past some hall and find all products in a shelf. Look up and see the special offers signs. That's the web I want for the future. What is my broadband's use if all I'm gonna get is faster static flat graphics and buttons and text??? 

There is already a web technology that would readily support building next-generation websites: Flash. It's deployed on **98%** of internet-connected PCs. That's WAY more than any single browser, and most probably more than all XMLHTTPRequest/AJAX-capable browsers together!

And Microsoft is down right with their approach to take over the web: XAML, fully powered by vector graphics that will make those 3D worlds possible. But they made what I think was a terrible mistake: rewrite Flash by themselves. You see, when Vista finally hits the streets, Flash will still be the most mature vector-graphics platform out there, with XAML almost certainly full of bugs and missing lots of features (it's going to be a v1 after all), lack of support and adoption for years, etc. Had Microsoft bought Macromedia/Flash, Vista could have been released at least a year ahead of time, its new UI powered by Flash, and seamlessly integrated with the web.

Now, if somebody is going to do anything to fight MS in this new wave, it'd better start by buying Flash (now owned by Adobe). And there's no-one in a better possition to compete than Google. I just hope Google doesn't waste too much time and money in a decadent platform, and realizes soon enough to survive MS' next attack.

And if I were Microsoft, I'd leave IE as-is, full of bugs, with a leaky script engine, and maybe make scripts slower in future releases. In the end, improving the browser in a world where they would like everyone to switch to XAML will only benefit Google, who seems to base its strategy in AJAX applications.

40 Comments

  • No, Flash is broken from the core. I know more about the file format internals than just about anyone. It's just plain crap. Ask anyone who develops content tools for Flash (hell, we have a few ex-Macromedia product devs on our current product teams and they will confirm this). Microsoft's approach with WPF/E is the future. Flash is the past. It won't matter than Flash has been around for 10x as long, because in all those years, Macromedia has failed to make it into the development platform it could and should be...and, by the way, neither Flash doesn't support your cool 3D worlds of the the future anyway. Not that those 3D worlds would be any good...I shop on the net because running a 2D text based search on amazon is 1000x faster than running through the 3D barnes and nobel and trying to dig up the book I want to read.

  • Interesting analysis. I think Google could take this approach and win. People would think it was a cool move. Microsoft, on the other hand, wouldn't win if they did it outright. As soon as they bought it, people would have fled elsewhere.

    The only way to go for MS is using web-based standards and, in this case, AJAX being accepted by Google and Firefox has made it a de-facto standard. Kind of sad, considering they introduced the core technology behind it. True nonetheless.

    Seems that for whatever reason MS will often need to take a follow stance.

  • > Instead of browsing catalogs, walk past some hall and find all products in a shelf. Look up and see the special offers signs

    Doesn't sound too realistic to me. Who wants to be led by the nose round someone else's virtual shopping world? I'd much rather google for the products i want.

  • Mpf. Try developing standards for THAT. What about people with disabilities?

    Flash is for web what Hollywood is for movies. It looks shiny, but look beyond, and you find it really doesn't add anything to the purpose. Guess you read Otherworld too much. :)

  • AJAX has been around since 98, but the dynamics are now different. Bandwidths are higher, and PCs are faster. This lets you download large amounts of Javascript, and run them with a decent enough UI.

    That is why AJAX is good. And it has a completely different purpose than flash. Check out Flex/Adobe.

  • The problem with flash is the crappy development environment. Is there a Visual Studio .NET plugin for flash?

  • Sahil Malik: "AJAX has been around since 98, but the dynamics are now different. Bandwidths are higher, and PCs are faster. This lets you download large amounts of Javascript, and run them with a decent enough UI. "*Precisely*!!! What are you doing with my bandwidth?? Giving me "decent enough UI"?! I have a hell of a horsepower machine at my home (and laptop too), with video cards that were the dream of professional video makers a couple years ago. And all you do with that is give me some hiding panels and unfolding divs and async posts of tiny pieces of XML?! It's a total waste of bandwidth and machine power, and it's a serious step back. IMO.

  • Jesse and Wallym: you complain about details of the technology, not about its core rendering engine. Improving a file format is a piece of cake for anyone. Improving the dev experience is a piece of cake for MS. Imagine MS Expression powered by Flash. Do you really think you would notice the difference whether the rendering engine is Flash or XAML??

  • Amazon serves my purpose great as it is now. I would get crazy searching for my books in some virtual 3D reality. For me the web is about information and knowledge, not about some extra cool experience. We have enough video games and movies to satisfy that "need".

  • Who's gonna spend tons of time developing a virtual shopping store? It's gonna be costly!

    If Flash is gonna rule... should we start to learn ActionScript now?

  • For me, the thing about Flash is that it is popular for ads and becomes invasive.

    I can stop an animated gif, but Flash is beyond my control in the browser. I can uncheck play and it keeps playing, I uncheck loop and it keeps looping.
    These are more easy fixes, but they are unlikely to happen because the ad agencies are the ones paying for licenses for flash, not the browser's users.

    While there are worlds of possibilities for future UI, we need to move forward at a sane pace.
    We need something to replace Flash, not because it is "bad" or "old" technology. We need to replace it because it is primarily a platform for advertizing with a secondary "mini-movie" distribution role.

  • IceMan, do you really think it's more productive to browse pages, drill down to details of an item, etc. rather than just walk the shelves, pick a box, turn it around, chat with other buyers, etc.? Do you find special offers easily in a webpage? I tend to ignore all of them, but when I walk @ Fry's, I find a lot of interesting little things that I wasn't even looking for. That's the real difference between a store (virtual or otherwise) and a website.

    As for information and knowledge, do you think reading a wikipedia article on katrina can provide more a durable experience and knowledge than seeing what happened, with computer overlays, statistics and comparisons with other natural disasters, a virtual tour and so on? Maybe I'm too much of a sci-fi guy, but this web is far from what I expect from the exponential grouth of bandwitdh and computation. The user experience has not been increasing accordingly. We're in the stone age of information visualization and web/computing resources usage.


  • Reading this blog entry was the biggest waste of my time lately and I am compounding that by commenting...

    Honestly, "fully immersive 3D worlds" to shop Amazon? "Instead of browsing catalogs, walk past some hall and find all products in a shelf".

    If you want some really cool 3D Amazon interface, why don't you get together with them and ID3 and tie that in with the Quake engine?

    Are you just trying to get hits by saying something shocking, "AJAX sucks"? The good thing about this reading this blog entry is that it saved me from ever visiting your site again - first and last time!

  • dcazzulino: I think it's easier and much more comfortable. Searching for books (or other items) in a 3D virtual reality is just overkill in my mind and serves no purpose. When I go to amazon I just want to be able search for books and read what others have to say about them. Simple text and a couple of images are enough to do that.

    Reading an article on wikipedia on Katrina and then watching videos that are available on the net are enough too. Can't see that "computer overlays" or some other fancy stuff is going to give me more knowledge of that.

  • Well, of course we're in the stone age in terms of computing. I'm not sure how Flash is going to solve that.

    And if you've ever used the garbage that is Flash/Actionscript/Flex programming, you'd quickly realize just why you don't see more Flash apps.

    Do you know about the "new" bug? You can't use the word "new" in a string. So you have to do stuff like "n" + "ew". And MM claims they can't fix this. This is what Jesse means when he says that Flash is broken.

    Jesse was being gentle with the criticism. I'll tell you that MM/Adobe doesn't have a clue when it comes to development.

  • Sam: if this is the first time you come across my weblog, then probably you're not doing much XML development in .NET at all, so I'll probably not miss you too much. And rest assure that I don't need catchy titles to get more hits than I already have.

    Now, if you think the current browsing experience (plus some more javascript-based little gui tricks) is all you need from the web and your current machine power, then that's fine. Just stick with an old PIII with 512mb ram and a 64mb video card. It's MORE than enough for the best AJAX sites around. My point is that I don't like wasting 80% of my computing power just to see some damn collapsing panels, menus and whatnot. If you think that's the ultimate user experience and all the world should be investing time and money in developing more javascript little gadgets, then you're probably too conforming a person.

    Microsoft is going to push the limits, whether you like it or not, and whether you think plain old text and graphics is fine for you. After some time, we'll see what you think. Maybe you were one of the guys that also said DHTML was a bad thing back in the days of IE4 when MS first introduced it...

  • foobar: I'm not saying Flash is going to solve that, but it certainly does make a little more use of my computer than a hiding panel.

    I haven't programmed Flash myself, and I can understand if it's a pain. That doesn't dismiss the point, which is that it's maybe a much better place to start rather than yet another javascript/html/xml-based hack. Just tell me who believes programming javascript nowadays (and for the past 10+ years) thinks it's a pleasure...

  • My point is that the development environment is fairly poor. The language is poor. The whole development experience is poot. yeah, it produces some really cool UI stuff, but the whole programming experience is bad. I think its funny when people say that they will build their whole application in Flash.

  • BTW, I agree MM/Adobe are not development workshops, and that's most probably the problem. Hardly on the vector graphics vision and/or rending engine. If you only think about the years it's been around, and only now MS and the W3C seem to "realize" how important it may be in the future...

  • Sure thing Wallym. But if you put that technology in the hands of MS/Borland, just imagine how real it could become to build an entire application in Flash. For some reason, everyone is too busy getting in this ridiculous AJAX bandwagon (except MS that has enough resources to get on it and also invest in XAML for longer-term and sustainable approach to "whole application" development).

    I've been on the AJAX world long before it even had that name. And it's a PAIN, probably not unlike the Flash development one either. The point is where you will actually put your effort for improvement. Finally a decent javascript IDE so that you can spit easily more old-days-HTML? I would't bet on that, at all.

  • Eric: good point. And from the point of view of the functionality both offer, you'd still say AJAX is better position to enable next-generation websites?

    I still believe Flash was well ahead of its time. Most people still don't get what you can achieve with the full power of a vector graphics environment, combined with good programming support. We'll have to wait 'till Vista is around, and those game developers/designers start getting into the application development loop... ah, I can hardly wait!

  • Well, yes. But to be fair, they both suck, just in different ways.

    I remember a whitepaper (Forrester, Gartner, Jupiter, I can't remember) I received about 10 years ago that had a title like:

    "Java is great, but Flash will rule the Web first"

    Well, it's 10 years later... I see less Flash now than I did five years ago, and I can't remember the last time I saw a Java applet (thank god).

    Both Java applets and Flash make the mistake of viewing the browser as nothing more than a delivery container. This has the effect of emphasizing an all or nothing approach to the technologies. Back button or refresh? Too bad, start the loop over. Moreover, forget any scalable, team-oriented approach to development.

    The whole idea of a web application to NOT do what flash does, namely lob all your business logic out to the client. I just love the fact that my entire application is available for scrutiny by anyone with a SWF decompiler.

    Will Flex change any of this? Perhaps, but Acromedia seems unable to release any comprehensive data-driven SWF variant without a five figure server license. It was true 6 years ago when I was evaluting Communications Server. With Flex running $15K per server and $1K for each Builder license (based on the FREE Eclipse IDE), it's still true. I can't think of a better way to make your platform immediately irrelevant.

  • Bah, Humbug! Flash, Schmash; XAML Bammel.
    AJAX, schmajacks!
    Been drinking too much of that Yerba Mate, Daniel.

  • Well, I agree that Flash is not the ideal platform. The point was that AJAX can never compete with the UI richness that can be achieved with vector graphics. And MS could have leveraged a lot of experience in the rendering engine behind Flash (as well as any competitor that realizes that it can be critical in future applications).

    However, there's nothing in the vector graphics approach that forces you to put the logic on the client ready for decompilation. That depends a great deal on the implementation, and it may be very well the case that Flash is not good at that.

    Peter: the doctor forbid me the Yerba Mate since my ulcer a couple years ago, so it's not the culprit ;-)

  • De verdad, Daniel, los vagos tienen razón, ¡Flash es impresentable! Si querés sigo la lista de desastres que arma con las diferencias entre los plugin para diferentes navegadores. Por ejemplo, los eventos disparados en Firefox no se corresponden ni en tipo ni en número ni en criterio con los de IE. Sólo una muestra más de cuán mal manejado está el código de Flash en todo sentido.

  • I certainly understand your point of view but I think you'll need the next 5 - 10 (10 may be too much but u get the idea) years to realise that vision in a pervasive way. Google is a massive driver of AJAX style apps, and the fact is they are good and have a huge mindshare in terms of consumers and devs.
    AJAX at the very least will be the way to do things in that timespan until such time as some more immersive technology becomes the focus. Yes Flash and XAML can do it, but which do you choose? The community will eventually decide this for us.
    Ultimately, you may see things like Atlas generating WPF/E style apps instead of the associated client script framework to make it work, but for now, its client script.

  • Really, you ought to try some Flash programming. Once you've decided that cutting off your hand with a dull saw is less painful, you can reassess your view on Flash.

    Look, it's broken. Really broken. It's so damned broken, even MS, with all their broken products, wouldn't touch them. That tells you just how broken it is.

    JavaScript is much less buggy, and actually makes sense in some manner. Do you know what a timeline is? Wanna develop an application with timelines, in the _awful_, _awful_ tools that MM provides?

    Go download the Flash IDE. Try it out. You will be using one of the worst IDEs ever.

    And according to MM/Adobe, they _have_ an awesome development platform - it's called ColdFusion and Flash. Too bad it's not nearly as good as they claim it is.

  • Come on dude. You're trolling with the "AJAX sucks" post. Yeah Flash is cool....for about 2 seconds, then I'm looking REAL FAST for that "skip intro" button.

    Honestly, I can't say much about the Flex environment because I stopped working with Flash/Actionscript about 6 years ago. Much has changed, I'm sure. But still, it's still coming from a "graphic designer" perspective.

    Heck, I remember working with Director (ok, I'm dating myself here) and thinking "too bad Flash doesn't even have this free-form lingo scripting, instead of that crappy Actionscript dialogs".

    Plus, nowadays, nothing really takes off without an open source effort. Tools, runtimes, file-formats, etc...Macromedia is still holding on too tight to Flash. At least nobody "owns" AJAX, it's out there open for anybody to use, or maybe better said 'abuse' it.

  • >> *Precisely*!!! What are you doing with my bandwidth?? Giving me "decent enough UI"?! I have a hell of a horsepower machine at my home (and laptop too), with video cards that were the dream of professional video makers a couple years ago. And all you do with that is give me some hiding panels and unfolding divs and async posts of tiny pieces of XML?! It's a total waste of bandwidth and machine power, and it's a serious step back. IMO.

    <<

    Well, and that is coming in the form of XAML/WPFE. But you have to do the Boston bigdig and backfit everything onto existing technology and infrastructure. The internet is like a middle aged man - paying the price of those binge drinking parties.

    What you're asking for will happen - there is work being done on it, but be patient. :).

    SM

  • Agreed that Ajax is a "waste" of time. It has some interesting usage, but overall too much trouble to be properly used.

    I think you're missing the boat big time on Vista though. Of course v1 will be bug ridden and not as stable as Flash, but we're talking about Microsoft. They eventually, most of the time, get it right and they have the most popular and most widely used OS on the market.

    Think about it. Imagine being able to use Word, Excel and all other applications from a website. Anybody will be able to make an application for your desktop, and it automatically becomes web based. Both web and desktop are now vectors. That's powerful.

    Flash has always lacked a development studio. It was created as a tool for "designers" and the community remains as such today. The problem with that is, most applications are created by hard core developers, working along side designers together. Flash never had good, fast, reliable features which made that combination of dev & des work properly. If I'm right about Vista, Visual Studio will encapsulate both the dev and des tools to properly extract both tiers and combine them together.

  • *exactly*!!! Everyone tends to agree that in proper time we'll have next-gen UIs based on vector graphics powered by apps designed by gfx designers and developers working together. And the only one doing something to make that future possible is Microsoft.

    So, do you think Google will be riding the wave in 3-5 years time when AJAX is the DOS of the web??? What I'm saying is that a better paradigm is needed. Someone should take Flash engine and fix it, improve the dev experience, take advantage of the incredibly market share it has, that's all. If you look at Google market share numbers, except for Google Search, you will see that they are not doing that well on all other offerings (and I'm a Google lover, believe me). See http://blogs.zdnet.com/Google/?p=198

  • Flash misses the point of the web, plain text. Ever heard the phrase the "Power of Plain Text", text is best for a reason. Flash sucks, but more importatnly, the idea behind flash sucks, graphics suck, they lose the meaning that text can carry. The power of the web is in the information, not the presentation. Every flash app I've ever seen has sucked badly, and so does every site I've seen that was designed by a graphics person, it's HYPER TEXT, not HYPER GRAPHICS. Flash is and will continue to die the death it so rightfully deserves.

  • Wow. Well, I just happened to run across this page on accident looking for something about ASP.NET, so I'm not familiar with your site, Daniel, but...

    It seems from your article that you are not a web developer. A lot of studies have been done on user-interfaces, and when the actual user is asked questions about what could be done to improve the UI, they often give responses like yours. When the UI is changed to meet their wishes, they soon learn that what they wanted is very difficult to use. Your idea sounds like it would be one the most hampering web-experiences possible.

    You start off talking about AJAX, but I see almost nothing to do with AJAX in your article. You mention "collapsing panels, menus and whatnot," but if you seriously think that is what AJAX is, I'm really wondering what you were doing while you were "on the AJAX world long before it even had that name."

    You mention World of Warcraft and Oblivion. When people play those games, they are trying to immerse themselves in a "pseudo-medieval" experience. They expect to have to walk to a "vendor" to buy their products. Your idea of walking through a bookstore reminds me of how I searched for books back in the 1980s. Weren't we talking about the future? I'm not going to have to use my hearthstone on a one-hour cooldown to get to my "homepage" in your future, am I?

    The Internet was not created for "the experience." It's used to disseminate information, and for me, most things standing in the way of getting information is a barrier. AJAX, in its actual form (as opposed to what you talked about in your non-AJAX-related article), is used to remove one of those barriers. It's far from perfect, but it does a good job of removing the barrier it is meant to remove. Instead of a Flash "Skip Intro," are we going to get "Skip Useless Fluff" button?

    "My point is that I don't like wasting 80% of my computing power"

    I would immediately uninstall any web browser that taxed my system that badly. I actually use the other 80% to do other things on my computer. With multi-threading, we actually can run more than one program at once these days!

    "virtual google assistant can bring in (or fly you to)"

    Oh please. Please stop. No flying. We're all adults now and I think we can do without the bells and whistles.

    One of the great things about the Internet is its democratizing voice. If it gets to the point where you have to have a team of computer scientists and designers with advanced degrees just to make your voice heard, we've broken the power of the Internet and given it to the elite.

    I agree with you on vector graphics... as a supplement to current technology.. but that's about it though.

    I don't know why I even bothered to write all that. I know it's just your dream of how things should be. I guess I just like to try to educate people before they go destroy my job as a web developer (as a base of reference, yes I do do 3D graphics programming, and yes, I also work as a graphic designer, so I do appreciate the value of a good, useful, and well-designed web UI).

  • Thanks for your comments duncan. Much appreciated, even if I tend to disagree.

    And yes, maybe it's just me reading too much sci-fi and fiction movies. I don't see humanity using keyboards and scrolling plain text pages to get knowledge in the future, that's it ;-). So I firmly believe AJAX (as in async javascript and xml) is a dead end.

    About being a web developer: I did pretty much all google AJAX stuff does today, only 3-4 years ago. And I wrote a couple web development books (search for Wrox or Apress). But I consider myself as an ex-web developer, and very happy at that, BTW.

    Regards!


  • So it is "old" technology. But then again the 10 year delay has been the very gradual standardization (and in some cases creation) of Javscript ,XML, DOM, HTML and CSS that allow us to write these AJAX cross-browser apps. Now it can be done without *as much* effort as it had been in the past. Perhaps a threshold has been crossed in that regards.

    Could AJAX tech be better? Yes of course, but it is what we have. Flash? that is proprieatary and to be honest the IDE and programming model is lousy. Where Flash shines is making animations and movie clips (no surprise there).

  • You also have to use whats available today.. Waiting for Xaml or Flash to be fixed is a ways away. So in the meantime what do i use to develop interesting web apps? plain html or Ajax. I think there is some real value in Ajax like apps. It sounds nice to navigate through 3d virtual web worlds but thats a dream 10 years in the future.

  • As long as the Javascript makes up the word "A*j*ax", you will never be as productive as you can be with a full-blown programming platform as Java or .NET (and their corresponding powerfull IDEs). Javascript will continue to be a huge pain in the butt for the foreseable future. Of course, you can hide it under wrappers, libraries, controls, but as soon as you need to go deeper than libraries provide (and you will, rest assured), you will be in a world of pain.

    I'm so happy to be DONE with Javascript... I can't really tell you how much... (not that the dynamism of JS isn't awesome, of course)

  • If you had any doubt about Google looking around, see http://www.google.com/gmm/tour.html
    Guess what, it's not AJAX, it's *JAVA*!

    (ok, it's for the mobile, but hopefully you get the point)

  • Pff, this conversation hurts my eyes (and even moreso when I see that it's still on a live webserver after almost a year) - I was working with "AJAX" years ago, only then it was called "remote scripting". It was just as painful then as it is now. So what are you debating now? Nothing, that's what - because you're way too late and have been suitably blinded by the industry marketing machine. AJAX? No such thing - it's just a marketing ploy designed by people that want to appear like they have a clue what they're talking about.

  • word to the last remark

Comments have been disabled for this content.