Dan Allen wrote:
Every single time I sit down to develop an application in Struts (though the I am going to present is certainly not unique to Struts) I find myself stuck on the same question:
"Where to go next?"
Dynamic applications are all about forms and those forms send data to be saved. However, once the data is saved, the instructions are unclear from the point of view of the controller. The user asked the controller to save the data, but the user never said what the controller should do after that. Many developers make very large assumptions here, perhaps forwarding on to a generic page, tacking on any message necessary to inform the user that the object was saved successfully. In Struts Resume, Matt forwards to the "Main Menu" page after each submit.
The problem with automatically dumping the user somewhere is that often times, it isn't where the user wanted to go.
To answer this question, I thought about how desktop applications
handle this problem. Usually a sidemenu is accessible at all times. Saving data is done without progression by hitting the "apply" method.
This leaves the next step entirely up to the user. Unfortuately, it
doesn't translate well to the web since web users tend to expect some
sort of page flow (or else they may think it is broken).
My solution:
I think I have a solution, and I am sharing it just to think aloud and formalize my idea a bit. Whenever a form is presented to the user to edit some object, the form should submit to a readonly version of the page where a summary of the saved object can be presented along with any messages. This way, the user gets the feel of the desktop app's "Apply" but at the same time senses that the flow was advanced (but without any assumptions since technically the are still viewing the same information). At this point the user can either click to reedit the object, choose from a set of links provided under the summary, or select a link from the sidebar menu (if present) to continue.
This workflow seems to make the most sense. Others may disagree, but if it provides a solution to keep me from beating my head against the moniter all afternoon, I'll take it.
Dan
I don't see the problem. Just do what you need to do in the individual case. That surely will change depending on circumstances.
Michael
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]