New Google Maps Feature – Street View

After watching the Mapplets YouTube clip I found another clip showing the new Street View feature (which has been available for a little while now). It’s available at the usual Google Maps site when you’re zoomed out, over the USA (sadly it’s not available for any other countries yet).

Once you’re there, clicking on the Street View button at the top shows some camera icons (not that many at the moment) and choosing one allows you to enter a 360 degree panorama mode. That, by itself wouldn’t be ground breaking, after all, you may have already seen some impressive panoramas using Panoramio which are available from within Google Earth. The thing that’s amazing is that you can move around the area (highlighted as blue glowing roads) either by dragging the little yellow person around the map or, even better, by clicking on guidelines within the panorama, walking you along the roads.

Panoramas seem to be available for every few metres along the roads, which is very impressive.

Here’s the YouTube clip which pointed it out to me… nevermind about the guy in the lycra :o)

New Google Maps Feature – Mapplets

Lifehacker just reported a Mapplets feature on Google Maps, which is only available if you go to the Google Maps Preview site (which once you start using, is available to you on the normal maps address). It all looks pretty cool, being able to put layers of information on Google Maps itself, rather than having to go to the individual mash-up sites.

There will still be a place for mash-ups, since you can’t customise the UI too much, but as the map equivalent to iGoogle gadgets this looks great!

One of the more fascinating mapplets I’ve found so far is ‘Zürich Travel Time Visualization’. It shows how long it should take to get to parts of Zürich using a colour overlay.

The Lifehacker post also had a YouTube clip attached to it, so I’ll attach it here too for completeness :o)

Lifecasting: Location Tracking

You may have seen Justin.tv or some other ‘live’ blogs (kind of like online reality television). Although I don’t think I could even remotely consider going that far, I do like the idea of allowing at least my friends and family to know where I am/what I’m doing. This post will concentrate on the ‘where I am’ part, I have posted some information relating to the ‘what I’m doing’ part on my other, more technical blog though, in case you’re interested.

So, you’ve got a GPS (eg. Nokia N95, or a Bluetooth GPS), you’re planning to keep it in your pocket all day and send location updates to the internet in some way, of course you’ll be utilising your mobile phone for this. There are two things to consider at this point… what are the requirements for the mobile phone software and what are the requirements for getting your location to somewhere useful (namely, the Internet).

I’ll discuss these two things separately.

Mobile Phone

For the mobile phone software (and I’ll be talking about Symbian S60 3.x based phones), we’re going to be looking for either a Java MIDP or Symbian S60 based application. The advantage of using a Java application is that it may also work on other varieties of phone. The downside is that they may not integrate as nicely into the phone’s features than S60 specific applications (such as the Location API) and may be a little harder on battery life (I haven’t confirmed this though).

Since we’re going to want to use our phone at the same time as sending location updates, the next requirements on the mobile side would be that the software not be too power hungry and that the software sit quietly in the background when asked. We don’t want anything being downloaded, such as maps, since this will also mean higher data usage and power consumption.

Note: Running a constant bluetooth and data connection will dramatically reduce battery life. The usual disclaimer about bandwidth prices on your operator apply.

So, who are the contenders for the mobile phone side?

Although Jaiku is good and puts your location online, it isn’t based on GPS (at least not at this time), instead it uses mobile phone cell information, so it’s not really usable for our little project.

3D Tracker works and has the simplistic features we want in terms of just the basic GPS tracking, but as far as I can see, it only sends up to a particular site which is not very nice to use (it’s seems a bit of an after-thought to their commercial site).

GMap-Track works, but it is constantly downloading map data and is also fixed to only send to their website, which at the moment is unfinished.

CoPilot Live 6 looks like they would do the job, but CoPilot looks far too heavy for our needs (it’s a full GPS routing system).

That leaves Aspicore GSM Tracker and AFTrack. I didn’t look closely enough at the Aspicore software and thought it hooked into some proprietary server software, but it appears to be possibly more flexible and open than AFTrack, which I purchased not so long ago. I may purchase the Aspicore software too as that does look better than AFTrack.

