Part of the framework includes an AJAX subsystem that makes coding this type of interface interaction a lot less work than it would be otherwise. It is based on design that allows you to refresh an area of the page with the same code that handles the presentation when the whole page is loaded. It requires a short js wrapper function, and a backend PHP connector, and it needs to be registered with the system in a few places. The thing that makes it useful is that one can then instantiate an instance of the site_page class from the php connecter function and output a dynamic area back to the page just as you would from a template on a full page refresh. And its only an 4k javascript include.
Anyway, there are lots of areas using AJAX could improve. Folder lists can be sliently updated without disturbing the page activity, even message details could be fetched from the mailbox display without having to reload the entire page.
For any javascript enhancement we should have a sane fallback. I don't want if ($js_support) all over the code if we can avoid it. I prefer noscript tags as well as sane fallbacks whenever possible. So for example an "update" button might have an onclick that refreshes the mailbox view via AJAX, but if the onclick is ignored the whole page reloads effectively doing the same thing just without js.
One issue here is that bits of this code may not be GPL compatible, so I will have to write those out if it is decided that we will add AJAX support to this project.
I just took a quick look at the Sajax site (which is what my ajax subsystem is a derivative of) and it is covered by the BSD license. From there site:
"it is open source and licensed under the BSD license. This means you can do basically whatever you want with it, even charge people for it."
I have a sinking feeling that "do anything you want with it" might not include modifying it and redistributing it under the GPL