Interactive Map Of London Underground For Android Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

The London underground is a rapid transit system serving a large part of Greater London and neighbouring areas of Essex and Hertfordshire and Buckinghamshire in England. The London Underground has three million passenger journeys made every day, serving 276 stations and over 408 km of railway making it the longest underground railway in the world, and one of the most served in terms of stations making it a major industry. In 2007, the London Underground was used by over one billion passengers, with on average around 3 million passengers daily. [1]

Due to the complexity of the railway lines, a schematic diagram representing the lines and stations of the railway system in London. For passengers to plan their routes, they will utilize the transit map. The London Underground (commonly known as the tube, hence the name), the Docklands Light Railway (DLR) and London Over ground was created.

However, even with the map experienced users who like to plan their routes to find the cheapest route possible and one that takes less time, will often at times find it difficult to know because of the different zones, the added cost when making interchanges and probably the times in the day when there is peak hours.

Among these 3 million passengers around many of them possibly will carry around a Smartphone. While the numbers may not be clear in the UK, it is clear that mobile device sales to end users totalled 325.6 million units in the second quarter of 2010 globally, which is a increase from 2009 of 13.8 percent, according to Gartner, Inc. Smartphone sales to end users accounted for 19 percent of worldwide mobile device sales, an increase of 50.5 percent from the second quarter of 2009. [2]

This report will discuss the solution people have arise with route planning, existing applications that are on three of the most popular Smartphone devices which is the iPhone, Blackberry and the Android devices, that is currently in the mobile market.

2.0 Aims and objectives of the project

The aim of this project is to create an interactive map of the London underground line for android devices. Reason being is that many individuals use the London underground whether if it's to get to work or to school, or to go shopping or visit families. It is always useful to carry a pocket map even if they are veteran travellers of the tube. However it is sometimes difficult to work out the cost of the fares because of the additional zones and switching of lines on the tube. The motive for building an application for the android device is that many of these travellers also adopt the android devices as well as the iPhone and Blackberry devices. Several of the most noteworthy Android features are No licensing, distribution, or development fees are required whereas the iPhone requires a fee of $99 to register as an iPhone developer before distributing the work into the apple market.[9] Furthermore there are apps that are already available for the iPhone and Blackberry which are rich in feature, in other words these apps London Underground are more "completed" because they have the necessary functions required for route planning while the Android market lacks these full featured apps. Software Development kit is in addition, available for free for Android, it allows the opportunity to create applications that are as much a part of the phone as anything provided out of the box.

2.1 Specification of the application

In fully featured mobile app for this type of task user expect it to:

Have a portable map of the underground

allow users to view the tube map fully on their device

use the touch screen capabilities to zoom in and out of the map

allows user to view each of the railway lines individually

use the Global Positioning System(GPS) to position user location

the map can be used offline

Display the status of the train for each underground line

Displays each individual train line in a list with the associated colour e.g. central line is red

Shows status of the line along with the train wherever if there are delays or line is closed by using the internet to retrieve information from TFL

Route planner

lets user plan their routes by touching the location on their map and destination

or type in the departure and destination to plan their routes

calculate costs of journey with the inclusion of different zones and estimated duration of journey

store favourite journey plans

Departure Boards

Display arrival of trains and departure of trains on any desired station

Some station don't display arrival times of train so travellers may find it of good use


allow users to tap on map and displays toilets available toilets, restaurants or ticket offices on the station

lets user view images from within each station to give them and better insight of the station

links to Google maps to give better representation of location and make better use of Google maps others feature such as Street View

2.2 Proposed Specification

Due to time limitation, for this assigned project only a handful of the said specification will be selected to be carried out for this project. These will be have be to have a portable map which will be incorporated with GPS, a route planner, with status updates for the individual line and departure boards.

3.0 Existing Mobile Applications and Development Platform

Many applications that provide similar specifications as previously mention exist on mobile markets for the iPhones, Blackberrys and Android devices. Some application comprise of features mentioned whilst some apps lack necessary function. Below is the list on the popular apps for the 3 major devices with description to each app and its features it includes and lack (check appendices for figures):

3.1 IPhone (IOS)

3.1.1 Tube Deluxe

Figure 1.

Developer: Malcolm Barclay

Synchronises with TFLs official network allows users to retrieve data via internet connection such as maps of the underground, train arrivals and departures and status updates. It also includes the use of GPS, letting users locate the closest tube station.

Users can choose stations on the map for a clear and straightforward view of their journeys. The app displays each stations departure boards, helping narrow down plans to the exact minute practical for stations that don't display train times. This feature is only available above ground as there isn't always a network connection within the trains. Users can still check the map and route planner offline too since they don't actually need network connection. The app stores information already downloaded from the previous period it had a connection, so information won't be lost.

