Loads of exciting things happened on October 1st; one of the things that interested me the most was that the EGNOS system went operational. By using geostationary satellites and ground base stations, the EGNOS system presents a GPS "overlay" to the user that enables a horizontal accuracy of somewhere between 1 and 2 meters.
It seems that the base stations on the ground receive conventional GPS signals, work out the relevant error rates and distribute these to users via the geostationary satellites. The system has been up and running for some time, in test mode, and compatible receivers have been sold, I'm told; the important thing about the first of October, however, was that the system is now live and available to all as a free and open service. It's "operational".
There's a press release and some more details. I'm particularly interested in SISNeT; a system that sends the EGNOS data via the internet rather than the new satellites; a free D-GPS system somewhat like the aGPS software that I packaged up for Openmoko. The benefits of SISNeT should come in situations where a clear view of the sky can't be guaranteed - busy urban centres and the like (whereas EGNOS was developed with a strong bias towards aviation; pilots always have a decent view of the horizon).
I'm guessing that my Openmoko will make good use of this service long before my (otherwise very nice as a GPS, but rubbish when it comes to new software) Nokia N96 does...
Juan Lucas posted a really great looking blog entry today, demonstrating the synchronisation of spatial data between three mobile devices. In this example we see gvSIG Mobile running on a FreeRunner, a Nokia 810 and a Windows laptop synchronising data on a WNS server. A PC, running gvSIG, is used to confirm that synchronisation has been successful.
The video demonstrates what's going on:
We were very impressed by this, enough for Ben to provide an English translation of the Spanish subtitles:
1. A PC is setup as a PostGIS server and a gvSIG
client with WMS support. The PostGIS server
exposes all data via a WMS service.
2. An OpenMoko client has a map of Buenos Aires
on it. Juan adds some points of interest to the
map (as a new points layer) and then synchronizes
the points with the PostGIS server.
3. He turns back to the PC, using gvSIG to import
the new WMS table and checks that the points
have been properly synced.
4. He turns to a notebook that is running (soon to
be released) Windows binaries of the latest gvSIG
mobile and has some Yahoo satellite imagery on it.
He synchronizes with the same points table and adds
some new points, as well.
5. Same as 3.
6. Now the same exercise with a Nokia Maemo (binaries
for this platform to be released soon). There is a
problem with auto-refresh of the map in this version,
so he does that manually. Again, he adds some new
points and syncs with the server.
There's some really great stuff on there, I especially liked the demonstration of Bittorrent synchronisation. Juan Lucas has started a new blog with more details about the use of this software on Openmoko / Maemo here.
gvSIG Mobile 0.1.4 for Openmoko / Maemo / Linux based handhelds was released this morning.
As ever, Juan Lucas Dominguez Rubio has produced an excellent release and you should see his blog for further details.
0.1.4 includes further GUI improvements (large widgets and full screen mode), Arabic translation, Courier Mode (with an example shapefile containing 400 cities) and the addition of various new coordinate systems.
Spot the deliberate mistake above ;-)
Courier Mode is a particularly exciting feature, expect to see it put to good use in the near future! I'd also be very interested in seeing what others can come up with (I saw a mailing post the other day about someone needing to know how close their boat was to shore. Looks like this could be a good use of the feature).
Packages for Openmoko available here:
Juan Lucas is providing packages for Maemo via his blog.
Juan Lucas has recently blogged that he's got his unofficial version gvSIG Mobile (practically) running on Android.
Juan Lucas has put a video on YouTube showing the Android version of the application displaying Ordnance Survey mapping of Glasgow, 1857:
The mapping is impressive enough in its own right and is provided by the National Library of Scotland; there's more details in the April 2009 edition of the Society of Cartographers' newsletter and you can view it all without an Android phone here.
I guess I'm going to have to get an Android powered phone, or two.
Note: As ever the contents of this blog reflect my own opinions, not those of my employer. In no way do I condone or promote any activity that may be even vaguely illegal.
The Oxford Bus Company's Airline service is a wonderful example of how not to deal with online transactions for two important reasons - it's bad for customers and presents an easily exploited security flaw that can result in free bus travel for anyone who wants it. At a wider level, the Oxford Bus Company demonstrates that a half-hearted approach to online commerce, and a failure to deal with modern mobile technology, can be much more detrimental to your business than simply not engaging with online commerce at all.
Discovering the flaw, or "how to upset paying customers"
I recently purchased a return bus ticket online to travel from Oxford to Heathrow and back. It cost me £25. The ticket arrives as an email, which you're asked to bring along with you when you board the bus. How you "bring the email" with you is open to debate; on the website you're told you need to print it, on the email itself you're told to simply "bring it with you". All my emails end up on my mobile phone, so I planned to bring the email with me by simply taking my phone. I also took my passport with me - I'd need it at Heathrow and was told that I would need to show photo ID to the bus driver. Boarding the bus I was told that I did not have enough to complete the journey - I had the email, in electronic form, and I had photo ID, but I needed to have a paper copy of the ticket, as such I would need to spend another £25 on a ticket from the bus driver.
I also had an electronic plane ticket that had been emailed to me and that I had also not printed. This was liked to my passport number, so all I needed to do was hand my passport in at the check-in desk at the airport and they could retrieve my details. Similarly, I have previously booked airport car parking online and have been sent a confirmation number that I have not printed, just remembered, and provided to staff at the car park to enable me to leave my car. Other companies, it seems, that allow you to pay for things online, don't need a printed email, or any email, to identify the buyer.
Other companies not only provide you with a reference number when you pay for something, but more importantly, they also provide their customer facing staff with access to the data behind this reference number. The Oxford Bus Company do not do this, they only require you turn up with a printed email and photo ID. This is two factor authentication - something I have and someone I am - but it's very unfortunate that the something I have is produced by myself, rather than by the bus company; as such a genuine looking piece of paper can be used to exploit the system.
Exploiting the system, or "give the man what he wants"
Exploiting the hole in the Oxford Bus Company's awful system is easy; print a genuine looking email that contains the details of any bus journey you want to take. The bus driver only wants to see an email and your ID, they have no access to any passenger lists; should anyone with a passenger list board the bus (some kind of ticket inspector, I guess), you can remind them that the customer is always right; furthermore, act mortified at the fact that they blame a failing of the booking processing system to register your journey as some sort of criminal action on your behalf.
Fixing the system, or "use what you've already got"
Fixing this bus ticket problem would be very simple - the Oxford Bus Company just needs to generate a unique ID number that it includes in emails to customers and to provide drivers with access to a passenger database. Buses are already fitted with Internet connections to be used by passengers on the journey, so all that needs to be provided is a very simple device to the driver.
A passenger boards the bus, hands over their ID and says "my number is 546672", the driver taps this into the machine and replies "ah yes, hello Mr Reeves, I'll let you know when we're at Heathrow Central bus terminal".
At present, the Oxford Bus Company uses the Internet to take your money, but have taken no steps to use the technology to improve either the customer experience or their own SOP. This half-hearted approach only serves to annoy those customers who have had previous dealings with such systems and to introduce opportunities for abuse. The system demonstrates a lack of technical understanding within the Oxford Bus Company and reveals remarkably poor work by either the in-house IT technicians or contracted company employed to produce this service.
IT specialists are specialists, just like bus drivers
This all goes to show that if you're considering implementing IT within your company or organisation, you need to consult a competent IT specialist for the job. I wouldn't tell the bus driver how to drive to Heathrow, or how to park once we got there, but I'd like to think that anyone with even the slightest familiarity with mobile Internet applications could have helped with this one.
Juan Lucas Domínguez Rubio has a great entry on his blog that serves as a practical demonstration of using gvSIG Mobile for Openmoko as a tool for archaeological analysis and, perhaps more interestingly, explanation and dissemination:
Juan Lucas has displayed a pair of shape files that trace the outline of a cathedral and Roman amphitheatre in modern day Cartagena, southern Spain; these lines are displayed over aerial mapping from the 1930's, 1950's and the modern day. The first two examples are served up via WMS, the third, I think, comes from Yahoo!'s aerial photography service. You see the Cathedral in good condition, with the amphitheatre covered by recent developments; later you'll see the Cathedral roof bombed and the building abandoned whilst the amphitheatre is later discovered and restored.
It starts to get very interesting when you remember that this is running on a GPS enabled mobile phone; people could walk around, choosing the layers they wanted to be displayed, watching history unfold around them. The potentials for dissemination or community involvement are enormous.
Juan Lucas provides some screens of two new features here; support for Microsoft's Live maps and data provided by ESRI's ArcIMS protocol. Is there any other mobile GIS application that provides support for as many different data sources?
There's also some slight GUI changes and extra languages:
Norwegian; provided by Herdis Hølleland
French; provided by Michaël Douchin
Russian & Hewbrew; provided by Evgeny
That brings us to a total of 9 languages. Big thanks to everyone who has kindly supplied a translation for us; if anyone else wants to help please download this short file, translate it into your language of choice and send it to Juan Lucas or myself.
I'm flying to Cairo on Thursday morning for a very ill prepared holiday, Juan Lucas was kind enough to ensure that gvSIG Mobile would fit my needs ;-)
This goes to show how easy it is to edit these fields to suit your requirements. If you're collecting OpenStreetMap data, for example, you could easily create a database on your phone that met your recording needs. I'll type up a guide about that later, probably after 0.1.4 is released as that may feature extra functionality in this area.
Download, enjoy, be happy!
I got a couple of good responses to my last post on the subject of racing myself; Marcus Bauer suggested a new screen for the FreeRunner, which sounds like a very good idea. We could also try and fit another battery or two in the presumably enlarged case to aid outdoor performance; so yes, I'm officially interested in that one. Pete Reed provided a link to his additional suggestions on the subject. And Chris, I'd be more worried about giving it some beans in one of these ;) but anyway, I digress...
Fleshing out my application idea then:
The application displays OpenStreetMap or WMS tiles depending on the level of complexity required. OSM would probably be enough for most, although custom WMS tiles of a racetrack, for example, would be quite nice.
The application would support either starting a new race, or loading a previous race produced by either yourself or a third party. Starting a new race would begin recording your trip to a standard gpx file; you ride around with the map centred on your current position. Once you've finished the gpx file is saved and you can return to the starting point.
At the starting point you select load and select either the gpx file you just produced or one that you've saved for some time, downloaded, been given by a mate, etc. You start riding your bike and the previous gpx file is played back on the map along with your current position. I've mocked it up quickly below:
The red dot shows your current location and speed. In green is displayed the location and speed you achieved at this point in the race last time you ran it. Also in green is displayed your last attempt's speed at the point you're currently at (although I'm not too sure about this feature - testing would be required to see if it was any help).
The display map could automatically zoom in and out (within predetermined limits) to give you an easily read graphical representation of the scale of your defeat / victory. The map would centre halfway between your current and previois position. The red/green dots could swap colours to indicate your position in the race. The TangoGPS friends feature could display other users, perhaps even with a smiley/sad face to depict their race status.
Lets say in this example you've been riding for 30 minutes (don't ride on footpaths, by the way, but do go up The Garth, bonus points if you can ride down the brutal steps without a dab/serious injury); when you rode this last week you'd climbed to the top of the hill after thirty minutes and were zipping along nicely. This time, however, you're not doing too good; you're still climbing and at a slower pace than you did it last time.
Most of the code required for this is, I think, already completed; it all just needs to be wrapped up and packaged as something new. Drop me an email if you
want to pay me big money to hear my ideas code this up. If anyone wanted to pay for this, we could provide it through OA Digital
[edit - I remembered some stuff...]
OA Digital at the IfA conference
Last Thursday I spoke at the IfA conference in wet and wild Torquay. The session was titled "'I'm on a train!' New technologies and the historic environment" and was organised by John Schofield of English Heritage. I spoke about the development of our on-site digital recording tools and briefly about some mobile GIS.
The session was very enjoyable; very well organised and attended. Mobile applications within the heritage industry are rapidly gaining importance, as evidenced by the fantastic contributions to the session.
My slides are available in a big pdf here.
Oxford Archaeology at OpenExpo
It didn't get mis-read, then corrected on Slashdot like other stories from Sean Moss-Pultz's OpenExpo talk, but Oxford Archaeology were there. On page 8 in fact. Big thanks to Sean for emailing me about the Expo, including our work in his talk and for letting me know where the slides were hosted.
gvSIG Mobile: More devices and languages
Juan Lucas has created debs and a maemo.org page for gvSIG Mobile on
Openmoko Nokia NX00 devices:
He's also used the holiday period to demonstrate the multi-lingual capabilities of the application:
Evgeny Ginzburg provided Russian and Hewbrew translations of the application. If anyone would like to translate the application into their language, the file to look at is here. Off the top of my head we have; Spanish, English, French, German, Romanian, Norwegian, Russian and Hebrew. Thanks to all the translators who have contributed so far.
I'm sure there was more to report...
But I can't remember it at the moment; I'll have to blog about it later if it comes back to me.
I'm due a proper update soon, but here's an idea I just had.
Feature request for any Openmoko GPS application: Record a journey and race against it at a later date. Peter Reed describes the application on his GPS here. TangoGPS would seem to be a good candidate for this. Or...
We're very pleased to announce release 0.1.2 of gvSIG for
Openmoko Linux handhelds.
Support for Nokia Maemo devices
The photo's a bit blurry, but you can see that it's working:
I'll create a .deb for it soon, unless someone beats me to it ;) otherwise, download the source and extract everything to the relevant locations yourself. Juan Lucas provides comprehensive instructions here.
Additional spatial reference systems and WMS data providers
We have increased the both the number of spatial reference systems we support and have included additional WMS providers. This allows us to display data that won't get anywhere else, such as complete TIGER mapping for the US (looks very nice), or a map of current worldwide wild fires. If you'd like your local spatial reference system included, or your favourite WMS server, let us know.
Points and attribute support via SQLite
The application now supports writing and reading points and attribute data to and from an SQLite database. Note; we has previously stated that the jamvm dependency was (sort of) optional - cacao would work in it's place, for example - now, however, you must use jamvm if you want to deal with points and attributes as cacao has issues with SQLite.
The GUI can now be displayed in Spanish, English, Italian (thanks to Luca Bianconi), Romanian (thanks Lucian Pricop), or German (thanks Benjamin Ducke). Further translations would be appreciated! Please download this short file, translate it into your language of choice and send it to Juan Lucas or myself.
Testing Jalimo binaries
The good people at Jalimo have helped a great deal with various elements of gvSIG Mobile on Openmoko; they've released some testing binaries that are recommended for use with this release. Download / install from:
You will probably have to -force-depends, this is normal. Also remember that if your distribution doesn't include the Jalimo binaries in its repo (such as SHR), you'll need to manually add their repo to your phone.
Landscape display on the FreeRunner
Inspired by Juan Lucas' picture above, I wanted my FreeRunner to display a landscape version of gvSIG with the buttons down the side. Use your favourite screen rotating application to enter landscape mode; I did
export DISPLAY=:0.0 && xrandr -o 1 then alter /usr/bin/gvsig to read "no" rather than "fr" (both without the quotes) where you see it. The layers screen doesn't quite fit, but it works fine.
gvSIG Mobile on FreeRunner, running in landscape mode, displaying (part of) a WMS layer of wild fires detected within the last 24 hours:
Getting used to all this new stuff!
I'd suggest reading through Juan Lucas' excellent user manual; it contains a good overview of every feature.
Application log files
Are now no longer written to /usr/share/gv-om/ keeping that directory clean and for installed files only.
Sharing map tiles between applications
A lot of people have asked about sharing OSM tiles between gvSIG and TangoGPS; this is easily done in a number of ways. You can edit /usr/bin/gvsig to change the cache location to wherever TangoGPS saves its files; likewise you can do the same via the TangoGPS options screen; finally you can symlink the two together if you've got a half decent file system on your uSD card.
A note on version numbering
Despite being quite a relatively large release, we've given it just a small number boost; the official version of gvSIG Mobile is currently at 0.2 and probably won't be changing for a while - it was decided that we didn't want to conflict too much with this numbering scheme, so we'll stay at 0.1.x for now and see how we get along.
Wildfire WMS layer and Google's Kenyan shape file data:
Downloads and further details
Loggan's 1663 map of Oxford, georectified and served via WMS:
Note: All my screenshots are very black and white; there's plenty of colourful options, I promise ;) Check out opkg.org for more.
I've just released gvSIG for Openmoko version 0.11; a very small update over yesterday's first release. The only change is to the script that launches the application: the operating system is now presumed to be controlling GPSD, so we don't touch it, and the shell has been changed from bash to sh to make it run properly on SHR.
If you installed via the opkg.org repository you can simply opkg update && opkg upgrade. Otherwise the new ipk file is located here:
Thanks to Al Johnson for diagnosing the error and Francesco de Virgilio for testing. Francesco was also the first person to get gvSIG Mobile working on SHR; here's an image I stole from his Flickr stream. Always good to see some more archaeology and Open Source!:
I've created a .deb package for gvSIG Mobile (that's the easy bit), but was met with dependency hell when trying to install it. At the moment we rely upon jamvm (although other java implementations could be used), libswt3.4-gtk-java, gpsd, classpath-gtk and classpath-awt.
In short, we'd be very grateful if somebody was able to help turn Juan Lucas' original zip file into something that worked on Debian. Please get in contact if you have any luck, or would be keen to collaborate.
I'm very pleased to announce that gvSIG Mobile has been released for Openmoko:
This release represents a lot of talented work by Juan Lucas Domínguez Rubio to port gvSIG Mobile gvSIG Mobile to the Openmoko platform; the first such porting of the software.
Install by running:
opkg install http://downloads.thehumanjourney.net/gvsigmobile_0.1_armv4t.ipk
If your distribution of choice doesn't include the dependencies within it's repositories (you'll know if it doesn't because installation will fail) you will need to add the Jalimo repository to your configuration. It's very easy to do.
Juan Lucas has provided extensive information on his website:
And of course, the package has been added to the opkg.org repository:
Install and enjoy! We're very keen to hear what you have to say about it.