Consider Views. The uber-query generator and renderer has proved to be a cornerstone of Drupal development, and yet it still lacks many features related to user interface flexibility. For example, I was trying to reuse the results of a node view to create a smaller, sidebar view of the node authors that is differently grouped and themed. In traditional Views programming, this would probably require creating a second view in a block that performs the same query as the main view, but with a different theme. On a busy site, that means doubling the amount of SQL queries right there.
My proposed solution involves a different approach to Views programming that moves to the client the theming and interaction tasks, leaving only query generation and execution on the server. Here's how this would happen in a very simplified form:
For this to happen, many Views components that are currently implemented as server-side code would need to be re-implemented for the browser. For example,
I hope to free up some time to make a demo of this approach soon. In the mean time, I'd love to hear what you think!