Hi there.
I think that with Ajax the Web paradigm has overcome very much more powerfull, but evidences new problems because of Web Pages nature, what a web page was meant to be.
One of the situations that arrives with the use of Ajax is that the application looses the control focus, the status; you must have to implement several things in your server side to know where in the application (and doing what) the user is.
With QCodo we have the amazing capability of having the Application (with it's status) compressed in the client, but what about, for example, to get to the previous status?
Looking this example from the User side:
I enter to the application, commit an ajax action, another, and want to get to the previous status.. then I click “Back” navigator button.
Because we stand always in the same controller qform.php, it goes back to whatever the user was before.
This issue was solved (workaround?) by GMAIL team, using an incredible alternative solution: THE USE OF ANCHORS.
So, get to qform.php, then do something ajax. At this point, with javascript in the client side we change the location object, by adding an anchor, ie. /qform.php#function_x. It makes no navigator refresh, but inserts a history entry. So, when do something else, we override the anchor: /qform.php#function_y
At this point, if I hit the “Back” navigator button, I'll fall in /qform.php#function_x and have to parse the location object and run function_x.
This is just an example that shows a very interesting solution to this New paradigm common issue.
First of all, I hope what I explained it's undestandable, second, I wish you to try this at GMAIL, and third, I wait for comments!!!
Saludos!!!
Alvaro