This is a little hard to explain, but some sort of scripting that could be added to interfaces would allow some form of client-side processing, especially for interfaces.

After working with interfaces quite a bit, I've come to the conclusion that in order to do some serious stuff with them, you have to send countless messages back and forth between the server and client.

Interfaces already have some light scripting associated with them. You can give a button a winset command to execute certain things and what not, but I think this can (and should) be improved.

Add a new component to interfaces (like macros/menus/windows) for scripts. These scripts can be a sort of a basic language (if/while/for statements and so on) that can be told to run by the server (or the client via a command). The scripts can be used to run complex interface things like constantly changing progress bars, timers, and what not, without having to communicate with the server.

On top of all the benefits with current things this would provide, it would open up other things. Interface components could be given Javascript style procs like OnClick, OnMouseOver, and so on which could run said scripts directly from the client interface.

I completely forgot about this. I barely even use the interface components anymore (do everything on the map/screen now), so this exact thing I don't care much about anymore, but a client-side scripting setup would still be nice to have to offload processes to the client, but that's for sure not likely to happen.