This link has been bookmarked by 108 people . It was first bookmarked on 02 Mar 2006, by Gabe Fender.
-
03 Nov 08
-
27 Mar 08
-
20 Feb 08
-
21 Aug 07
DJHell .Ajax is an awesome technology that is driving a new generation of web apps, from maps.google.com to colr.org to backpackit.com. But Ajax is also a dangerous technology for web developers, its power introduces a huge amount of UI problems as well as server
-
18 Jul 07
-
15 Jun 07
-
27 Mar 07
-
21 Jan 07
-
02 Jan 07
-
11 Dec 06
-
05 Dec 06
-
16 Nov 06
-
16 Oct 06
chris-4x4I've compiled a list of the many mistakes developers using Ajax often make. Javascript itself is a dangerous UI technology, but I've tried to keep the list to problems particular to Ajax development
web2.0 web xhtml xml programming ajax javascript tutorial development
-
06 Oct 06
-
Asynchronously performing batch operations
Sure with Ajax you can make edits to a lot of form fields happen immediately, but that can cause a lot of problems. For example if I check off a lot of check boxes that are each sent asynchronously to the server, I lose my ability to keep track of the overall state of checkbox changes and the flood of checkbox change indications will be annoying and disconcerting.
-
Not cascading local changes to other parts of the page
Since Ajax/Javascript gives you such specific control over page content, it's easy to get too focused on a single area of content and miss the overall integrated picture. An example of this is the Backpackit title. If you change a Backpackit page title, they immediately replace the title, they even remember to replace the title on the right, but they don't replace the head title tag with the new page title. With Ajax you have to think about the whole picture even with localized changes.
-
Too much code makes the browser slow
Ajax introduces a way to make much more interesting javascript applications, unfortunately interesting often means more code running. More code running means more work for the browser, which means that for some javascript intensive websites, especially poorly coded ones, you need to have a powerful CPU to keep the functionality zippy. The CPU problem has actually been a limit on javascript functionality in the past, and just because computers have gotten faster doesn't mean the problem has disappeared.
-
Inventing new UI conventions
A major mistake that is easy to make with Ajax is: 'click on this non obvious thing to drive this other non obvious result'. Sure, users who use an application for a while may learn that if you click and hold down the mouse on this div that you can then drag it and permanently move it to this other place, but since that's not in the common user experience, you increase the time and difficulty of learning your application, which is a major negative for any application.
-
Not using links I can pass to friends or bookmark
Another great feature of websites is that I can pass URLs to other people and they can see the same thing that I'm seeing. I can also bookmark an index into my site navigation and come back to it later. Javascript, and thus Ajax applications, can cause huge problems for this model of use. Since the Javascript is dynamically generating the page instead of the server, the URL is cut out of the loop and can no longer be used as an index into navigation. This is a very unfortunate feature to lose, many Ajax webapps thoughtfully include specially constructed permalinks for this exact reason.
-
Blinking and changing parts of the page unexpectedly
The first A in Ajax stands for asynchronous. The problem with asynchronous messages is that they can be quite confusing when they are pop in unexpectedly. Asynchronous page changes should only ever occur in narrowly defined places and should be used judiciously, flashing and blinking in messages in areas I don't want to concentrate on harkens back to days of the html blink tag.
-
Breaking the back button
The back button is a great feature of standard web site user interfaces. Unfortunately, the back button doesn't mesh very well with Javascript. Keeping back button functionality is a major reason not to go with a pure Javascript web app.
-
Changing state with links (GET requests)
As I've referenced in a previous posting, Ajax applications introduce lots of problems for users who assume GET operations don't change state. Not only do state changing links cause problems for robots, users who are accustomed to having links drive navigation can become confused when links are used to drive application state changes.
-
- Not giving immediate visual cues for clicking widgets.
If something I'm clicking on is triggering Ajax actions, you have to give me a visual cue that something is going on. An example of this is GMail loading button that is in the top right. Whenever I do something in GMail, a little red box in the top right indicates that the page is loading, to make up for the fact that Ajax doesn't trigger the normal web UI for new page loading.
Mistakes:
- Not giving immediate visual cues for clicking widgets.
-
is an awesome technology that is driving a new generation of web apps, from maps.google.com to colr.org to backpackit.com. But Ajax is also a dangerous technology for web developers, its power introduces a huge amount of UI problems as well as server side state problems and server load problems.
-
-
28 Sep 06
-
18 Aug 06
-
16 Aug 06
-
Asynchronously performing batch operations
-
Not cascading local changes to other parts of the page
-
'click on this non obvious thing to drive this other non obvious result'.
-
many Ajax webapps thoughtfully include specially constructed permalinks for this exact reason.
-
Asynchronous page changes should only ever occur in narrowly defined place
-
Changing state with links (GET requests)
-
Not giving immediate visual cues for clicking widgets.
-
-
03 Aug 06
-
01 Jul 06
-
22 Jun 06
-
21 Jun 06
-
13 May 06
-
27 Apr 06
-
03 Apr 06
-
16 Mar 06
-
21 Feb 06
-
09 Jan 06
-
27 Dec 05
-
15 Dec 05
-
05 Dec 05
-
04 Dec 05
-
23 Nov 05
-
07 Nov 05
viniciusjlThe POSIX thread libraries are a standards based thread API for C/C++. It allows one to spawn a new concurrent process flow. It is most effective on multi-processor or multi-core systems where the process flow can be scheduled to run on another processor
ajax article blog scripting javascript usability web programming design xmlhttprequest
-
25 Sep 05
-
14 Sep 05
Are Halland"Ajax is (...) a dangerous technology for web developers, its power introduces a huge amount of UI problems as well as server side state problems and server load problems." (Alex Bosworth)
-
08 Sep 05
-
24 Aug 05
-
22 Aug 05
-
21 Aug 05
-
If you change a Backpackit page title, they immediately replace the title, they even remember to replace the title on the right, but they don't replace the head title tag with the new page title. With Ajax you have to think about the whole picture even with localized changes.
-
-
10 Aug 05
-
08 Aug 05
-
07 Aug 05
-
15 Jul 05
-
12 Jul 05
-
30 Jun 05
-
28 Jun 05
-
27 Jun 05
-
23 Jun 05
-
21 Jun 05
-
17 Jun 05
-
16 Jun 05
-
15 Jun 05
-
04 Jun 05
-
30 May 05
-
28 May 05
-
27 May 05
-
26 May 05
-
25 May 05
-
24 May 05
-
23 May 05
znarforI've compiled a list of the many mistakes developers using Ajax often make.
-
22 May 05
-
21 May 05
-
20 May 05
Would you like to comment?
Join Diigo for a free account, or sign in if you are already a member.