CSP301: Project 2 on Developing a Web-based Mobile Application
Background reading
- HTML, PHP, Perl, AJAX
The App
Your goal is to develop a Map-based social/traffic application with
web and mobile interfaces.
Develop your application on the
Android platform using the Android emulator. The application
should use your current location coordinates (assume they can be obtained
through GPS hardware) and show your location on the map along with the
location of all your friends. Furthermore, you should be able to select
a destination point on the map, and the application should give you
the shortest path to that destination considering the current traffic
situation. Develop your prototype for the IIT Delhi campus map.
Here are some steps you need to follow:
- Download IIT Delhi campus map.
- Mark the roads on the map. Assume that all routes have to be through
the roads.
- Develop an interactive (preferably AJAX-based) web interface to
the map application. The users need to login to identify themselves
to the map application. The inputs to the application are the
current locations of all the users, and users can use the application
to find the shortest path considering the current traffic situation. The
application
should also allow a user to add friends and then show her the
current position of all her friends on the map as she browses it.
For shortest-path computation, estimate
the time of travelling a road using a weighted function:
T(road) = Length(road)*Wlength + Traffic(road)*Wtraffic
Wlength and Wtraffic are tunable parameters that
the user can decide at runtime. The traffic depends on the number
of users currently logged in and their current location.
- Download the Android emulator and understand how it works.
- Implement a mobile-based interface for the application. The mobile interface can be either a custom-app for Android or a web-based interface. If you decide to use a web-based interface, you should have a different (more user-friendly for small-screen) interface when using a mobile phone than when using a laptop/desktop computer (e.g., www.gmail.com appears different on mobile browsers than desktop browsers). The mobile
interface should communicate with the web server and render the results. It should
also report the user's current location to the web server using it's GPS hardware.
- Better user-interfaces (in design and implementation) will be rewarded more
- You will need to run a webserver with which your user's laptops/phones will communicate. You can run the Apache webserver on an unprivileged port (say 8080) on one of the GCL lab machines
- Once you have tested your mobile interface on the emulator, we can arrange for you to test it on a real Android device.
Note:
- To be done in groups of four.
- Credit will be awarded to easier-to-use user interfaces
- The last date of submission of the assignment is
Nov 26. The demos will be held on Nov 27 and 28 (Saturday/Sunday).