Investigating mobile computing platforms (Summer 2009-2011)

Mobile phones are becoming increasingly powerful computing platforms. They have a multitude of sensors, high-resolution screens and fast network communications. We are interested in how mobile services and applications might exploit the capabilities of these new devices.

David Brazdil

David Brazdil

1A Computer Science
CryptoSMS screenshot
Encrypted SMS application (Summer 2011)

CryptoSMS is a replacement for the standard Android SMS Messaging application. It is designed to allow users to send encrypted SMS messages between Android handsets which have CryptoSMS installed. CryptoSMS makes use of the Android Key Ring project (below) and utilizes the public keys of users who have previously shared them with one another. These keys can then be used to authenticate a secure communication between the sender and the recepient. CryptoSMS uses the Diffie-Hellman Elliptic Curve protocol to generate a session key between the two participants, and guarantees perfect forward secrecy.

This project was supported by Red Gate.

Dylan Ede

Dylan Ede

1A Computer Science
Android Key Ring
Android Key Ring (Summer 2011)

Android Key Ring provides support for a distributed public key infrastructure, and secure storage for cryptography keys. When Android Key Ring is installed on a handset other compatible applications can use Android Key Ring to encrypt and decrypt information and retrieve information about public keys. The CryptoSMS project above makes use of this project to store its keys safely.

This project was supported by Red Gate.

Matthew Gadd

Matthew Gadd

1A Computer Science
Analytics for Device Analyzer
Analytics for Device Analyzer (Summer 2011)

Device Analyzer is a Android application which records what mobile phone users do with their phones. Data collected includes statistics concerning application usage, phone calls made and received, data transferred, power used, and phone location. This project is concerned with producing the required server-side infrastructure to derive useful usage statistics from data collected from hundreds of different handsets. With this infrastructure it is possible to calculate trends and common patterns of mobile phone usage. The derived data is ultimately useful to device manufacturers, mobile operating system developers and cellular network operators as well as the phone users themselves.

This project was supported by Red Gate.

Fotis Logothetis

Fotis Logothetis

1A Engineering
A Personal Energy Meter
A Personal Energy Meter (Summer 2011)

Energy meters help users reduce their daily energy usage by providing them with a visualisation of how much energy different activities take. This project uses estimates of the amount of energy consumed by various modes of transport, including cycling, driving, catching the bus and taking the train, to derive a personal estimate of the amount of energy consumed. Mobile phone users can use the Personal Energy Meter application to build a personal energy profile by either manually entering specific trips or by using data from the phone's sensors to autonomously infer when travel is occuring together with the mode of transport taken, and therefore provide an estimate of the amount of energy consumed.

This project was supported by Red Gate.

Ashley Manton

Ashley Manton

1A Natural Sciences
Mobile Graphics for Device Analyzer
Mobile Graphics for Device Analyzer (Summer 2011)

Device Analyzer is an Android application which records what mobile phone users do with their phones. Data collected includes statistics concerning phone calls made and received, application usage, data transferred, power used, and phone location. This project is concerned with producing graphical summaries of the data collected on the mobile handset and presenting these to the user. As part of this, the project has created an open-source graphing library, Snowdon, for the Android operating system.

This project was supported by Red Gate.

Nikola Mrksic

Nikola Mrksic

1A Computer Science
Location Sharing on Mobile Devices
Location Sharing on Mobile Devices (Summer 2011)

Modern smartphones are capable of calculating the location of a handset using GPS data, information from cellular networks or wifi signal strength readings. Several popular applications, such as Google Latitude or Foursquare, allow phone users to install an application on their phones and share their location data with their friends. Unfortunately the current popular applications which support this require the user to share their location with the service provider as well as their friends. This project uses Nigori, an open source crypto protocol, to encrypt the location data on the mobile device itself in such a way that the only other party who can read it is their friend. The application also allows the user to control the quality of the location data shared (e.g. actual location or nearest city) as well as temporarily suspend sharing of their location with some or all friends.

This project was supported by Red Gate.

Simon Beaumont

Simon Beaumont

1A Computer Science
EduCreate screenshot
Interactive on-line learning (Summer 2010)

EduCreate is an interactive learning application written for the Android platform. It is designed to allow educators to write material to support independent learning. Educators create and share educational material with pupils using their phone. An educator prepares a package of material which is organised around a series of topics. Each topic contains a piece of multimedia content which may be combined with additional examples, supporting material and multi-choice questions and answers. Pupils can study the topics found in a package, and make use of the additional examples and materials when appropriate.

This project was supported by Red Gate.

Adas Burksaitis

Adas Burkasitis

1A Computer Science
Crowd-source transport screenshot
Crowd-sourcing public transport data (Summer 2010)

Gathering data on the state of a public transport network is difficult. This project explores whether travellers equipped with mobile phones are able to collect useful statistics such as the location of a bus and the number of passengers, as well as information about the surrounding environment. Motivating travellers to enter such statistics is key. This application encourages data entry by producing works of art which represent the traveller's bus journey. A flower is drawn which follows the route taken by the bus. Features such as leaves and flower heads are added to the picture when the user answers transport-related questions.

This project was supported by Red Gate. This application was developed in collaboration with Julie Myers, an Artist in Residence at the Wysing Arts Centre.

Ricky Jones

Ricky Jones

1A Computer Science
Overlay network screenshot
An overlay network for mobile phones (Summer 2010)

Sending data directly between mobile phones is difficult today. Network Address Translation (NAT) and firewalls get in the way. The aim of this project was to design and build a peer-to-peer overlay network so participating clients can establish a connection with each other and exchange data regardless of their network topology and configuration. A peer-to-peer encrypted chat service was built to demonstrate the functionality of the overlay network.

