Ultimately, we hope to see higher-level, and more declarative languages that can more easily be authored by Web designers, but nevertheless provide much (but perhaps not all) of the rich interaction capabilities of Ajax. And when you need to finely tune the GUI, you still have the option to drop into full-on Ajax programming. The age old adage “simple things, simple; hard things, possible” remains the mantra of choice.
We believe the best way to get there is to continue building bottom up:
1. Settle on a handful of Ajax widget toolkits and ensure they get to critical mass (Think SWT and Swing). We’re offering Zimbra AjaxTK as one such candidate, but the greater open source community is the final arbiter of winners.
2. Provide rich integrated open source tooling targeted primarily at GUI/OO programmers.
3. Define how to relatively easily augment existing HTML content (such as served by PHP, JSP, etc.) with Ajax subcomponents (that is, Ajax code would typically take over certain regions of the browser UI).
4. Experiment with higher-level declarative languages for authoring Ajax and HTML.
While (4) remains a future, we believe that the progress the open source community has been making on (1), (2), and (3) are necessary prerequisites to (4). Items (1), (2), and (3) enable Ajax technology to be successful applied to both new UIs (e.g., Zimbra) and augmenting existing HTML UIs. Item (4), on the other hand, is more critical if Ajax is ever to begin to displace HTML rather than augment it. We are still skeptical on the latter—after all, not all applications (unlike email & collaboration) need richly-interactive UI. Better to use Ajax for its sweet spots.