This app lacks a complete route planner like the one available from the TFL website. [3]

3.1.2 London Tube 10

Figure 2. 

Developer: Visual IT Ltd

London Tube 10 overlays the tube map with a London map. For example, search Old Spitalfields Market via 'Map Locations' and select it under the 'Shops and Markets' category. The market is then displayed on the map to find a nearby tube station. This is great for someone new to London. Similar to Tube Deluxe, tap on the map or type your starting point and destination. It then overlays the route on the map and users can follow it step by step. Absent in the other apps, is users can choose to avoid certain Tube lines, allowing alternative routes. [4]

3.2 Blackberry

3.2.1 TubeBuddy

Figure 3.

Developer: 4People Software Ltd

A London underground app developed for the Blackberry device. Features a live departure board informing users when the next train leave at the desired station. Gives instant status updates for all of the underground lines including the DLR should there be problem the application alerts the user. Users can store the tube lines they constantly use as favourites and arrange them in any order they want. The app also group lines by their status so that the ones with problems will always be displayed first. TubeBuddy will display any additional information from TFL for example what section of a underground line may experience delays. [6]

3.2.2 Tube Map

Developer: mxData Ltd

This app has a scrollable pocket map, displaying live updates of status on tube lines and stations. A route planner that calculates the best routes between departure and destination and no network connection is required. [7]

(See Figure 5)

3.3 Android

3.3.1 London Tube Status

Figure 4.

Developer: Pete C

The main menu displays the 11 main lines that make up the entire Tube network - from Bakerloo to Waterloo & City - and offers at-a-glance information on each line's current state of health. Events such as planned closures are highlighted, as are potential delays. Clicking one of the lines displays all of the stations on that line, and clicking one of these offers a more detailed breakdown of all the trains passing through that particular point. It even gives the approximate time of arrival of the next train at that platform. A widget can also be utilized and placed on the home screen, which displays live information about relevant departures. There's no map available, doesn't include route planner. The program frequently requires a constant internet connection to retrieve the latest information for each route, getting a network signal on the underground isn't always available. [8]

3.3.2 Tube Map

Figure 5.

Developer: mxData Ltd

This app itself is not a direct import of the one that appears on the Blackberry as it sorely lacks all the necessary features that appears from its predecessors such as route planner and live status updates.

From the list it is easy to realise that the apps that are rich in features such as GPS, live status updates, route planners and are more completed are mostly apps produced for the IPhone which makes them very versatile. The apps exceed the functions found in other Smartphone rivals.

3.4 Other Maps

Whilst these maps are not for mobile platform it is noteworthy to mention the functions it provides, which than can be a source of inspiration and give better idea of what other ways and other functions that can be used implement when making the app, to make it more unique.

Figure 6.

An interactive map of Paris on the website RATP aimer la ville that has advance functions, allowing users to pin point destination and departures on the map itself with the use of the mouse. And from this allows user to calculate the cost of the journey and the time. Functions that are found in some the mobile apps Users can select stations, allowing for a clear and simple view of any journey. But what makes this unique is that it that users can click on a specific location on the map and it displays large scale map or an image of that position very similar to Google Maps street view which makes it handy for passengers.

3.4.2 TFL Route Planner

Figure 7.

The TFL route planner found on the official websitehas the task of calculating the fastest route and also displays the departures times. Users are also able to select the route with the least interchanges by selecting the filter settings. The application displays a number of ways of getting to the desired location simply when the user enters in the postcode/ place of interest or station that they desire and the application will display not only the train routes but bus routes and walking routes in addition and present the estimated duration for each conduct of transport.

4.0 Theory, methodologies developed/used

4.1 Android background information

On the mobile market there any many mobile OS's which exist for many different devices which consist of IOS (Apple), Windows Mobile, Blackberry, Palm WebOs, Java Mobile Edition and Symbian. Even thought it shares similarity with rival mobile OS, what makes Android unique is, it's the first environment that combines the following:

based on Linux and it is open source free development platform

Allows mobile manufacturers to use and customize the platform without paying a fee.

It is open to the public with no licensing, distribution, or development fees are required making it the best choice as the chosen platform for this project.

4.1 Android SDK Features

Android SDK features the tools required to develop this app will be in a package distributed by Google which for this platform comprises a selection of custom tools that aid the development of mobile application. The most essential of these are the Android Emulator and the Android Development Tools plug-ins for Eclipse. Other tools are included in addition for debugging, packaging, and installing applications on the emulator. [10]

4.1.1 Access to Hardware including GPS, and Accelerometer

To make development easier API libraries are included in the platform involving the device hardware. Application programming interface (API) is an interface between software. Granting the software permission to access services from another such as routines and protocols. In web application practice it allowed the community to share content from places like Photobucket to social websites like Facebook and Myspace.