This project was supported by Red Gate.

Xiang Long

Xiang Long

1A Computer Science
OpenRoomMap screenshot
OpenRoomMap for Android (Summer 2010)

A detailed floor plan of a building including rooms, chairs, desks and PCs is often very useful. It can be used to guide visitors to meeting rooms, track inventory and even help estimate the expected energy consumption of each room. Producing such a plan is a laborious process which needs to be repeated at regular intervals. OpenRoomMap solves this problem by crowd-sourcing room data from occupants, distributing the task of surveying each room to individuals. OpenRoomMap currently works as a Flash-based application and therefore cannot be used on mobile phones. The aim of this project is to write an OpenRoomMap client for Android to enable easy updates to the floor plan on the move.

This project was supported by Red Gate.

David Piggott

David Piggott

1B Computer Science
Personal energy meter screenshot
A personal energy meter (Summer 2010)

Energy meters help users reduce their daily energy usage by providing them with a visualisation of how much energy different activities take. The project has defined an energy feed format which expresses the amount of energy consumed by a particular resource, such as a building, a bus or a home. Mobile phone users can use the Personal Energy Meter application to build a personal energy profile by collecting and monitoring the energy feeds which make up their own energy footprint. Energy feeds can be added by scanning QR codes placed on a building or mode of transport, or by entering a URL manually into the application.

This project was supported by Red Gate.

Nick Skehin

Nick Skehin

1A Computer Science
Fake permissions screenshot
Fake application permissions for Android (Summer 2010)

The modular nature of the Android system makes it easy for third-party applications to request access to personal data, including contacts in the address book, or the location of the handset. Many applications on the Android Marketplace currently request access to personal data, even when the application does not require access to offer basic functionality. This project has created a modified implementation of the Android operating system which allows users to provide fake data to specific applications. This means that users can effectively change an application's permissions whilst it is running and safely use applications which they would not install otherwise.

This project was supported by Red Gate.

IIA Engineering
OSMapper
Editing OpenStreetMap directly from your phone (Summer 2010)

OSMapper is an all-in-one application for OpenStreetMap contributors on Android. It allows users to view OpenStreetMap and search for places of interest. Users can also add points of interest, roads, and even add and edit tags while on the move. Everything can be done from the phone so there is no need to own a separate GPS device or use a computer. Any data collected by the application can also be exported in GPX format, enabling editing in a traditional OpenStreetMap editor if preferred.

This project was supported by Red Gate.

David Tattersall

David Tattersall

1B Computer Science
CamBus Screenshot
Real-time and context-aware public transport information (Summer 2009)

Increasing amounts of real-time transport data are being collected, however these data are often not easily accessible on the move. This project explores the use of mobile phones as a delivery platform for real-time bus arrival information in Cambridgeshire. The application provides a map interface to search for bus stops, and a search interface to find nearby bus stops or stops by name. Once a bus stop has been selected, live arrival information for the chosen stop can be displayed. A reminder can also be set for specific buses so you know can leave work just in time to catch the bus!

This application is now available on the Android Marketplace, search for miniBus.

This project was supported by the Transport Information Monitoring Environment (TIME) research grant.

Vytautas Vaitukaitis

Vytautas Vaitukaitis

1A Computer Science
No Screenshot
Flash-card based language learning (Summer 2009)

Mobile devices have the potential to provide a productive learning experience through personalisation of content and continual interaction with the learner. This project investigated how one might incorporate features of modern phones such as multimedia capture and playback, data communications and significant computation power into a learning application. The aim was to gain insight into how these features might be useful and what problems can arise.

This application is now available on the Android Marketplace, search for learn!.

Download beta version: coming soon

We are very grateful to Cambridge ESOL for sponsoring this project.

Connell Gauld

Connell Gauld

IIA Engineering
Tor Screenshot
Anonymous data communication for mobile devices (Summer 2009)

Browsing the Internet anonymously on your PC has been possible using the Tor network for some time. This project allows you to connect to the Tor network using your mobile phone with the TorProxy application. The Tor component of the project is based on the excellent Java implementation of the Tor protocol, OnionCoffee. The tor network can, in principle, be used for Internet communications by any Android application. As a proof-of-concept, the project has also developed a browser, Shadow, which uses the WebKit browser platform to allow users to browse the internet anonymously.

This application is now available on the Android Marketplace, search for TorProxy and Shadow.

We are very grateful to EPSRC for sponsoring this project through the UROP programme.

Elbin Teh

Elbin Teh

Third year Computer Science
Communication messages
A lightweight overlay network for direct communication between peers (Summer 2009)

Firewalls and Network Address Translation mean that it is increasingly difficult to orchestrate peer-to-peer communication between two hosts on a network. For mobile devices this problem is even more complicated due to device mobility and the number of different network interfaces available. This project considers the development of a network overlay for direct communication between peers. The focus is to create a simple centralised overlay system which can be easily deployed for small networks of communicating peers. The network works with minimal changes to application code.

Rrodri Karim

Rhodri Karim

1A Computer Science
Blank Screenshot
Data transmission with audio (Summer 2009)

Audio is a common human-computer interface used in phone networks today. For example, many corporate phone numbers present audio menus to callers; these are required for traditional landline telephones with no visual interface but are more cumbersome than presenting a graphical interface on a mobile phone. This project is looking at possible methods of sharing data via audio signals on the Android platform. One fun application created early in this project is Spectral which converts the contents of an image into audio form (and back again).

This application is now available on the Android Marketplace, search for Spectral.

More information and screenshots are available.