Both AFTrack and Aspicore GSM Tracker will do what we’re looking for, and I would now suggest using Aspicore over AFTrack, but I purchased AFTrack before reading into the Aspicore solution properly, so I will be using that for my system… Both applications work on the same principal though, so implementation should be almost identical.

The Web Service

Now we’ve chosen the mobile phone software we’re going to use, we can look at the Internet side of our solution. This is going to be a web service that takes the location information as input and allows you to display it in various different ways.

After a quick search there are many different services online that work with both AFTrack and Aspicore GSM Tracker.  There are also some services listed on the applications’ websites.  Each of the services I looked at, apart from GpsGate, had some major issues… they were either unfinished, unstable or 30 day trials/commercial sites.  What I was looking for was a (preferably free) service that had a somewhat nice feel to it.  We are, after all, going to be sending people to it.

GpsGate looks nice and seems to work fine, so you may find that suits your needs (Aspicore GSM Tracker is recommended for this site), but I wanted to be adventurous.

Since I wasn’t totally satisfied with the sites I looked at, I decided that I would develop my own service that works the way I want.  The service I have created can be found here.  It is under development, but I hope that over time, with enough feedback, I can make the site useful and feature-rich.

I have made the service free for single devices (I may have to charge a small amount for business use) and currently displays your location, with some history, on a Google Map and also allows you to have your location streaming near-live using Google Earth (it updates every minute).  I will describe below about how I’ve developed it, but I would appreciate as much feedback as possible about the service so I can develop the features you want to use.

Being More Adventurous

If you’re not scared by programming and you have some patience you might want to investigate creating your own tracking site as I have done.  I used nothing other than Ruby on Rails and the Google Maps API to create my service, but if you want some code to start from I suggest looking at Aspicore’s PHP Tools page.

I will describe in future posts how I made different parts of the service.

Overall I’m happy with the outcome of the system.  The final result was better than I expected for a first attempt, but I can already see some future improvements:

  • I like Free and Open Source Software, so I would like to develop an Open Source GPS tracker client as a community project.  This would allow the service I have created to be truly free for individuals, and so should get a lot more users.
  • I am trying to devise a way that the location information collected using the service could be turned into a ‘badge’ (small image/’widget’) that could be placed on a user’s blog.

Beyond…

Doing this project got me thinking… What else could we use the information we’re gathering about ourselves for?  The simple answer I came up with was… anything!  Currently I use ShoZu (another mobile application) to ‘tag’ photos I take with my location before sending them to Flickr.  I have also integrated GeoRSS into this blog.  What is stopping these (and others) being integrated with the information we already have apart from an open API?  I’ll discuss this in a future post.

Google Maps – 2.5D View

I really like this feature, it gives a great sense of perspective. It opens the doors to so many development opportunities though:

Fly-throughs of routes you have plotted (as an extension to current routing functionality)
If they are drawn to scale, an ability to measure the height of the building
Use of the hybrid function to drape/view the aerial imagery in relief – admittedly the latter could be a little cache-hungry…

Here’s hoping that we get to see parts of UK towns and cites in 2.5D soon.

Obvious Implementations: GeoConnexion Events

It always surprises me when there are places that could so easily implement both mapping, and a data feeds of some sort. It’s even more surprising/annoying when it’s someone inside the industry.

The GeoConnexion Events page details future GIS events from around the world. The main drawback with the page is that it’s only a webpage. There’s no RSS or iCalendar XML feed, not even a Google Map (or Yahoo/VE map for that matter).

It’s not as if it wouldn’t be technically possible… the page is a PHP script, and looking at the patterns in the HTML, the events are most-likely in a database, so it would only take a couple of minute to produce an XML file so I could include it in my Google Calendar.

One step further would be if they had an interactive map on the page so you could shorten the list of events by location (whatever locations are visible in the map window are shown below).

These should be standard issue things for new websites, but it seems that people still neglect the power of opening their information for others to use and share however they need.