Did you ask the users before implementing AJAX?
So, would it come as a surprise to you that my good intention of using AJAXish behavior on an existing web application turned into a nightmare of gargantuan proportions, and it had nothing to do with knowing how to use AJAX?
It had all to do with knowing when to use AJAX.
To keep this entry simple, suffice to say, that I decided to implement a Google Suggest like capability for a search field in the said web application. I was happy with the result and so was my manager and we decided to show this to the users.
They hated it.
Not just hated it, but showed a varying range of emotions including paranoia, skepticism and general hatred towards the programming geeks (OK just kidding). Sample some of the responses (You need to know Google Suggest to understand these responses):
1. Why is this page not refreshing?
2. What is this drop down and why doesn't it go away?
3. Where is my result?
4. How do I select my result?
5. Why is this thing preselecting a partial result?
6. Aren't we paying you too much?
7. This coffee you served smells weird.
(They didn't actually say the last two, but I swear they meant to).
So, lesson learned.
Users are used to a certain way the web works. They expect a page refresh. Unless the whole web changes to resemble AJAXish behavior, they won't like this mixing and matching. Confusion will reign. Do I wait for the page to refresh or will this text box magically open up? Do I click this button or do I let it be clicked for me? In short, user experience will suffer.
I am not bad mouthing AJAX. It's a cool new slant at a new web (using, I emphasize, existing technology). But that's it. It's a cool new programming technology for the programming types. Unless the actual users initiate the need for change, or the users are involved from the start and shown the possibilities and accept the changes, use AJAX in moderation. Take one bitter pill a day.