Last night I attended the first of the Google New York Speaker Series. It was a talk given by Adam Bosworth titled "Physics, Speed, and Imprecision: What Works and What Doesn't in Software, and Why". The description for the event had me hoping that Adam would talk mostly about machine learning and natural language processing (two topics I am very interested in). Mostly it was about how different changes in computing and connectivity have changed what is possible over the last ten years. Specifically, how AJAX has become usable over the last few years despite Adam and his team releasing the underlying technology back in '97.
Even though the talk was not as technically deep as I was expecting, it was entertaining and Adam discussed a few points of interest. I took notice of his points about designing user interfaces for the web, when to worry about rich internet applications (RIA), and AJAX in general. One thing was to consider is how often your users are going to be working in the application and design accordingly. In the case of a spreadsheet, document, or mail program you can design assuming that these will be high use applications. Thus things like hotkeys, context menus, toolbars and other little bits can make things easier and faster for regular users. But in the case of an application that only gets used once a week, once a month, or once a year you generally start taking out these kinds of features because the users just aren't going to remember the ins-and-outs of all these different applications.
One of the examples used was "a large online bookselller" (I think it's safe to assume Amazon). The argument was that since the customers of Amazon only use the site an average of once a month, it has no use for a RIA style interface. While I can agree with that, I think Amazon can definitely make better use of AJAX. There are tons of little things that could be done to their site that wouldn't change the UI in any way. The addition of little AJAX features would just make it a lot more responsive. Take for example the Wish Lists. I use my wish list on Amazon to keep track of books that I would like to eventually read and leave it up for family members looking to buy me something on holidays. Managing this list is a pain in the ass. To change the priority on an item I have to hit the dropdown and click save which then triggers a complete page reload. There's no way to change priorities or delete on more than one item at a time. I think there are other ways to improve this interface, but they would definitely complicate things. However, the simple addition of AJAX to this interface would keep it identical while making things speedier. Hit delete on an item and AJAX takes care of it instead of a complete page reload. The UI is exactly the same, it's just quicker. Change the priority on an item, click save, and AJAX takes care of it. Again, the UI is the same, it's just quicker. I guess it would change the fact that the user doesn't see a complete page reload, but things like the yellow fade technique can keep things intuitive.
Adam's talk definitely covered other topics, but this was one I latched onto. Everyone debates over whether different applications should even use AJAX. I think that almost any web application can benefit from quicker response and avoiding entire page reloads. The trick is just to recognize when and where to use it. Thanks to Adam and Google for a fun thought provoking event!
P.S. For those interested, Google should be posting video of the talk soon. I'll put up a link when I see it online.