Issues of state
Jay Loden
python at jayloden.com
Thu Aug 9 12:17:02 EDT 2007
Steve Holden wrote:
> As far as I'm concerned the major issue with trying to have "desktop web
> apps" compete with true windowed applications is the difficulty of
> maintaining sensible interactions with the interface. AJAX designs have
> increased the interaction level at the expense of greater complexity -
> there is more state to be transferred, and a much higher interaction
> rate with the server. But the browser is a terrible front-end for AJAX
> designs because it doesn't record the state changes that take place as a
> result of requests for updated InnerHTML content, so if the user is
> unwise enough to press the "back" button she loses all traces of the
> non-page interactions that have taken place since the page was loaded.
>
> So "desktop web apps" should ensure that they get displayed in browser
> windows with minimal user interface decoration. But even then there's
> always that chance that sophisticated users will use keyboard shortcuts
> like ALT-left-arrow.
>
> That, in summary, is why my 2004 PyCon paper[1] was subtitled "The Back
> Button is Not Your Friend".
>
> regards
> Steve
>
> [1]: http://www.python.org/pycon/dc2004/papers/18/Setting_A_Context.pdf
There's been some interesting work done in that area as well:
http://dev2dev.bea.com/pub/a/2006/01/ajax-back-button.html
http://www.isolani.co.uk/blog/javascript/FixingTheBackButtonThatAjaxBroke
In particular, the RSH (Really Simple History) Framework is an open source
solution to the problem:
http://www.onjava.com/pub/a/onjava/2005/10/26/ajax-handling-bookmarks-and-back-button.html
Like most things involving dynamic client side-javascript code and AJAX
technology, it's a lot harder than you'd like it to be to solve the problem, but
in cases where the Back button is really an issue, it's worth the effort.
-Jay
More information about the Python-list
mailing list