IE Inadequate? No, Ajax is Inadequate.

IE Inadequate? No, Ajax is Inadequate.

Summary: Ajax is powerful because it is simple. Applications are starting to run up against problems that come with developing a rich application within the browser. The developers of these applications are going to need to move beyond the browser and embrace the next generation of Rich Internet Application technologies.

SHARE:
TOPICS: Apps
19

A couple of days ago, my colleague here at ZDNet, Richard McManus wrote a post that talked about Zimbra and how their application doesn't perform well on IE. The exact title is "Zimbra performance issues highlight IE's inadequacies as web 2.0 platform". This is a perfect example of why these more advanced applications need to move beyond the browser. Until they do, they'll be plagued by performance issues and lose users despite having a good idea.

ajax.jpgAjax is a simple and elegant tool, which is why it's so powerful. There are a ton of good Ajax applications out there, and as a technology, it deserves all of the attention that it gets. However when developing any kind of application, you need to use the best tool for the job. In this case, Ajax falls far short of technologies like Flex, WPF, and OpenLaszlo. Now, I realize that only one of those products is out for commercial release, but companies looking to build rich, high-experience applications shouldn't be using Ajax, they should be looking at the next generation of RIAs.

The CEO of Zimbra, Satish Dharmaraj said that his application is "pushing the envelope of Ajax". But Ajax, just like everything, has limitations. As more applications with the richness of Zimbra come out, the developers using Ajax are going to run up against those limitations. This is eventually going to spur adoption of the RIA platforms. We'll probably have a year where very rich Ajax apps are going to be seen side by side with next generation RIA apps done in Flex or WPF. When that happens, allowing users and developers to see the technologies side by side, they're going to like what they see from the next generation. Ajax will continue to do what it does best, but where performance and interface matter, WPF, Flex or OpenLaszlo will be first choice.

There is also the question of whether or not Rich Internet Applications are really worth the overhead. One of Richard's posters quipped that Zimbra took 4 minutes to load while Gmail loads in less than 10 seconds - and he/she is absolutely right. Even if a great Flash application loads in 20 seconds, why not use Gmail, which loads in 10 seconds? Because richness is going to be a big value add, that's why. Applications that incorporate new levels of collaboration, multimedia and user experience are going to turn the web application world on its head. The line between the desktop and the web is going to blur, and the most important users, the ones at home, will be drawn to a richer experience. That in turn, is going to draw content providers and advertisers in a big way.

I like Ajax, but when you're trying to build applications for the cutting edge, look in a different direction. Ajax will only take you so far, and if you invest the time and energy in it, you'll find yourself on the outside looking in.

Topic: Apps

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

