Our web application has a calendar page which shows details of appointments. We train all users, but they are generally not tech-savvy. These appointments have one of several statuses:
- canceled (beforehand)
All appointments start as
open, it is not possible to have no status.
To change the status, the user can either edit the entire appointment (click on the persons' name) or just click the appointment's status in the calendar. Clicking the appointment will cycle through the status in the above order, which represents the usual workflow and lifecycle of appointments in the application. Clicking on a canceled status reverts back to open. Clicking invokes AJAX that will refresh the status link and update the color of the appointment.
It is usually a frustrating error to click several times on the status link. Sometimes, the request takes 1-2 seconds and more impatient users click the link again. Depending on the browser, that will trigger another AJAX request and when the appointment is redrawn, a double-clicked open status is not confirmed, but arrived. The user then clicks on until arriving at "open" again and then clicks once to go to confirmed.
However, there are some power users who take advantage of that and click 3x in rapid succession to go from open to done at once.
Question: I am thinking of disabling the status link until it is redrawn to catch accidental double clicks. Disabling would style the link as normal text and disregard clicks. This would reduce errors, but take away the exploit for power users. Do you think this modification of common website behaviour is acceptable? Is the trade-off between error prevention and power users acceptable?
Please disregard the ugly mockup and whether that whole status-link thing should be changed, that will be subject to another question. Thank you in advance!