I did most of my testing using my WiFi connection, and then turned this off and used EDGE for a little while. Performance was excellent using the WiFi - it typically took around a second to download data for an uncached area, for either a street map or imagery, but up to two seconds or so occasionally, more so with imagery than street maps (which you would expect as the compressed images for street maps are typically smaller in size). The iPhone keeps a pretty good sized cache, and when data is cached display is pretty much instant, just as it is online. So overall the experience of panning and zooming around is very smooth and fast. Using EDGE instead of WiFi, I found that the download of data for an uncached area was generally taking around 3-4 seconds for street maps, and 5-7 seconds for imagery. But when data was cached, it was just as fast as with WiFi, as you would expect. So it was slower, but still fast enough to give a pretty good user experience, in my opinion. When zooming in or out, it animates the zoom using the data layer that is already there, so you see some sort of data while waiting for the data at the new scale to download.
The user interface for panning and zooming is intuitive once you learn the basics. Double tap to zoom in on a point (it doesn't center the point, but does keep that point on the screen - so if you double click on something in the northeast corner, after you zoom in it will still be in the northeast corner). Tapping with two fingers (at any distance apart and any orientation) will zoom out. You can also zoom in or out by "pinching" with two fingers and moving them closer together or further apart, which is a really intuitive interface which leverages the multi-touch capabilities.
One thing I really didn't like about the basic map display is that you can't rotate it. With other applications like the browser and photos, you just change the rotation of the iPhone from portrait to landscape, and the application automatically rotates the display (with a nice bit of animation). This is such a natural thing to want to do with a map display, I'm pretty disappointed that they didn't implement this - hopefully it will be there in a future release. This is one of multiple places where Google really didn't take advantage of some of the good features in other iPhone applications, and which makes for a less seamless and intuitive user experience as it doesn't do some things that you hope, and expect, it to do.
For the next set of observations, I took a pretty detailed set of photos which you can see here on flickr. Follow this through as a slide show to look at some search scenarios.
By and large, search worked pretty much as expected - you can type in a specific business name like "Tattered Cover" (my excellent local bookstore), or a generic term like "coffee", and get appropriate results back. But I did find a few things I hadn't anticipated, as follows:
- My search for the Tattered Cover yielded 3 incorrect locations, in addition to the (only) three correct ones. One was a location of an old store which closed a year ago, and two were the result of incomplete addresses for current stores (in addition to complete ones), one which just included the street with no number, and one which included the town but no street. I may have just been especially unfortunate with my choice of example, but this illustrates the importance of good and up to date data in any LBS application. An out of town visitor in the south side of Denver looking to visit the famous Tattered Cover bookstore could easily have driven to three locations, none of which had a Tattered Cover, by which point they would feel about Google Maps like I do about AT&T right now (see previous post)!
- Google Maps does not include the autocorrection feature for typing which is in all (or at least most) of the other iPhone applications. This is really bad. Typing is somewhat fiddly with the on screen keyboard, but you can go pretty fast if you have the autocorrect feature, and you get used to it in all the other applications. You have to type much more slowly and deliberately in Google Maps than anywhere else. This really needs fixing!
- When you search for items, it doesn't order them by distance from your location, neither does it show the distance to a search result in the list, which is very common in these type of applications and I think this is a serious omission too. On further investigation, I have come to the conclusion that the order in which results are returned is almost certainly determined by payment for higher placement - I found that the "Market" coffee store was consistently returned at the top of the list, and highlighted on the map, for a wide variety of different spatial queries in downtown Denver. This is not necessarily surprising - at some point Google needs to make some money back for all its investment in Google Maps and Earth, or it won't keep on investing - but it is good to know about. And if they remove the very useful function of showing how far away different search results are to hide the fact that they are (apparently) returning establishments which pay higher up the list, I'm not too happy about that. I will do a separate post about this as I think it's sufficiently interesting to highlight. You can see the detailed examples relating to this in the photo gallery.
The real time traffic works well (I have the same thing on the BlackBerry also). Here are pictures showing central Denver, with and without traffic information, and you can see that the southbound carriageway of I-25 is currently congested.
The routing also seems to work well - in the picture gallery I show creation of a route from Denver to Vancouver, which was pretty much instantaneous, and you can list turn by turn directions either as text or on the map, and you can easily skip backwards and forwards in the turn list.
So general conclusion: I like the application, it's fast and intuitive in most regards, but does have a few things that need fixing. My order of priority on these would be:
- Needs to support autocorrection when typing
- Should be able to display search results in order of distance from the center of the screen (and show distances on the list) - even if this is an option, and the initial order is determined "at Google's discretion")
- The map display should rotate when you rotate the iPhone, as with other applications where this makes sense