The Spatial Miscellany

Avatar

A weblog. A website. A geospatial miscellany…

GIS Software Above the Level of a Single Device

A couple of weeks back I surfed over to the Nokia website to check out the latest developments for their Series60 device platform (S60); unsuspecting I stumbled upon some software that really got me thinking.

It turns out, a couple of years back Nokia embarked on a project to port the Apache web server to the symbian operating system that underpins their Series60 device platform. The project was subsequently handed over to the open source community and you can get involved here, project raccoon. Interestingly, Nokia have recently wrapped the web server as user friendly software with a supporting website: www.mymobilesite.net.

I installed the application on my N95 and as you might expect it provides complete access to the contents of my mobile phone via the web. I can fire up the web browser on my desktop PC and browse to a web page, and then click a button on the web page to take a photo with the camera on my phone, wherever my phone might be. I can then use my desktop web browser to browse the photos I have taken, or any other information I have on my phone e.g. contact details or calendar events.

My mobile phone via a desktop PC web browser

This struck me as a unique piece of software, I tried to think of other software that functioned in a similar manner. After roaming the web for some ideas I found an article from Tim O’Reilly that suggested similar behaviour could be observed with Apple iTunes, he’s coined a term to describe such software as…‘software above the level of a single device’.

Installing the mobile web server software on your phone, allows you to use the software on any number of devices…your phone; a desktop client with web browser; a games console; or any other internet enabled device, even someone else’s mobile phone? Software above the level of a single device - just as Tim O’Reilly describes when he observers that you can control your iPod from an iMac.

From a geospatial perspective, couple the GPS enabled N95 mobile phone, with the mobile web server, and we have a tracking service that can be consumed by any internet enabled device, powerful stuff. Perhaps worthy of more consideration, I look across the GI industry, GIS software vendors, the open source community, and other corners, but I don’t see ‘GIS software above the level of a single device’ as an overriding design architecture?

There is a bigger question here…what happens when 3 billion mobile phones run as personal web servers?

Summer of Code & OpenLayers

Google Summer of Code (GSoC) is a program that offers student developers cash to write code for various open source projects. Google will be working with several open source, free software, and technology-related groups to identify and fund several projects over a three month period.

OSGeo and Summer of Code

I think it’s a great opportunity for students, surely better than spending many summer months obsessing on an esoteric thesis that will never see the light of day – perhaps that was just my experience? Christopher Schmidt and others have offered their support for students wishing to further develop OpenLayers, it would be great to see some of the stuff on the list tackled.

Fight spam with reCAPTCHA

When you submit details to a website via a web form, increasingly you’re asked to interpret a picture of a word and type the answer in a text box, this type of puzzle is known as a ‘CAPTCHA’ – if you’re not sure what I’m talking about, check out the comments section of this post for an example.

The CAPTCHA was created by Luis von Ahn, in an attempt to fight Spam…if the CAPTCHA is completed successfully you are assumed to be human and the web form is submitted, if the CAPTCHA is failed you are assumed to be a computer and web form submission is prevented. The CAPTCHA is a classic example of a Turing Test, as proposed by the eponymous researcher in his 1950 paper ‘Computing Machinery and Intelligence’ - indeed the name CAPTCHA coined by Luis von Ahn is an acronym for a “Completely Automated Public Turing test to tell Computers and Humans Apart”.

An example captcha

Ahn was initially proud of his highly effective solution for preventing Spam, but was subsequently frustrated with the cumulative amount of time being consumed by millions of people across the globe filling in CAPTCHA’s and producing very little in return. Personally I found the CAPTCHA mightily offensive and avoided them like the plague, until I discovered them to be the only effective way to stop computers spamming this blog. Fortunately, Ahn has recently worked with Ben Maurer to address his frustration and recently released reCAPTCHA. Here’s the deal…

The Internet Archive is attempting to automatically digitize old books using optical text recognition software, they are largely successful but the text recognition software struggles with recognizing ye olde English, meaning that roughly 8% of words are digitized incorrectly or not at all. reCAPTCHA addresses this problem by asking a user to interpret a picture of two words (instead of just one), the first word is a known word and the second word an unknown word. If you correctly interpret the first known word, it is assumed you have also correctly interpreted the second word that wasn’t recognized by the text recognition software. So when you fill in a reCAPTCHA, not only are you proving that you are human, but you are also helping to digitize old books! For me, application of technology in this way is poetry.

Obviously Luis von Ahn has applied this technique to digitizing old books, but it had me thinking of the potential to apply such an approach to digitizing maps…is there scope for a geoCAPTCHA?

The above cartoon is the copyrighted work of David Farley

Computer Game Development and GIS

