TSS Symposium Preview – GWT Roundup

I'm Speaking at TheServerSide Java Symposium Google Web Toolkit As previously mentioned, Jeanne and I will both be presenting talks at TheServerSide Java Symposium exactly one month from now. Here is a preview of two of the topics I will be discussing at my talk “GWT Roundup: An Overview of Google’s Web Toolkit and Hybrid Integration” : GWT Image Bundles and Speed Tracer.

1. GWT Image Bundles

One of the more interesting features that GWT offers, beyond what most developers using indirect Ajax frameworks could build on their own, is the concept of Image Bundles. Even GWT developers who use Image Bundles may not have any notion of what is going on under the covers because the implementation details are so well abstracted. The idea is to take a large group of images and combine them into a single image with an interface for accessing each image. This may sound like a strange notion, but the performance advantages of doing so are manyfold:

  • More responsive UI since all images are downloaded together
  • Faster than downloading them individually since they are not downloaded in serial (HTTP 1.1 limits number of outgoing connections to 2 per domain)
  • Bundles use less bandwidth than separate images since multiple image headers are reduced to a single header

2. Speed Tracer

New to GWT 2.0 is the ability to validate such non-functional requirements as user interface performance, using the Speed Tracer tool, a Google Chrome extension. For example, if a particular asynchronous RPC call is causing delays in the user experience, Speed Tracer will help you identify it. Speed Tracer provides two graphs that show user response information and offers “hints” of spikes in response time that could be causing problems in your application.

  • Sluggishness Graph: Shows UI responsiveness
    GWT Speed Tracer - Sluggishness Graph
  • Network Graph: Network activity and latency
    GWT Speed Tracer - Network Graph

See you in Las Vegas!

I hope you enjoyed this preview of the talk I will giving next month. I will also be taking part in a panel hosted by Cameron McKenzie called “Client Side Development Smackdown” . Oh, and it’s not too late to register for TheServerSide Java Symposium 2011. We hope to see you there!

TheServerSide Java Symposium – Preview Week

TheServerSide Java Symposium 2011 Jeanne and I will both be presenting talks at TheServerSide Java Symposium in March. In preparation for the conference, we will be providing sneak peaks of talks this week on the blog.

I’m giving a lecture entitled “GWT Roundup: An Overview of Google’s Web Toolkit and Hybrid Integration” which provides a review of GWT for old and new GWT developers alike. It also covers many of the new features released in GWT 2.0 and 2.1. I will also be speaking as part of a panel hosted by Cameron McKenzie called “Client Side Development Smackdown” .

Jeanne’s presentation is called “Throw Away All The Rules. Now What Process Do You Follow?” and is about what processes are important if you aren’t being forced to follow any. It uses the CodeRanch forum conversion project as an example.

It’s not too late to register for TheServerSide Java Symposium 2011. We hope to see you there!

Hands on with iOS 4.2 [iPhone4/iPad]

I upgraded both my iPad and iPhone 4 to iOS 4.2 this afternoon, and with few exceptions, the results are quite positive. In short, “Find my iPhone/iPad” is awesome but creepy, AirPrint is seriously lacking, and the iPad updates are a long time coming. The only big downside is that Apple went ahead with its plan to eliminate the landscape/portrait lock button on the iPad, instead replacing it with a mute feature. Read on for more details of my hands-on experience with iOS 4.2 on both the iPhone and iPad.

iOS 4 on the iPad at last

One of the most long-awaited features for the iPad is the ‘missing’ iOS 4.0 updates that arrived with the new iPhone back in June. Five months later, Apple finally released updates to the iPad that have been available on the iPhone for months — including multi-tasking, Game Center, and folders to organize applications. Although some reviewers, myself included, have criticized the “faux” multi-tasking available in iOS 4, it is nice to see these updates finally released on the iPad.

New Feature: Find my iPhone/iPad

One of the newest, and possibly the most unexpected, feature is the new, free “Find my iPhone/iPad/iPod Touch” service, which previously was only available for paid MobileMe subscribers. Unfortunately, iPhones older than the iPhone 4 appear to be excluded from this service.

In order to use this feature, you must have an AppleId. If you purchase music on iTunes, you can use that same account. Once you have installed iOS 4.2 on one of your devices, you need to navigate to Mail/Contacts/Calendars, and add a MobileMe account using your AppleId. Once added, you just use a single click to enable this feature.

To track the device, remote-lock it, or remote-wipe the data, you can log in from the Apple MobileMe portal, again using your AppleId. You can also download the “Find iPhone” application and track the device from another iPhone, iPad, or iPod Touch.

One issue I did notice is that you have to have your AppleId match your e-mail address. When I tried to set up my iPhone with an AppleId that was a nickname and not an e-mail it came back with a message saying “This AppleId does not support this feature”. Fortunately, you can log in to the Apple website, and as long as your e-mail isn’t attached to a different AppleId already, you can change the AppleId to match your e-mail.

One ‘creepy’ side effect of all of this is that since my wife and I both have an iPhone 4, they can actually be set up to track each other. In other words, you can always find out where your spouse is. For children, though, this would be an excellent feature, since you can find out where they are without interrupting them. The only problem is there’s no way to lock this feature as ‘always on’. Your children can easily turn this feature off and a stranger who finds your device can disable it before you have had a chance to remotely wipe your personal data. One major improvement would be a password requirement to enable/disable this feature on the iPhone.

Update 11/28/2010: One reader pointed out you can enable “Restrictions” under “General” settings that allows users to fully use the iPhone but prevents them from adding/removing accounts. This essentially allows you to keep the MobileMe tracking feature enabled at all times. In the event of a loss, the phone can be reliably wiped remotely although this does not prevent the user from wiping it themselves with iTunes. It does give you piece of mind, though, that you can block access to your personal data even if the iPhone is never returned.

AirPrint: Where’s Bonjour support?

Although Apple did add print capabilities with the iOS 4.2 update, they are limited to “AirPrint compatible” printers connected to a computer, of which there are few. Surprisingly, printing to a Bonjour printer connected via an Airport Extreme router is not supported. Also, direct printing via IP address to a networked printer is not supported. I am mystified that Apple released WiFi printing without either of those two obvious features, but we’ll have to wait for future versions to get more useful print options.

iPad: Screen-locking switch, we hardly knew ye

The most disappointing feature of the update is Apple reconfigured the screen lock button on the side of the iPad, the one that keeps it in the same orientation now matter how you hold it, to be a volume mute button. I have already heard feedback from friends that agree this was a terrible idea. Trying to use the iPad in bed can be problematic as holding any direction but right-side-up can cause the orientation to change. I would not have minded this change if they had at least left a software option to switch it back, but so far no such option exists. It’s a shame, as I suspect my iPad will be a lot less user-friendly without it.

Conclusion

Overall, the iOS 4.2 adds welcome additions to the iPhone, iPad, and iPod Touch. I considered not updating the iPad to keep the screen-lock feature, but decided in the end that the benefits outweighed what I was losing. I really like the free tracking service, since losing an iPhone is not uncommon and it gives me some peace of mind that there’s a chance my iPhone will be recovered if I were to send a message to the phone offering a reward. AirPrint is a nice change to the architecture and should allow more fluid printing across the iOS devices, with Apple likely rolling out additional support in months to come.