Monday, December 10, 2007

The Screen Shots....

As promised, the screen shots of the first pass are attached. I don't believe they look very good, to be quite honest, but let's see if we can't make something of them, and then update the screens as we update the application, too.

The example is pretty silly, but it works - using the LocationManager and GPS tracking, the little "guy" icon has just passed two Peets coffee shops, depicted by the Peets logo on the map.

The key to this functionality is the extension of the Overlay class, allowing us to draw on top of the map. I have subclassed Overlay to IconOverlay and MultiIconOverlay. One consideration I wondered out-loud about (annoying the cat) - why not have multiple layers, like Photoshop, rather than a single Overlay that all items must stuff into? It didn't really create any problems for this simple prototype, however it did seem that being able to turn a layer/overlay on or off, rather than redrawing the entire set might be more efficient to the developer. For example, an overlay with all Starbucks locations, and an overlay with all Peets locations, and then simply invalidate the map with the Overlay(s) turned on you would prefer.

Anyway...the screen shots await:

For the record, if you are not from Silicon Valley and you are reading this looking for Peets, there are no Peets near this part of Bayshore. Seriously, wrong place to be looking for coffee. It's just a demo, people.

I'd like to note that the little "guy" icon came from I had not heard a thing about FastIcon until I was desperate for a cool little icon to represent the user as they made their way around the map. It was going to be a car or a person, and for the love of god, there was no way I was drawing it. And, the Starbucks' logo walking around finding the Peets logo just seemed wrong on so many levels.

I stumbled upon FastIcon and their license terms, and most importantly, I really like the comic/hip/modern look to the design, at least for this project. It's meant to be fun, and the icons on the FastIcon site certainly convey that. So, check it out if you are looking for some good icons.

First shots at an android application

I've decided to record my exploits with Android platform in blog form, hopefully giving back a bit to the community and getting feedback at the same time. I've actually already completed my first major Android application, and have a few classes I need to clean an publish. I still have plenty I want to accomplish with it as well, so it's best to get the blog started, and catch up the code, so to speak.

So, the goal - Build an Android application that does the following:

1. Display a map, and tracks you using GPS as you move around
2. Display a custom icon/graphic for "you"
3. Display a custom icon/graphic for what you are looking for (more on that in a second)
4. Store the possible sites (and site detail) in the on-board database
5. Click on/Select place on the map to view it's data from said database
6. Call the phone number of the place selected

Reasonable goal, eh?

I've accomplished 1, 2 and 3 using some fake data, so I decided to create a version that tracked all of the local coffee shops (Peets and Starbucks), and used their logos as the site markers. Since I already had done the tracking, IconOverlay classes, and custom images, this seemed like a very reasonable goal.

However, have you ever looked at Starbucks on-line store locator? It's really well done. It's a little slow, but it has built in mapping and route planning to find the closest shops, using the Live Search Maps from Microsoft. I can't complain. Therefore, it's a lot less motivating. I realize I'm not solving world peace here, but it would be nice to do something that has not been solved already, or at least not done so well. (Heck, Starbucks is even looking at the user-agent in the browser request and determining if they should return you a mobile-friendly page, similar to Google and the iPhone. Well played Seattle Siren, well played.)

So, I've decided to do this with just Peets Coffee data. Not that they haven't done a great job with their site, either. They are using Google Maps in their Store Finder, and it's well done overall.

In other words, maybe I should be doing a 7-11 locator or something other than the coffee shops, who seem to be using the collective free-WiFi as a breeding ground for map-mash-up-dudes and dudettes.

For the record, I've got no stake in either company, and frankly, my addiction to caffeine knows no bounds. Next post - the weekend work to bring the GPS tracking, Maps, and IconOverlay classes into being.