GIS Developer?Find me a GIS professional who hasn’t played a computer game like Grand Theft Auto (GTA) and subsequently wished they could have a similar navigation experience in a desktop GIS (perhaps without the frequent encounters with cops and pimps)? When we set about designing ArcGIS Explorer a couple of years ago, we looked at several computer games to see what we could learn.

With this advert for a ‘Senior GIS Engineer’ from Realtime Worlds, the computer game company behind GTA, Lemmings and Crackdown, it looks like the computer games industry is keen to leverage the benefits of GIS…



Senior GIS Engineer required to work on Realtime Worlds next ground breaking title…

Responsibilities

Development of a software framework and tools to process, convert and integrate multiple sources of GIS data.

Investigation and assessment of new GIS data sets.

Supervision of engineers and proactive role in software architecture.

Qualifications Required

Good BSc or equivalent in a relevant subject.

Experience Required

3 years’ professional Software Engineering in a team environment

Knowledge/Skills Required

C#, C++ or Java

PC / Windows development

Ability to communicate ideas well and assist junior programmers

Experience working with large data sets.

Experience with standard GIS data formats and tools (vector, raster and terrain data)

Knowledge/Skills in the following areas a plus

Scripting (such as shell or Perl)

Databases (SQL)

If the job interests you (and you want to live in Dundee), check out their website for further details.

Nokia N95 and the Series60 SDK

I finally found some time to have a tinker with the Nokia Series 60 SDK, and build a hello world location application for my Nokia N95. Applications for the Series60 platform can be developed in several languages, as a developer you are spoilt for choice.

Having vague recollections of working with Java whilst undertaking my undergrad dissertation at Lancaster way back when, I plumbed for Java and promptly downloaded the Eclipse IDE. Next up, I installed Carbide.j, a suite of mobile development tools from Nokia. It was at this point I encountered my first frustration; it turns out the Carbide tools from Nokia don’t support the latest version of Eclipse, a school boy error of failing to read the doc. A quick uninstall, download, and install later, I’m back on track with an older version of Eclipse (3.1.2).

Nokia have provided a whole host of up-to-date documentation for building LBS applications for the series60 platform, so I downloaded their TouristRoute Java Midlet example and their location API developers guide. The location API is pretty concise, with a handful of important classes:


LocationProvider: represents the source of the location information (in this case the integrated GPS)

LocationListener: receives events associated with a particular LocationProvider.

Coordinates: represents coordinates as latitude-longitude altitude values.

Location: represents the standard set of location information (time-stamped coordinates, speed, accuracy, course, etc.)

Landmark: represents a known location with a name.

LandmarkStore: has some methods for persistent landmark store management (store, delete, and retrieve landmarks).


The sample built fine, generating a Java Archive (JAR) file and Java Application Descriptor (JAD) file. The JAR file is a package of the classes and resources, the JAD file a description of the Midlet. Right clicking on the JAR file (the midlet executable), the Eclipse context menu gives you two deployment options:


1) Deploy by Bluetooth
2) Deploy to Web Server


Unfortunately my laptop doesn’t have Bluetooth, so I went with option two and uploaded the files to my server (they can be downloaded here). I uploaded both files, the JAR and the JAD, I’m not sure if both are required or not? I added corresponding mime types to the .htaccess file on the server (this instructs the server how to handle requests for jar and jad files) and browsed to the jar file with my mobile phone browser. A couple of keypad clicks later, the application had been downloaded and installed on my phone.


TouristRoute Screenshots



Lots of useful documentation and active discussion forums made getting started building mobile app’s a breeze. However, it looks like my experiences may already be somewhat outdated, it appears Nokia have recently abandoned the Carbide.j developer kit in favour of newer tools provided by Eclipse.

I have had the phone for a couple of months now and am very impressed. Nice design, great camera, and a half decent GPS, but it’s the open development platform that sets this phone apart from the crowd, allowing everybody and anybody to develop a whole host of useful (and not so useful) applications. So far I’ve already acquired SportsTracker, which allows me to save my mountain bike routes as KML, some handy software that uploads my photos to my Flickr account, and the ubiquitous Google Maps which syncs nicely with the GPS.

Continue Next page



Free GIS Software...

 

Download ArcGIS Explorer, a free globe explorer from ESRI. Use ArcGIS Explorer to answer your everyday geography questions... “How do I drive to Birmingham?” and “Which river flows through London?”. For the GIS Professional, use ArcGIS Explorer to fuse your rich GIS datasets, with server-based geoprocessing applications, and distribute your geospatial activities throughout your organisation.

Before you go

Going so soon? Test your geography with the...

 

Do you support the campaign? Should government-funded and approved agencies such as the Ordnance Survey collect data with significant indirect contributions from the UK tax-payer, but then charge users and companies for access to it?

 

Download Flash plugin