19 comments
Log in or register to join the discussion
  • <expletive deleted> Rich!

    [i]There is also the question of whether or not Rich Internet Applications are really worth the overhead. [/i]

    You take ten pounds of rich, I'll take an ounce of usable. Every time someone comes around telling us the wonders of "rich feature set" on a nonessential process, it breaks an essential work function.

    Can I view documents for review in a browser? Can I post comments? That's what I freaking [b]do[/b] when I'm not doing design or verification work th
    at only runs on tools which [i]simply aren't available for Microsoft[/i]. All three functions work, [b]now[/b], reliably. Which is more than I can say for what happens to any of them after they get "riched."

    Your "rich internet experience" means that I have to add an otherwise useless MS desktop to an already crowded workspace or, worse yet, get rid of the workstation I'm using and take a hit on the work I spend 80% of my time on.

    All to satisfy the "Ooooo! Shiny!" reflex of some suit in headquarters who hasn't the first clue what actually goes into productivity and will have his secretary read and print out his e-mail anyway.
    Yagotta B. Kidding
    • You're Not the Audience

      Obviously I don't think the web is going to go away, but more and more heavy duty applications will be delivered over the web, and the browser is simply not the best medium to handle them. Some of those applications will be geared towards mainstream users who like the "shiny". Those are the people marketers like.
      ryanstewart
      • Never mind the marketers

        [i]Some of those applications will be geared towards mainstream users who like the "shiny". Those are the people marketers like.[/i]

        I don't give a rip for the marketers on the public Internet -- anyone who turns control of their computer over to a "rich application" that they install deserves what they get. Since ADA and other legal weapons ensure that there's a way around that kind of nonsense for any really important access, I wish them happiness together.

        However, the [b]intranet[/b] applications are where the real idiocy happens. The twits who sacrifice core business functionality for eye candy are the bane of my workplace existence.

        [i]Obviously I don't think the web is going to go away, but more and more heavy duty applications will be delivered over the web, and the browser is simply not the best medium to handle them.[/i]

        Name one that the majority of knowledge workers have any need for. The key operations we all do daily are:
        * Access to common knowledge (document access mostly)
        * Direct communications (telephone, e-mail)
        * Access to shared projects

        None of these require the kind of fragile point solutions you're describing for essential functionality. What the "shiny" crowd gets is more animated navigational widgets that actually (by comparative observation) actually take [b]more[/b] user time to perform the same basic functions.

        Thanks, but I'll stick with the (thankfully legally-mandated) minimalist alternatives.
        Yagotta B. Kidding
  • AJAX apps wll be inherently limited

    There really will not be that much competition between RIAs and AJAX apps in the long run. The APIs used by WPF are many times richer; are much easier to program against; allow you to program using OOP (meaning that you can create much more stable, sophisticated applications); allow you to use capable, easy to use design tools to construct your interface, etc. The bottom line is that programmers will be able to create simple to sophisticated RIAs in a fraction of the time it takes to create lesser applications in AJAX.

    P.S. [url=http://zdnet.com.com/1606-2-6076247.html]This video demo[/url] includes a look at the New York Times reader.
    P. Douglas
    • Reality check

      [i]The APIs used by WPF are many times richer; are much easier to program against; allow you to program using OOP (meaning that you can create much more stable, sophisticated applications); allow you to use capable, easy to use design tools to construct your interface, etc.[/i]

      Just exactly which straw men are you comparing?
      Yagotta B. Kidding
      • Re: Reality check

        [i]Just exactly which straw men are you comparing?[/i]

        Simply compare the New York Times reader app shown around the middle of [url=http://zdnet.com.com/1606-2-6076247.html]this demo[/url], to almost any Ajax app such as [url=http://maps.google.com/]Google maps[/url]. 1) Google maps cannot work while someone is disconnected from the web. 2) For a fraction of the effort it took to create Google maps, a better RIA app could be made with considerably more capability.
        P. Douglas
        • Changing the subject

          [i]Simply compare the New York Times reader app shown around the middle of this demo, to almost any Ajax app such as Google maps.[/i]

          Your grandparent post was about developer tools, and the sibling of the parent to this one takes me to task (mistakenly) for ignoring that point. Please discuss the development environments that led you to complain that OO programming isn't possible with AJAX.

          As for the demos you cite, you appear to have indirectly made my point: Google maps is there, but the link doesn't produce any NYT readers.

          Oops.
          Yagotta B. Kidding
          • Re: Changing the subject

            [i]Please discuss the development environments that led you to complain that OO programming isn't possible with AJAX.[/i]

            Is OOP possible with client side programming with AJAX? Even when dealing just with the presentation layer of an app, it is very helpful to have supporting code using OOP. Now if we are talking about an app that supports disconnected states, then you are going to have to include business and data access logic in the app as well on the client side. While I suspect these things will be supported by WPF / WPF/E and their associated frameworks, AJAX apps simply don?t accommodate these things ? much less provide OOP languages to support them.

            ([b]Note:[/b] I?m not talking about server side code, which I?m aware can be written in the Java OOP language for both AJAX apps and RIAs.)
            P. Douglas
      • Nice

        [i]Just exactly which straw men are you comparing?[/i]

        Nice fake, but this is a developer discussion. I can see from your past comment you're a web [u]user[/u]. If you have experience developing AJAX apps. then say so.
        Mark Miller
        • Double fake

          [i]Nice fake, but this is a developer discussion.[/i]

          And I was asking about development tools. Blatant nonsense like the assertion that AJAX doesn't allow the use of object oriented programming don't get you very far when the audience knows better.

          The grandparent poster appears on its face to be about as accurate as objecting to *nix systems on the grounds that they're limited to paper TTY I/O.

          I am, however, willing to learn assuming that the grandparent poster goes into enough detail to enable a meaningful discussion.
          Yagotta B. Kidding
          • Message has been deleted.

            Mark Miller
  • Ajax is a pass thru

    Great article Ryan.

    As many cool AJAX tools as I've seen, I'm starting to believe that AJAX will most likely end up being the catalyst that will move developer mindsets to create RIAs. Like I've said before, I see lots of cool application 'features' created with AJAX but very few complete applications. This is the strength of Flex/Flash and where it will shine.

    Even though it's been said over and over - Flash/Flex are cross platform and cross browser. Express Installation makes plugin updating a breeze. A couple of the big benefits of developing with these tools are 1) I can create an application in Flash or Flex and serve it as a web based application or as a stand alone on the user's computer, feature complete without worrying about any coding changes. 2)I can store user data for any disconnected offline use. These are big things. It's nothing new but It's nothing that AJAX is going to be in the position to do unless folks start taking advantage of XUL wrappers (like what Songbird does) and that doesn't solve the issue of disconnected use.

    I have found cases where AJAX has been the tool for the job but it's always been in feature development - never application development and I don't think it ever will be in any great measure.
    brandonthedeveloper
  • Just the "J" part is inadequate

    Javascript is the problem - as I've said before, its the COBOL of web programming. Until and unless <b>we</b> stand up and demand a better PL to be blessed by the W3C and embedded in all browsers - we are stuck with 10 year old, version 2.0 technology.
    Roger Ramjet
    • I Agree

      I agree Roger, but I don't think that's going to happen. We're going to have to move beyond the browser to do the more complex, demanding applications. Do you think we'll see a better way to write apps in the browser in the future?
      ryanstewart
      • It doesn't have to be that hard

        If you can get Mozilla and Opera and Safari to agree (not impossible) to embed a new language (I propose Ruby, but Python and others are possible) - the W3C will be very eager to hold the specs. M$ is a wild card, and I suppose they would stay on the sidelines unless it took off.

        How did Javascript come into being in the first place? Netscape rolled it out, and M$ and W3C adopted it. Has ANYTHING been done to Javascript since Netscape went under?
        Roger Ramjet
  • I have been saying this for years...

    AJAX is OK in certain situations, but to actually develop an *application* in it? NO WAY!

    It is actually lighter, less bandwidth, less CPU/RAM, faster, and (best of all) easier to develop and maintain to allow the user to RDP or VNC or Citrix or XWindow into a terminal server and run a traditional desktop application than it is to do it via AJAX. And you don't need to worry about maintaining slightly different code for each browser, either...

    Think outside the box, and you don't get the same mediocre results that everyone else gets...

    J.Ja
    Justin James
  • This is so much BS it is not even funny

    I wrote the book Ajax Patterns and Best Practices, and am writing Ajax and REST Recipes. Throughout the two books I have discovered one thing. Most (not all) are developing Ajax applications as if they were traditional OO applications. Ajax, and JavaScript is not OO, it is prototype-based dynamic language programming. That is the next generation of programming.

    So if you try to slap OO on Ajax and Javascript you are going to fail, and fail miserably. When Zimbra says they need "rich" and Gmail ain't rich well that is pure BS. Gmail is minimalism, which means give me what I need to get the job done. Zimbra is "let's through as much features in an see which ones are used".

    The bigger thing you should note is that Zimbra is selling software and Google aint! If there is one thing I have noticed about Web 2.0 is that software vendors keep saying, "Oh you need this that and the other thing" Whereas companies like Amazon, Google, map.search.ch, and Yahoo are just building the apps people need without much complaints! Tells you something no?
    serpentmage
  • RIA: Forcing the Designer to do the Programmers Job

    Hello All

    I have had some experience with RIA, specifically Flash RIA using the Flash Remoting unit and .NET

    Here is what I discovered. RIA development, while producing fantastic User Interfaces, forces the Flash designer to know how to program. Often designers are not programmers and rarely can one be great at both. We did an RIA checkout for an e-comm site (look at www.gregorygroves.com), we expected the checkout to take around 150 hours to complete (from start to finish), it took 550 hours. If I had written a non-RIA version I would have completed it in less then 8 hours.

    Why? because RIA required that all the business logic be written in Action Script, not C# or any other OOP language. While both Flash developers working on the project had quite a bit of experience in Action Script neither were solid programmers, after all that is NOT what they do. They had to struggle with gaining a true understanding of programatically enforcing business logic rules which is far from what both were used to doing because thats what we programmers do.

    While RIA is fantastic and as new versions are released I hope that RIA will model itself after UI/programming separation, letting the designer do what they do best and leave the business logic up to the programmer. OpenLazlo seems to be moving in this direction.
    mknopf
  • Wrong to compare AJAX on Web Apps with RIA apps on Desktop

    AJAX used to build better capable front-end (or User experience)for current generation of web apps is being compared with the nascent RIA platforms for desktop-based apps. Thats I feel is like oranges and apples being compared.

    A little desktop server platform with AJAX for front-end and working off a local browser, could be a future platform that can compare with the emerging RIA options from Microsoft and Adobe. If such a little desktop server brings a good OO capabilities, then developers have the comfort in programming complex logic, while designers (web programmers and graphic designers) still get their favorite environment consisting of markup and scripting.

    I would be discussing more on this topic at http://pullur.wordpress.com
    jay@...