I would like to hear other people's advice on when one should build a web application versus building a thick client.
Over the last few years, I have participated in several discussions about whether an application should be built (or an old application upgraded) with a web browser interface. Usually these were internal systems used within an organization, not mass-market shrink-wrap products, and they were not actually on the public Internet. I do not want to limit the discussion to these types of applications solely though.
There are obvious cases where an application should be one or the other (e.g. no web based video editing software). On the other hand, Javascript libraries are making more rich experiences in the browser less difficult to implement everyday.
Have Javascript libraries and advanced server side technologies made things such as right-click context menus, drag and drop, etc. doable on the client side without a large effort? At what point does the extra complexity of writing for the web override the benefits such as ease of deployment and cross-platform compatibility, particularly if you are not trying to create the next Stack Overflow, but instead just building an internal application?
Does the fact that an internal application has a limited and captive audience more or less override any concerns over improved usability that a thick client can provide?