I agree with Matt here wholeheartedly. If you build an app that runs in a web browser, your app should work properly in that environment. Asking users not to use the Back button is not a reasonable expectation, and trying to hide it with JavaScript or other hacks is folly.
However, there are MANY, MANY questions about how to escape the responsibility of making our apps work properly in a browser on this list. And I know that the apps I have built aren't all perfect (even though I think it is a good goal to shoot for). The fact is that it is HARD to design an app for the web and implement it so that it works well in a browser. Part of me thinks the solution will NOT be that web developers all become willing and capable of making their apps work (more) correctly in a browser. But rather that some other technology will come along that avoids client installation like a web app does, but also avoids some of the "web site" problems, and perhaps most importantly enables developers to write richer, more responsive GUIs. There are many technologies in this space, and I have no recommendations or even any clue as to which ones have a good chance of spreading. But I think something like this might "catch on" in a big way at some point. On the other hand, perhaps a "web site" is a good model for writing our applications. And that we should figure out strategies and design patterns to make our apps work correctly in this environment. Web apps do have some pretty cool advantages -- for instance, you can send someone a link to a particular page/screen in the app. Our managers send out a link to the timesheet we have on our intranet. You can bookmark a particular screen or pages in an app that are most relevant to your activities for quick access. Having a web interface also means that your app can be scripted by simply making a HTTP requests, and perhaps looking at the responses. For these reasons, perhaps we should come around to the idea that all web apps are web sites, and take care to build them as such. Whatever the case, I think the bottom line is that if you are deploying your app to run on a browser, it should work correctly when the user presses the Back button, bookmarks a page, or decides to mess with the URL a bit. It isn't always easy to make the app work properly, but there should be some conscious thought about how to design the app so that it can work properly, and some care in implementation to make sure that it does work as well as the design allows. I have long wanted to write some "design patterns" to record good solutions to common problems (or anti-patterns for bad ones) that could be re-used by myself (when I forget, or when I need delegate) and others. It would also be useful to describe why a certain pattern works or why it is "good" about it to help raise awareness of the issues. But it sure is hard to find the time... perhaps if I stopped writing long, rambling email messages to the struts-user list I could get this done. :-) -Max ----- Original Message ----- From: "Kruse, Matt" <[EMAIL PROTECTED]> To: "Struts Users Mailing List" <[EMAIL PROTECTED]> Sent: Thursday, September 18, 2003 1:42 PM Subject: RE: Is it possible to remove *.do or /do/* from the URL > > The important principle here is "Web Application != Web > > Site". > > Why? In many cases, it's the same difference. These days, web "sites" > usually are web "applications" on the back-end. There are a lot of stupid > users out there. In many cases, every attempt needs to be made to cater to > them. > > > If your users feel compelled to use bookmarks and the back button in > > your webapps, despite efforts to train them correctly, this is a pretty > > good sign that you have not provided enough suitable navigation > > controls in your basic UI. > > On the contrary, I'd say that if your web application can't handle the back > button and bookmarking, then you've designed it incorrectly. ESPECIALLY if > your users want to use them :) > > When web "applications" are done right, they have nice URL's, the back > button can be used without causing any problems, and bookmarking is possible > wherever it makes sense. > > IMO, there are too many lazy developers out there who do poor design and > don't consider the 'Back' button, for example, then look for cheap hacks to > stop the user from using it. Instead, they should think differently and > handle these cases. It's sometimes more work, sure, but that's part of the > job! > > Matt > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]