AJAX Page Functionality / UpdatePanels
I was recently converting a page over to use the standard AJAX UpdatePanel and ContentTemplate. These are some of the first things developers try to apply to their web sites to give them the "Ajax" look and feel, where instead of a user seeing postbacks to the server upon interaction with the site. I realized that with the Web 2.0 concepts I really haven't seen a whole lot of user interface design guidelines for AJAX web sites. How should the user interface react? What are users used to with Ajax?
What led me to realize this is starting out by wrapping an Ajax UpdatePanel around a rather large complex page. Hey, it's Ajax, so it should be better, right? What I found was that I just decreased the user experience. Where users were accustomed to seeing the postback status bar in IE showing them progress for certain actions, now they had no visual feedback whatsoever. They had to wait around sometimes the same amount of time as without a postback, but now with no visual feedback. Hmmm. That wasn't what I wanted to accomplish.
The next step for the design was to split the complex page into different UpdatePanels that contained triggers. Then I could display an "In Progress" gif that showed the user little more what was going on. I also started working on certain portions of page interaction with backend servers that could be done ahead of time upon page load that didn't require user input to initiate. All of those things helped a little, and I ended up with a page that I would consider a reasonable improvement in user experience using Ajax.
However, what it got me thinking is where are the UI design rules and patterns around Ajax in general? I've seen things I like and things I don't like. The old stalwart guard, like Jakob Nielson (whose web site I hate by the way), and Alan Cooper don't have a lot to say (Cooper , the father of VB is a really cool guy and a visionary in human / computer interaction in my opinion – awesome guy to get in a design / architecture related discussion with).
I'd really like to see something started up with Ajax like CSS Zen Garden to showcase some people's design abilities. That might be a little more difficult because CSS Zen garden has a static html text input that you simply manipulate with .css. I don't know how you'd get something that simplistic going with Ajax designs. But hey, it would be worth seeing.
So go for implementing some Ajax in your designs, but in doing so don't forget your users. They can't feel lost, any realtime interaction with browsers has to be an improvement upon the overall user experience.



Comments