Monday, December 22, 2008

Another GWT Powered Web Site

It seems that these question always comes up on Google-Web-Toolkit group :
  • Who is using GWT?
  • Is GWT ready for prime time?
  • Why would anyone use GWT when they can use language X and toolkit Y?
  • Does Google even use GWT for their web pages?

I have been using GWT in a 24x7x365 day production environment for over two years now and I can tell you that GWT is ready to deliver on the promise of easy and reliable Ajax web development.

As for the question of 'who is using GWT?' I would like to share some information from the guys over at

Their site uses GWT and the GWT incubator project. I spoke with one of their developers and he was nice enough to share some details of their experience with GWT, what GWT widgets they are using, and their overall opinion on the Google Web Toolkit. Please see the details below:

SendMeHome was developed over the course of four months. We chose GWT to create SendMeHome as it allowed us to code in a familiar language (Java), provided a wide array of widgets, and could deliver the type of end user experience we wanted to provide.

Although the GWT compiler is quite intelligent and removes any unused functions and libraries at compile-time we wanted to keep SendMeHome as small as possible as some of our users may be accessing the site on a dial-up connection. To do this we consciously tried to only use widgets in the gwt jar file, these include:

  • Text Box / Password Text Box / Text Area / Rich Text Area
  • Radio Buttons and CheckBoxes
  • File Upload
  • Tree
  • iFrame
  • Toggle and Push Buttons
  • Grids and FlexTables
  • Just about every panel available, including the Tab, Decorator, Disclosure and Popup Panels

We initially broke our own rule when we discovered the Glass Panel from the incubator. We used it to create a “Lightbox Effect” for our login and error messages. However, we really began using Google’s other API’s when we developed our Stories feature. Stories allows you to track where a physical item travels to and lets you collect stories from the people it meets. To enhance Stories we integrated with Google Maps and YouTube and the process was stunningly simple. We now host all of our videos on YouTube and our users never have to visit or even have a YouTube account.

The only complaint we’ve had with GWT is that browsers cannot remember a user’s email and password easily. Otherwise it was been an absolute joy to work with and we are surprised that there aren’t more GWT apps out there!

Sunday, December 21, 2008

Eight Queens Puzzle Solution GWT style

I have deployed a very 'rough' GWT application, you can check it out here.  This is an Eight Queens Puzzle solution using GWT.  Hosting is with Mochahost using Tomcat.  Technically there is no reason to host this application with a Tomcat instance, but I thought it would be fun to take the same Java code and let Tomcat run the Eight Queens solution on the server and then let GWT compile the Java code to Javascript and run it on your client browser.

With a fast processor and Google Chrome I don't see why someone out there cannot beat the calculation time for the puzzle on their browser!  The bulk of the time on the browser is spent building the chess boards and populating the queens onto the board.  The Eight Queens Puzzle solution just takes a few seconds, or in the case of Crome miliseconds.

Lots more to come including:
  • Source code
  • Make the web page look better

Some other ideas I had:
  • Capture user agent information and store calculation times based on browser type and OS
  • Add a selection box so the user can select their processor speed and save this data with the solution time.
  • Build a report showing data based on cpu speed, browser type, bowser version, and OS
For more information on how to setup GWT with Tomcat hosting using Mochahost please see my previous post on GWT hosting.

Please leave me any feedback here.  Thanks!

Tuesday, December 2, 2008

Calling all GWT web sites!

I would love to hear from anyone currently using GWT for a web site or anyone that is in the process or using GWT for a new web site. Please post comments here with your site address and description. If you really feel nice you can also add in all the other libraries or technologies that you incorporated in building your GWT powered site. BTW - my favorite GWT combination is GWT 1.5 + GWT Incubator + Eclipse + Apache Tomcat 5.5