I'm sure you've heard by now about Google Docs & Spreadsheets, Google's combination of Writely and Google Spreadsheets. If not, go give it a try, I'll wait....
Ok. Now you probably had one of two reactions. If you were thinking "Wow, that is so cool", you can stop reading now and go back and simply enjoy the tools. I don't want to spoil the experience for you.
For the rest of you, what is wrong with this application? Why should you care? And what should be done to fix it? I'll get to that, but first: what's wrong with it.
For one thing it's not a single application. It looks like all Google did was try and synchronize the look and feel of the two applications, but it's just skin deep. What you have here is different applications, written by different people in different styles, trying but not quite succeeding in an effort to appear as one. How do I know that?
The first clue is that the applications are served from different hosts using wildly different URLs. Another is that if you look carefully at the main page, the word processor page, and the spreadsheet page, they all use slightly different text styles and spacing across the top, and margins around the edges. Some icons (such as the cut icon) are shared, but some of the buttons are different. One has "Collaborate/Publish" and one has "Discuss/Collaborate". One says "Sign Out" and another says "Sign out". Etc..
- One code base (part of GWT) for all those tricky browser specific tests.
- Google programmers could code in Java and use all the great tools that go with it.
- Shared Java components would help ensure look-n-feel congruence between the different apps.
- With the proper run-time, it would be possible to migrate these apps to the desktop for offline use.
- GWT's compiler builds cacheable modules ahead of time for the permutations of browsers and languages that the user actually uses (and you load only what you use).
- It takes care of obfuscation and compression of the code for the minimal payload going to the user's browser.
- Using GWT for these high profile production apps would help the GWT community by forcing GWT to improve and mature quickly.
Currently the only Google app that uses GWT (that I know about) is the Google Image Labeler