Project plan

name: Jogger Logger
participants: Stig-Erland Hansen

Summary

The project will consist of creating an mobile phone application that logs the movement of a jogger. This log will then be used to display statistical information to the user as well as enabling him or her to share their jogging routes and results with other joggers by connecting to a server. To summarize, the project will result in a mobile application and a web application for joggers.

Description

The project will evolve around jogging and logging movement of a jogger with GPS and a mobile phone to improve the jogging experience. Statistics is one area important to a lot of joggers, but the kind statistics that can be produced without buying expensive tools is rather poor. By logging the movement when jogging a route, a great amount of statistics can be created and made available to the jogger. For instance, the route can be visualized to the user, enabling him or her to select points on the route to see statistics as amount time used and average speed from that specified point. In addition, the log can be saved for later which makes it possible to compare new results with old results. Thus, the users can see if any improvements have been made and where on the route it was made.

Another use of the log is to share jogging routes with other joggers by uploading the log, which is a detailed description of a route, to a central server. The server can then use a map servoce like Google Maps and display a webpage with a map where the route is positioned. Other joggers can access this server to find routes in the area where they live.

The server can also take advantage of the statistical information available in a log and enable joggers to share their results with others. This has at least three advantages for joggers. Firstly, they can save memory on the mobile phone by uploading the results instead of storing them. Secondly, joggers can compete against other joggers that run the same route by comparing results. Competition will probably make jogging more motivating and lead to better results. Thirdly, joggers can find new routes that are appropriate for them by looking at what other jogger in the same area and with similiar condition jog. This service can be offered by the server and behave as amazon.com when it suggests books to its users.

Implementing all of the functionally from the last paragraphs will be hard to do in the time available for the project. Therefore, some parts will be prioritised over other parts. The main focus will be on the client side of the application and developing the mobile phone application because it has most relevance to location aware systems. In addition, the web application on the server side relies on the mobile phone application. Nevertheless, some functionality must be implemented for the web application to make it possible for users to upload routes.

The mobile phone application will be developed in Java for two reasons. First, the developer on the project is most comfortable with Java as a programming language, and has tried J2me previously. Second, Java enables applications to be portable, so that they can be used on different types of mobile phones.

The web application will be either made in PHP, Python or Java. The language chosen will depend on the time to disposal and the programming languages supported by the server which will be used.

Background

Developing an application for joggers may seem very specialized without any usage to other areas not connected to jogging. However, logging is a part of the application that is generic and can be useful for other applications as well. Another part of the application that is generic is receiving and sending information to a server with a mobile phone. This is something that will probably be very important in the following years when more people will have 3G-enabled phones and the cost of using 3G is small. As a result, problems identified in this project and solutions to them will make it possible for other developers to benefit when making applications.

Scenerios

Find route

I am sitting at home and want to jog, but I am tired of jogging the same old boring routes and want to try something new. Therefore, I go to the website joggerlogger.com, which has a repository of jogging routes all over the world, and log on to my account. On the site, the jogging routes is placed on a map, making it easy for me to locate routes in the proximity of my home. For each route it is possible to see details of the route and I am able to find a interesting route which I decide to download to my PC.

After downloading the route, I transfer it to my mobile, put on my jogging gear, start mobile application joggerlogger and go to the start of the route. It is easy to see when I have found the right start location for the route since the mobile application shows that I am in the right place. When I am ready to start jogging, I push the start command in the application and it starts logging my movement.

During the race, I am about to run in the wrong direction, but the mobile signals that I am about to get off course by vibrating. I pick up my mobile to find out which direction I should run in and run this direction.

When I reach the end of the route, the application stops logging and vibrates to signal that I have reached the end of the course. I pick up my mobile and see information about my run like average speed, time used, and length of the run. Then I am asked if I want to save the results locally or if I want to upload it to my account on joggerlogger.com. I decide to transfer the results to my account and share the results with other people.

Deliveries

  • A Mobile application written in Java
  • Javadoc for the mobile application
  • A web application written in PHP, Python or Java
  • Documentation for the web application
  • Final report

Plan

Activity Content Deliveries Start End Comments
Connecting the mobile phone to GPS Connecting the mobile phone to GPS with bluetooth and then be able to receive GPS data from the GPS - - - -
Send log information to the web application Send the log information collected from the GPS to the web application by using a mobile phone. The log should be stored in a database on the server side - - - -
Receive information from a map service Use the mobile phone to receive information from a map service and display it to the user - - - -
Receive routes from a server Use the mobile phone to find routes and receive them from the web application. The routes will be use when jogging - - - -
Display the log information to the user Display a webpage with a map where the route(log) is positioned - - - -

Requirements

  • A mobile phone supporting MIDP 2.0 and Bluetooth
  • A GPS device
  • A server to run the web application

References

2 Comments »

  1. [...] A prilimenary plan for the project has been made and it is available here [...]

  2. [...] Added a scenario to the project plan page. [...]

RSS feed for comments on this post · TrackBack URI

Leave a Comment