Plip's Weblog

Phil Winstanley - British .NET chap based in Lancashire. Enjoys tea and tech. Working for Microsoft.

Ajax and usability.

We all know the drill, fill in the boxes and click the button, the page posts up to the server, we watch the progress bar and we wait for 4mb of viewstate to come back down, ticking away to it's self.

Ajax.

What's my page doing now? I've clicked the button ... there's no status bar, no progress showing, nothing to let me know where my request is at (has it finished posting? am I waiting for the response? has it crashed? did the button click even get picked up?).

So, what's needed to fix this?

Well, for start, a progress bar that people could use would be a great help. Flash designers and developers have used these for years. Please, Ajax developer, use progress bars - not just some animated gif which loops, because that would be irritating.

Or how about this ...

We've filled a long form in, pressed the button and we're now waiting for the response, except, wait, what's this? I've spotted a mistake! I'll press "Stop", that stops things for me ... or does it? Not in Ajax.

Back, Refresh, Go ... all are gone, users normal methods of doing things are broken.

Seriously guys, you need to think about existing customers and the millions of web users that know how to use current applications when designing new applications.

One thing I'd really say is a bad idea is mixing Ajax code with no Ajax code on the same page.

What do you guys think?

 

 

Posted: Oct 16 2005, 08:40 PM by Plip | with 4 comment(s)
Filed under:

Comments

Plip said:

Oh and for the record, I love Ajax, I'm just not used to it yet.
# October 16, 2005 3:41 PM

James Crowley said:

Yep, that's something I don't like at the moment either. The only way I can see we could do this would be to polling the server at an interval for a status report - assuming it actually would have something meaningful to say back. And as for cancelling an AJAX request half way... mmmm.... does Atlas support transactions? :D
# October 16, 2005 7:22 PM

Rudi said:

So quite right...

Some weeks ago, I was having a look at enabling getting this sort of information out of the ... what is again, HttpXMLRequest... as I said, some weeks ago.

Did not find a suitable way yet, as IE does not implement the full Interface (again, ISIte I believe) to get to all the methods of the object, and if that worked, it would not work for the 'other' browsers.

Weird thing is. All Ajax implementations I have seen do the request, async, and in the handler loop until the state of the call is complete, but do nothing while the state is still 'in progress' => there would be the opportunity to update a progress-bar. But it would be difficult to find out what how far in the progress you are, 10%, 90%...?

You raise another very BIG point, stopping a request that is busy. But this is something I have been missing in many applaciation, even in many multi-threaded apps. My desire for any application:
Re-instate the 'Esc' key.

In most apps there is no way to 'go-back' or 'refresh', so I'm not sure user will mind. But I see many problems with users using those buttons and app failing to respond to these 'events'.

# October 18, 2005 8:16 AM

Weblog said:

Ok, so Plip continues to have this seizure over AJAX. I thought he was going to have coronary over...

# October 9, 2006 5:15 PM