The Android SDK includes APIs for location-based hardware (such as GPS), camera, network connections, Wi-Fi, Bluetooth, accelerometers, touch screen, and power management.

4.1.2 The Android Emulator

The emulator is the perfect tool for testing and debugging applications, particularly useful for those that don't have a real device or don't want to risk bricking the device for experimentation. The emulator is an implementation of the Dalvik virtual machine, making it as valid a platform for running Android applications as any Android phone. Because it's decoupled from any particular hardware, it's an excellent baseline to use for testing applications.

A number of alternative user interfaces are available to represent different hardware configurations, each with different screen sizes, resolutions, orientations, and hardware features to simulate a variety of mobile device types. Full network connectivity is provided along with the ability to tweak the Internet connection speed and latency while debugging your applications.

4.1.3 Dalvik Debug Monitor Service (DDMS)

The emulator displays how the application will look, behave, and interact, but to really see what's happening under the surface, the DDMS is required. The Dalvik Debug Monitoring Service is a powerful debugging tool that interrogates active processes, view the stack and heap, watch and pause active threads, and explore the file system of any active emulator. The DDMS perspective in Eclipse also provides simplified access to screen captures of the emulator and the logs generated by LogCat. If using the ADT plug-in, the DDMS is fully integrated into Eclipse and is available from the DDMS perspective. If you aren't using the plug-in or Eclipse, you can run DDMS from the command line, and it will automatically connect to any emulator that's running.

4.1.4 The Android Debug Bridge (ADB)

The Android debug bridge (ADB) is a client-service application allows connection with an Android Emulator or device. It's made up of three components: a daemon running on the emulator, a service that runs on your development hardware, and client applications (like the DDMS) that communicate with the daemon through the service. As a communications conduit between your development hardware and the Android device/emulator, the ADB permit applications, push and pull files, and run shell commands on the target device. Using the device shell, users can change logging settings, and query or modify SQLite databases available on the device. The ADT tool automates and simplifies a lot of the usual interaction with the ADB, including application installation and update, log files, and file transfer (through the DDMS perspective).

4.1.5 Maps API Key

For writing an Android application that uses Google Maps (with MapView), requires the programmer to register the application to obtain a Maps API Key. Without the key, application that uses maps will not work on Android devices.

4.1.6 Programming Language

Android supports several programming languages such as C++, C, and Ruby. However most android applications are written in Java, which is the programming language going to be used for this project. There's no Java Virtual Machine in the platform and Java byte code is not executed. Java classes get recompiled into Dalvik executable and run on Dalvik virtual machine. Dalvik is a specialized virtual machine designed specifically for Android and optimized for battery-powered mobile devices with limited memory and CPU. The core Android libraries provide most of the functionality available in the core Java libraries as well as the Android-specifi C libraries.

4.2 Software Development Stages

When it comes to developing an application regardless of how big or small the program is; planning is required. Development of software will go through number stages:

1. Requirements

2. Analysis

3. Design

4. Coding

5. Testing

6. Maintenance

4.2.1 Design

The first two stages requirements and analysis are already mentioned in the report in headings Aims and objectives of the proj­­­­ect and Existing Mobile Applications and Development Platform.

The aim of the project is to design an app that allow users to have a scrollable map of the London underground and it allows users to plan their journeys and display the staus of the underground. Below is a conceptual design of the interface used for easy navigation for this application.

Ease of use of application - an interface is designed to allow easy navigation of the app. When user first starts the program, they are introduced to the home interface. On the interface it will have icons below to allow quick access to required functions. Each of the function will share the same interface as the home interface to keep things simple.



Route planner

Departure board



Efficient - codes should be written efficiently saving memory space and needless use of CPU

Responsive - application needs to run smooth and quick optimize for usability since people will be in a rush when using this app it needs to be responsive.

Low battery consumption - bad coding of an application can mean unnecessary use of CPU which means more battery power is being used to avoid this efficient coding is required.

4.2.2 Coding

This is where the implementation of the application will be done. Hours will be spent creating the many different functions of the app and debugging of it as well.

4.2.3 Testing

The application will be tested first on the Android emulator to test the functions of the app. Also testing on the emulator is safety precaution before testing it on a real Android device, this helps avoids any problems that may occur such as bricking of the device.

4.2.4 Maintenance

This is the stage where once the application is ready for deployment, maintaining after it releases to keep it up to date. Codes maybe added to the application if any new problem arises or any hardware changes.

5.0 Timetable

Start Date

End Date


Project Selection Form








Acquire supervisor feedback




Analyse and Design Application




Peliminary report




Implement application




Testing of application and get feedback from supervisor




Draft report documentation




Final report documentation




Oral Examination




5.1 Gantts chart