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]

Reply via email to