MoGeo
Mobile Geo-Social Networking
 
Preliminary Requirements.
Summary

This project considers 2 broad classes of location-sensitive, social-networking, mobile applications. The application is based on Android, a GPS-enabled mobile internet device.

You will make use of the following services:
  1. Google maps service. Android provides a Map view for this purpose.
  2. PIcasa to store images. We're trying to figure out, if you figure it out first, speak up on the facebook group!
  3. A data base server we will provide, for:
    1. Storing messages, todos.
    2. storing URLs for pictures cached at Picasa
    3. storing location info for friend alerts.

 The requirements given below are incomplete, as they are in any real software project. Part of your task will be to figure out a way to handle the uncertainity. In the first assignment, you will think about how to clarify some (not all) of the uncertain parts of these requirements. But several aspects will remain hidden, and come up only when you start the implementation. Your task will be to a) Make a reasonable decision, with some good justification and b) design the software so that you can change it if the customer doesn't like your choice.

Requirements Details

Here are some more specific requirements arising from the mobile context.

Design for change.

Software that has users is "alive". No users means death. But users also mean complaints and requests, which means change. Write and design your code to accomodate change easily!

  • We may want to add some features later (i.e., What if I ask you to add a few of these mid-quarter. Will you be able to do it easily? Or will it cause you endless agony, sleepless nights, and drive you mad?)
  • Ground Rules

    This is a team project. DO NOT delay getting started on the project; it will be quite a bit of work. There are rules about the project.

    Schedule

    Here's the rough order of things I expect:

    These requirements are surely full of ambiguities and questions... so think about the requirements above, develop test scripts for testing the final product, and come back to me with clarifying questions if any. (Assignment 1). This is a team effort.

    Once the requirements are somewhat clearer deliver a rough prototype (or mock-up) with most of the web pages that clearly illustrates all the major functions of the system, along with a document that explains all the different choices you made. I also expect a significant portion of the functionality implemented, and a complete UML design. so I can give you feedback. (Assignment 2). This is a team effort.
     

      Finally, bring me the final working system, and show it to me, along with a detailed design document (Assignment 3, or final project report).