There's not many things I don't like in Firefox, but there's at least one UI behavior that could to be
When you type an invalid protocol in the URL bar, you get a message prompt identical to the infamous
I think alerts have without a doubt their raison d'etre, but they should be treated with special care
because they tend to break the user's work flow.
Consider what's happening in Firefox: For some reason, I type htp://google.com in the URL bar.
An alert dialog with a rather long message prevent me to correct the error until I click "OK".
I just made a typo, that's no reason to lock the whole application pal.
A user confronted with this dialog have to options, either he grab the mouse and click on the OK
button (the only one actually) or to hit enter/space.
That could be tolerable if at least it would bring back the focus on the URL bar, so the user can
correct his error while, hopefully, not leaving his hands from the keyboard.
So here's my suggestion to improve greatly the user experience in this situation: just a tooltip please.
I made a mockup to illustrate what I mean.
Notice that I've also rephrased the message. I think the original was not very helpful for a non-tech savvy user.. It probably could be better, but I think it illustrate my point.
In conclusion, I think modal dialogs should only be used when the application (or web page) absolutely
needs to prevent the user from performing further action(s) before grabbing a user's input. The perfect example would be an item deletion confirmation dialog.
If it does not contain a OK and a Cancel button, you probably should not be using a modal dialog.
Note: Tooltip design grabbed from prototip2's demos, thanks dude.
Update: I got some interesting feedbacks I totally agree about this post:
Alternatively, an error page could be displayed in the browser window like many other errors that Firefox displays. Instead of "Address Not Found" and asking, "Did you make a mistake when typing the domain? (ww.mozilla.org instead of"www.mozilla.org)" it could say "Could Not Understand Protocol" and ask, "Did you make a mistake when typing the protocol? (htp:// instead of http://)" or something like that. Rather than introducing new UI paradigms, it's good to stick with what's already there if it works well.