I gave my GWT presentation to my fellow developers and the two project leaders today. I think it went very well.
I wore my “Google Open Source Programs Office” t-shirt, which obviously enhanced my presentation immeasurably. Since I’ve done all the work on my Powerbook, I made a PowerPoint presentation. (Yeah, yeah, I used Powerpoint – I don’t have a current copy of Keynote, so I guess no Oscar for me.) I figured that as well as showing off the good points of GWT, I could get in a subtle plug for the Macintosh at the same time. But of course every time I hooked up my laptop to the meeting room projector to test things, it automatically detected the other screen and went into two screen mode, but when I did it for real for the meeting, I had to bring up the System Settings->Displays dialog and use “Detect Displays” button, and then uncheck the “mirrored displays”. So much for good first impressions.
Powerpoint does something nifty when you start a slide show – it automagically uses the projector screen for the slides, and gives you a big control panel (with your lecture notes) on the laptop screen. I don’t know if it does the same thing on Windows, because everybody I’ve seen use Windows laptops with a projector uses it in mirrored mode.
My slides talked about what GWT is, what advantages it has over Flash and other AJAX toolkits. (One of the project leaders said that I’m not up on the latest terminology, and I should call it RIA or Web 2.0 instead of AJAX, so people don’t think I’m hopelessly out of date.) I also gave what I thought was a fair accounting of the limitations. Then, just to make sure they realized that it’s possible to make good looking as well as functional user interfaces in GWT, I showed them the KitchenSink sample first. Then I explained what my goals were for the demo, and with no irony at all put up a “Mission Accomplished” banner as my last slide.
Then I showed off my demo program. As I said in my slides, my goals were to prove that I could do certain things, not to make it pretty or duplicate our existing user interface. I showed how I could modify things in the database and have the display update. I showed a popup dialog with a table of Playlists populated from the database, and how it used the server side to provide the requested page, and do sorting.
Then I dragged Eclipse over to the projector screen and showed them some of the code. I had thought about showing them how you could set a breakpoint and debug it in Java, but I figured it was nothing they hadn’t seen before. I did show them how the “Compile/Browse” button and how the exact same display showed up in Firefox, including how the Firefox version also responded the same way to database changes.
One of the questions they asked was if it was possible to do drag-and-drop between items on the screen. I’ve never investigated this.
Other than that, I think they were impressed. The woman who has been doing the Flash demo said “I’m sold”. But she’s going to do her presentation next week, and then we’re going to put aside both our projects until such time as they decide to go ahead, and which approach they’re going to use.
In the meantime, I really should redesign my navaid.com site using GWT. The user interface on navaid.com pretty much sucks, and redoing it in GWT would provide a visible sign to future employers that I know what I’m doing with GWT.
I was trying to figure out a way to use Google Maps in navaid.com, but the volume of data in the navaid.com database is so huge that displaying the data will choke even the best provisioned browser. On my laptop, with 2Gb of RAM, just loading all the waypoints in Ontario and Quebec stretches it to the limit.