Coffeehouse Thread

25 posts

Forum Read Only

This forum has been made read only by the site admins. No new threads or comments can be added.

Is Ajax a success?

Back to Forum: Coffeehouse
  • User profile image
    vesuvius

    One of the major complaints about the new 9’ site is AJAX. I can't imagine why someone would prefer HTTPGET's like the channel 9 V3. I like AJAX when used discretely, but it does appear to be problematic when everything is ajaxified.

    I remember digging into Joe Stagner's tutorials on ASP.NET and it being really exciting. Seeing as I'm client focussed now, and not ASP.NET, would you say AJAX has solved the original problem it was meant to?

  • User profile image
    Ion Todirel

    AJAX *is* just an async HTTP GET/POST you know Wink

    P.S. don't even try to say that AJAX is a set of technologies (wikipedia) or other stuff, for me it's just a async GET...

  • User profile image
    Bas

    I'd say it's a step in the right direction. If done right, you can get desktop-like UX from a web application. It's not quite there yet, but it's leaps and bounds better than the "Here's a page. Click. Refresh. Here's a page." UX from old-school web apps.

    On the code side, though, it's still a mess. You're still using sticks and bits of twine to drag the dead horse that is HTML, CSS and JavaScript over the finish line that is web applications with a desktop-like UX.

  • User profile image
    TommyCarlier

    It is a success if used properly. Google Maps and Live Maps clearly demonstrate that. GMail clearly demonstrates that (Live Mail probably too (don't know)).

    C9v4 is not entirely successful. My view is that a forum's primary functions (viewing/posting) should be accessible without depending on JavaScript. I believe in progressive enhancements where JavaScript replaces the non-script version when JavaScript is available.

    Recently I created a Glossary-page as a part of the Help-system for one of our applications. If you visit the page with a non-JavaScript browser (or with JavaScript disabled), you get a regular list of definitions. If you visit it with a JavaScript-enabled browser, the page becomes interactive, the definitions are collapsed and dimmed and expand when clicking it (or clicking a reference to a particular definition). If you're interested to see how it works, the page is here and the JavaScript-file is here. It's not 100% valid HTML/XHTML but it works in Opera, Internet Explorer, Firefox and Safari (for Windows).

  • User profile image
    W3bbo

    For the most part, I'm not happy with ASP.NET AJAX's implementation of AJAX. The support libraries are far too big (especially for 56K) and most of the controls for it really aren't executed well. They're also a bit of a pain to work with when you want to get the markup exactly right.

    ...the animations are also jerky and not as fluid or "natural" as from say... Mootools or JQuery.

    The only real saving grace for ASP.NET AJAX is the sexy and functional Date picker control, which beats the pants off all the other date pickers for all the other AJAX frameworks, but swapping frameworks just to get a nice date picker isn't worth it.

    That's why I'm sticking with Mootools for now.

  • User profile image
    evildictait​or

    I personally don't like the trend towards Ajax in web applications. HTML/Javascript/CSS was built and designed around defining a common way of expressing data to a user, not designed around making performant or glossy apps to the user.

    Many of these early design decisions mean that Ajax will never be able to reproduce many of the fundamental changes in the way computing is done - losing out on performance, glossyness, static typing, compilation or optimisations that help real apps (and even browser plugins such as flash and silverlight) from being the slow buggy mess that Ajax is.

    Furthermore, because of the different rendering "quirks" between the major browsers, not only do you have to code around the bugs/features of IE/Firefox/Opera etc, but also you have to take into account their current "Ajax state". Even worse, because of Ajax's reliance on javascript to run, tiny browsers such as those used by web-crawlers, consoles, PDAs etc simply won't render the page to get the information out, which leaves the web-experience  significantly diminished for those users, and can cripple your site's accessibility.

    Personally I feel that by the time your web programming has moved sufficiently far from the standard page-based style, you should consider migrating either to a full client-app or to a browser-plugin-based solution in flash or silverlight. Not only does this increase perfomance and grant you tools that are fit-for-purpose, but you also have the advantage of browser render-style independance.

    This site is unique in it's ability to get the message out to the public. Use of Ajax where it's not needed slows things down, provides Heisenbugs that are hard to reproduce and make life more difficult for your viewing public. For small things, perhaps Ajax is a nice-addon, say for a dynamically updating shopping cart while adding items on Amazon or checking a username isn't in use on a register-page, but NOT for refreshing all of the information on a page like Channel9 does.

    If something can be done elegantly or near-optimally using a HTTP get/post scenario, then simply don't use Ajax. You shouldn't use something because it's there, you should use it because it helps solve a problem, and I think Channel9 got that the wrong way round when designing v4 - they said "Ajax is a 2.0 technology therefore v4 should have it", rather than saying "this is what Channel9 needs - what technologies best provide that". It's a pity, because they ought to know better.

  • User profile image
    CKurt

    evildictaitor said:
    I personally don't like the trend towards Ajax in web applications. HTML/Javascript/CSS was built and designed around defining a common way of expressing data to a user, not designed around making performant or glossy apps to the user.

    Many of these early design decisions mean that Ajax will never be able to reproduce many of the fundamental changes in the way computing is done - losing out on performance, glossyness, static typing, compilation or optimisations that help real apps (and even browser plugins such as flash and silverlight) from being the slow buggy mess that Ajax is.

    Furthermore, because of the different rendering "quirks" between the major browsers, not only do you have to code around the bugs/features of IE/Firefox/Opera etc, but also you have to take into account their current "Ajax state". Even worse, because of Ajax's reliance on javascript to run, tiny browsers such as those used by web-crawlers, consoles, PDAs etc simply won't render the page to get the information out, which leaves the web-experience  significantly diminished for those users, and can cripple your site's accessibility.

    Personally I feel that by the time your web programming has moved sufficiently far from the standard page-based style, you should consider migrating either to a full client-app or to a browser-plugin-based solution in flash or silverlight. Not only does this increase perfomance and grant you tools that are fit-for-purpose, but you also have the advantage of browser render-style independance.

    This site is unique in it's ability to get the message out to the public. Use of Ajax where it's not needed slows things down, provides Heisenbugs that are hard to reproduce and make life more difficult for your viewing public. For small things, perhaps Ajax is a nice-addon, say for a dynamically updating shopping cart while adding items on Amazon or checking a username isn't in use on a register-page, but NOT for refreshing all of the information on a page like Channel9 does.

    If something can be done elegantly or near-optimally using a HTTP get/post scenario, then simply don't use Ajax. You shouldn't use something because it's there, you should use it because it helps solve a problem, and I think Channel9 got that the wrong way round when designing v4 - they said "Ajax is a 2.0 technology therefore v4 should have it", rather than saying "this is what Channel9 needs - what technologies best provide that". It's a pity, because they ought to know better.
    You're right !

    When people really want the performance of a Desktop app they should use SilverLight or Flash ! (remember the AOL mail demo at MIX 08)

  • User profile image
    Bas

    CKurt said:
    evildictaitor said:
    *snip*
    You're right !

    When people really want the performance of a Desktop app they should use SilverLight or Flash ! (remember the AOL mail demo at MIX 08)
    Which demo is that? Any videos?

  • User profile image
    CKurt

    Bas said:
    CKurt said:
    *snip*
    Which demo is that? Any videos?

    AOL MIX08 Keynote

  • User profile image
    Itslloydhere

    CKurt said:
    Bas said:
    *snip*

    AOL MIX08 Keynote
    That's quite impressive.

    I think an SL IM app would be really cool, I think he mentioned something about it, but it's 0216 and I want to go to sleep so correct me if I'm wrong Smiley

  • User profile image
    BHpaddock

    Itslloydhere said:
    CKurt said:
    *snip*
    That's quite impressive.

    I think an SL IM app would be really cool, I think he mentioned something about it, but it's 0216 and I want to go to sleep so correct me if I'm wrong Smiley
    Eh... really though, AJAX is just a stopgap.  It's a hack, basically.  I say that because at its core AJAX refers to the use of Javascript to do what would normally be done with client code.  It's just harder and vastly slower.  The only reason it is popular is that it has a standard runtime available on most every machine... the browser.

    But if a technology like Silverlight really takes off, it may eliminate the need for AJAX applications entirely. 

  • User profile image
    JChung2006

    BHpaddock said:
    Itslloydhere said:
    *snip*
    Eh... really though, AJAX is just a stopgap.  It's a hack, basically.  I say that because at its core AJAX refers to the use of Javascript to do what would normally be done with client code.  It's just harder and vastly slower.  The only reason it is popular is that it has a standard runtime available on most every machine... the browser.

    But if a technology like Silverlight really takes off, it may eliminate the need for AJAX applications entirely. 

    So how many Silverlight apps have you all written?  Yeah, that's what I thought.  Please try actually writing one (in 1.0 even), and tell me again how much better Ajax is than Silverlight?  Silverlight is nice for rich media and has some nifty vector graphics and animation capabilities, but it is nowhere near ready to replace Ajax, let alone desktop, applications.  2.0 is promising, but it's still a beta.

    In my limited (but actual) experience, developing a Silverlight app is much like developing an Ajax app, both requiring liberal amounts of JavaScript and markup to get the job done with its own set of cross-browser and limited functionality issues, e.g., try centering wrapped text in Silverlight 1.0, set isWindowless on Safari, Silverlight not officially supported on Firefox 3, Safari for Windows, etc.

  • User profile image
    BHpaddock

    JChung2006 said:
    BHpaddock said:
    *snip*

    So how many Silverlight apps have you all written?  Yeah, that's what I thought.  Please try actually writing one (in 1.0 even), and tell me again how much better Ajax is than Silverlight?  Silverlight is nice for rich media and has some nifty vector graphics and animation capabilities, but it is nowhere near ready to replace Ajax, let alone desktop, applications.  2.0 is promising, but it's still a beta.

    In my limited (but actual) experience, developing a Silverlight app is much like developing an Ajax app, both requiring liberal amounts of JavaScript and markup to get the job done with its own set of cross-browser and limited functionality issues, e.g., try centering wrapped text in Silverlight 1.0, set isWindowless on Safari, Silverlight not officially supported on Firefox 3, Safari for Windows, etc.

    I was referring to Silverlight 2.0.  1.0 is basically a video player as far as I can tell.  2.0 is the real thing.

  • User profile image
    Chadk

    I think it's sad how C9 V4 tries to use Ajax everywhere it's even remotely possible. It annoys the hell out of me, having to wait for the forum to load. I just want it to load when the page gets rendered, not whenever it feels like(Which is the case now).


    Ajax is good for some things, but geez. Don't overuse it. Ajax is a bit like flashy gif's with animations and things, back in the early days of the interweb.

  • User profile image
    Duncanma

    Chadk said:
    I think it's sad how C9 V4 tries to use Ajax everywhere it's even remotely possible. It annoys the hell out of me, having to wait for the forum to load. I just want it to load when the page gets rendered, not whenever it feels like(Which is the case now).

    Ajax is good for some things, but geez. Don't overuse it. Ajax is a bit like flashy gif's with animations and things, back in the early days of the interweb.
    I understand why that would be annoying, using AJAX for everything, and I know we started out that way... but, in response to a variety of folks' complaints, we stopped loading the first page of the forum, threads, videos, etc. with AJAX a while ago. When you navigate to the coffeehouse it doesn't use AJAX, when you click on a thread it doesn't use AJAX ...

    AJAX doesn't come into play until you page or post a comment. When you go to the last entry in a thread I know we had a bug (and may still have a bug, I'll have to check) that causes an unnecessary page reload, but just clicking into a thread shouldn't be using AJAX at all.

  • User profile image
    Chadk

    Duncanma said:
    Chadk said:
    *snip*
    I understand why that would be annoying, using AJAX for everything, and I know we started out that way... but, in response to a variety of folks' complaints, we stopped loading the first page of the forum, threads, videos, etc. with AJAX a while ago. When you navigate to the coffeehouse it doesn't use AJAX, when you click on a thread it doesn't use AJAX ...

    AJAX doesn't come into play until you page or post a comment. When you go to the last entry in a thread I know we had a bug (and may still have a bug, I'll have to check) that causes an unnecessary page reload, but just clicking into a thread shouldn't be using AJAX at all.
    Oh, I did notice that it either got a lot more fast recently or something changed. I hardly even noticed it went back to standard behavior! Big Smile

  • User profile image
    evildictait​or

    JChung2006 said:
    BHpaddock said:
    *snip*

    So how many Silverlight apps have you all written?  Yeah, that's what I thought.  Please try actually writing one (in 1.0 even), and tell me again how much better Ajax is than Silverlight?  Silverlight is nice for rich media and has some nifty vector graphics and animation capabilities, but it is nowhere near ready to replace Ajax, let alone desktop, applications.  2.0 is promising, but it's still a beta.

    In my limited (but actual) experience, developing a Silverlight app is much like developing an Ajax app, both requiring liberal amounts of JavaScript and markup to get the job done with its own set of cross-browser and limited functionality issues, e.g., try centering wrapped text in Silverlight 1.0, set isWindowless on Safari, Silverlight not officially supported on Firefox 3, Safari for Windows, etc.

    Silverlight 1.0's main weakpoint was that it required javascript for all of it's scripting. This horrific bug is fixed in 2.0, so you can get all of the benefits I listed in my previous post.

  • User profile image
    Bas

    Chadk said:
    Duncanma said:
    *snip*
    Oh, I did notice that it either got a lot more fast recently or something changed. I hardly even noticed it went back to standard behavior! Big Smile
    Not to single you out or anything, but doesn't this underline one of the other big problems with C9? That, no matter what happens, people will complain about it regardless of wether they notice it or not? We had this with the spam button, too, where people would still complain about behavior that was fixed two weeks ago.

    Sure, v4 has it's problems, but I think a significant percentage of that exists BCAK.

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.