Table of Contents
The Serval Maps Story
The first version of the Serval Maps software started as a prototype application that was developed as part of the requirements for this honours thesis. The thesis was submitted at the end of 2011 and won an award for the Most Outstanding Software Engineering Project in 2011.
In early 2012 the Serval Maps application officially came under the umbrella of the Serval Project and a rewrite of the application was undertaken.
Version 0.3.1 is the most recent version of the software and has a number of capabilities including:
- Infrastructure free mapping, no need for an Internet connection
- Users of the software can see their own geographic location, as well as the geographic location of other users
- Users can add Points of Interest to the map, optionally including a photo and tags
- Information is shared between all users, there is no central data repository and no central point of failure
Android Application - Android Powered Phones
Serval Maps has been developed as an Android application and works with devices that support the Serval Mesh software running Android version 2.2 and above.
Emergency and Disaster Response
The primary use case for the Serval Maps software has always been about improving the response to disaster or emergency situations. Systems such as Ushahidi or Sahana Eden have shown that crowdsourcing geographic information can make a positive impact on the response to a disaster or emergency situation.
An issue with systems of this type is that they rely on telecommunications infrastructure. For example Ushahidi uses SMS as a means to report information, or an Internet connection via a Wi-Fi or Cellular network. Unfortunately access to telecommunications infrastructure may be unreliable or even nonexistent during a disaster or emergency event.
The Serval Maps software uses the mesh network provided by the Serval Mesh software to share data between users. A wireless mesh network is a network that does not rely on any existing infrastructure. In the case of the Serval Mesh a network is formed between mobile phones using the standard WiFi hardware in the phone.
In this way users of the software can collaborate on adding information to a map and thereby build a more complete picture of the impact of the disaster or emergency event.
The goal of the Serval Maps software is to provide a platform that supports collaborative mapping activities. In this context collaborative mapping is defined as the ability for a group of users to add information to a map and have that information shared between all users of the application. We believe Serval Maps improves the users ability to respond to a disaster or emergency event by providing the following capabilities.
No Internet Access Required
The Serval Maps application does not require Internet access in order to work. Unlike some other maps applications the data used to display and render a map is preloaded on the phone. Specifically the data is stored on the external storage of the phone (typically a SD Card). The rendering of the map is achieved using the mapsforge library.
The data collected by Serval Maps is shared between users of the application using the Wi-Fi mesh network that is powered by the Serval Mesh software.
An individual user can see their geographic location on the map. This information is shared between instances of the software so that a user can also see the geographic location of other users of the software. The goal in providing this information is to improve the knowledge of the user where they are in the landscape and where in the landscape their team members are. In this way we believe that the team can operate more efficiently as they know where each other are all the time.
Points of Interest
Users are able to add to the map Points of Interest. In the context of Serval Maps a Point of Interest (POI) is a geographic location which is significant in some way. For example in the context of disaster and emergency response a POI may be:
- A building has collapsed here
- The bridge that was here has been washed away
- Emergency supplies are located here
- The command and control centre is located here
Each POI consists of a title and description. A user can optionally including a photo, for example to provide an indication of extensive the damage is, and one or more tags. The tags associated with POIs form a folksonomy which can be used to filter the list of POI information and assist in analysis of the data after the event.
Open Data and Open Source
The Serval Maps application has been developed as Open Source software, the source code is available in a GitHub repository. This means that if the application does not have a required feature it is possible to extend it.
Additionally the Serval Maps application can export the data as a plain text based CSV file, and the binary files can be converted into other formats such as KML which is used by applications such as Google Earth.
Other Uses for Serval Maps
Serval Maps can be used for other situations where collaborative mapping is useful. One area where we see Serval Maps providing value is in the area of research.
The recently implemented feature of adding tags to POIs has used research into frogs as a basis for the examples, including the addition of tags to POIs and using the tags to filter the display of a list of POIs.
Other use cases that we have considered including weed infestations, cactus infestations, and other in research activities that can be conducted in the field.
Future Development of Serval Maps
There are a number of new features that we have planned for Serval Maps, these are outlined in more detail in the Development Roadmap. They include:
- The ability to categorise Points of Interest
- Download of preprepared map data, and sharing this data with other devices
- Integrating Serval Maps with other websites and services
Unfortunately funding for the current round of research and development will end in August 2012. If you would like to contribute to the funding of new features, or know of any funding opportunities that we should persue, please contact firstname.lastname@example.org