views:

1067

answers:

8

We are programming a web application (not 'just' a web site, but functionality-wise a real application), and have the following discussion for the next release:

  • our UI designer wants to replace the browser's right-click context menu (showing our own menu where appropriate, or no menu at all) because he wants the web app to be more like our (existing) Windows app
  • our developers (and I) strongly object because this is bad practice, and simply something you do not do in a web application

Thus, I'm looking for "more solid" arguments - like best practice guidelines, any statements from reputable sources, coding arguments etc. - for the pros and cons of this issue, which I can hopefully use to resolve it once and for all...

+2  A: 

I personally believe you should leave browser's default behaviors alone... users are used to them, so no need to get them used to your way of doing things.

However, if you're building an intranet (instead of a public site), then I'm for tweaking as much as possible to improve usability.

Seb
+18  A: 

You can't do that reliably anyway. In Firefox, go to Settings, Contents, JavaScript/Advanced (I'm guessing the captions, no English Firefox (; ) to override context menu behaviour and bang, your app doesn't work anymore. My online-banking application did this in their old version, so I couldn't do copy & paste with the mouse. I hated it, so I enabled the protection in Firefox and it worked. Kind of. Their new version doesn't do such bad things anymore.

Instead, use a little drop-down arrow where a context menu is needed, that can either be clicked or just hovered over to show the menu. JetBrains' TeamCity web app does that very well.

OregonGhost
+1 for good alternative solution.
troelskn
+1 Yes, this is a very good alternative.
Eddie
A: 

I think it depends on whether you perceive the context-menu as part of the browsers chrome or not. If you do (and I ascribe to this view), then it should be off target, but otherwise it is a good place for adding some usability to your application.

troelskn
A: 

Replacing the browser right-click context menu for specific areas of your GUI from your web application can be quite useful. Doing this just to disable the context menu will annoy your users, who may try to find a way around it. Also, removing or replacing the browser right-click context menu from the entire area of your application will usually be annoying and can make it more difficult to debug.

Unfortunately, I cannot offer any more solid arguments, and I'm not exactly taking either side of the argument, but I thought I would share my experience both as a developer of a web application and as a web user.

Eddie
+3  A: 

If your application is to run in an intranet, maybe the UI designer arguments are valid: as long as all of the users of the application are well known and you want to emulate some Windows application, I think it's ok to restrict the right-click or any other input, because it's just the requirements of this application, as it would be to any other app.

But if your application is to run in the internet, disabling or replacing right-click is a very bad idea, and these are only some of the arguments I reminded of:

  • First of all, changing the behavior of the user interface is aggressive and annoying -- no one wants to get used to "new controls" just to access your site, and generally people hate to leave their comfort area. I mean, I know what my right click does and I want it to do always the same thing.

  • People can understand the difference between Windows apps and web apps, so there's no need to "emulate Windows app behavior".

  • Not everyone uses Windows :-)

  • Also, this is innefective, sice there are several ways to overwrite this behavior, such as settings in Firefox or even plugins that disable specific javascript instructions, such as this one.

Paulo Guedes
You don't need a plugin to override the behavior in Firefox. It's a checkbox in the Options.
Adam Jaskiewicz
@Adam you're right. Corrected my answer.
Paulo Guedes
A: 

An argument I would use (in quotes for dramatic effect):

Lack of consistency & reduced functionality compared to other unhindered web interfaces will lead to a loss of user confidence - which is undesirable to say the least.

Of course, if many or most of the web application users are already familiar with or regular users of the Windows app, the UI designer could be on the right track and the consistency with the Windows app could be a winner.

That said, in my opinion it's hard to make a custom context-menu within a web page intuitive, and while some users might warm to it, I'm guessing most will probably never use it.

karim79
+2  A: 

depending on your audience you stand a very good chance your users do not even KNOW there's a right click menu. So please don't make this the only alternative

Scott Evernden
A: 

because he wants the web app to be more like our (existing) Windows app

I think right-click in a Windows app is a bad idea.

In a web browser it's a UI disaster because nobody will be expecting it.

Jimmy J