Yesterday, Brady Forrest of O'Reilly wrote a blog entry discussing the open sourcing of the Google Web Toolkit (GWT). In his original post, Brady seemed to indicate that Google built their excellent Gmail and Google Maps Ajax applications with GWT. This struck my interest because ever since GWT came out, I've heard numerous people comment that Gmail and Google Maps were built with GWT. Given the release dates of Gmail/Maps vs. GWT, and given the relative immaturity of GWT*, I thought this highly unlikely. But when I read the GWT homepage, I found the following somewhat confusing: (emphasis mine)
Google Web Toolkit (GWT) is an open source Java software development framework that makes writing AJAX applications like Google Maps and Gmail easy for developers ...
To paraphrase the sentence above, "It's possible to build a class of web applications we call 'Ajax' applications using GWT; Gmail and Google Maps are examples of world class Ajax applications." What it does not say is that Google built Gmail and Google Maps with GWT. I asked Brady in his entry to clarify whether he knew whether or not Gmail and Google Maps were indeed created with GWT (because I honestly didn't know) and I pointed out the easy-to-misinterpret wording. He agreed that it was now unclear so he emailed a contact in Google. DeWitt Clinton of Google replied:
To clarify, while the Google Web Toolkit is designed for rich user experiences on the scale of Gmail and Google Maps (hence the wording in our announcement), those products predate GWT and were not built exclusively using the toolkit.
I'm not so sure about that statement. It's admirable that the GWT folks intend for their toolkit to make designing applications like Gmail/Maps possible, but let's be realistic:
- Both of these applications must have been designed by excellent teams with brilliant developers
- It will be a long time before a team of 'good' developers will be able to create Ajax applications like Gmail and Google Maps because they have an awesome framework
Now don't get me wrong, as someone who works for Rational, I'm a strong believer in the value of both tools and frameworks. But Gmail and Google Maps are both incredible applications (especially when you consider that they were released before Ajax was mainstream) so they feel to like the wrong sorts of applications to list as examples, especially considering that as per DeWitt, they weren't built with GWT. And also I must say DeWitt was still a tad coy in his response - when he says that Gmail/Maps were not built exclusively with GWT, what does that mean? Does that mean major parts of them were built with GWT? Or a few small parts? Or any parts?
I think it's highly likely that most people who visit the GWT homepage know what Ajax is. So it would be much more useful for teams evaluating GWT for the GWT homepage to just say "GWT makes it easy to build Ajax applications. Here are a few examples of real, non-trivial applications that were built primarily with GWT" and then provide demos of several real Ajax applications built with GWT and perhaps provide interviews with the developers on how GWT improved their productivity and their applications. Now that would be convincing. And since GWT's been around for a few months now and has gotten lots of attention, there may indeed be some good emerging applications built primarily with GWT. Then the examples would be grounded in tangible results rather than intents.
* Re: "given the relative immaturity of GWT" - no disrespect intended; Ajax is a relatively new programming style and all Ajax frameworks are relatively immature, but getting better every day.[Read More]