In a blog post reflecting on his time at Google, Dhanji R. Prasanna mentioned in passing that some internal Google projects, including the Google Web Toolkit, were maintained by engineers having no connection to the folks who used them to build shipping products.
Specifically:
“And new projects like GWT, Closure and MegaStore are sluggish, overengineered Leviathans compared to fast, elegant tools like jQuery and mongoDB. Designed by engineers in a vacuum, rather than by developers who have need of tools.”
While I do not work for Google and cannot comment on the actual goings-on inside those teams, from what I see from the outside Dhanji was right on the money for the Google Web Toolkit.
I say “was”, because I believe that the Google Web Toolkit team was focused on delivering more theoretical, and less practical, extensions to the toolkit before Google Wave launched. The Google Wave team wrote their wave client using GWT, and in the process I believe they pushed the GWT team past their comfort zone. When Google IO 2009 – the venue for the launch of Google Wave – arrived, the GWT team announced GWT v2.0, a huge improvement over previous GWT releases.
If you recall, at Google IO 2009 we got Ray Ryan’s talk on MVP, the SafeHTML API was announced, and numerous other changes which helped real-world development (code splitting, cell widgets, the list goes on…) were declared to be part of GWT 2.0 — and it was clear that many of these changes would not have made it into the toolkit had Google Wave not needed them so desperately. In short, GWT 2.0 was a great release.
Because of the frustration Dhanji and his team suffered during the development of Google Wave, which I believe was real and reflected issues we also had with the toolkit at the time, the Google community received an enhanced toolkit which I continue to believe will allow us to deliver fast, rich, and – perhaps most importantly – maintainable internet-based applications well into the future.
Links:
- Dhanji’s post
- Google Wave launch at Google IO 2009 (video)
- One blog post extolling the many great new features of GWT 2.0
