Wednesday, September 21, 2011

2nd Draft


    Based on the idea before, I plan to divide this project into two basic parts. One is the android application on the phone side, another one is the web server on the cloud.

    Consider about the limitations of cell phone , such as the compute power , the limited memory space and the battery power. I plan to use the cell phone just as a data connector and message sender. All the other stuff will be done on the sever side.
    The user first need login the sever, then established a connection between the sever and client to exchange data. Then the user can get and send the GPS location information to the sever. (Here's a problem, I've found sometimes I can get my location on google map on the cell phone without turning on the GPS, is it possible that google get my MAC address of my phone?) Then the phone will get the message from the sever side display these messages. When a user log off , it will send a message to the sever and disconnect from it.
    On the sever side, because it is mainly based on google map , is it better to use google app engine rather than Amazon EC2? The sever will connect to a database which stores the user's data, and do the function of compute users location , share it , and send it to the client side. After share it to all the users with in a certain range, users will see which people is nearby them. When the connection between client and sever established, each client will get a unique client ID from the sever in order to distinguish them from each other. With this ID the client can send message to the sever to invite other client to have a conversation with them.

    Here's the draft schedule of the project:
1. Build the login window and layout of the application;
2. Display the google map on the phone;
3. Collect the GPS data from the phone send to the sever and return the certain location;
4. Send the message from the client side and get the message on the sever side;
5. Group the message and send back to certain users;

No comments:

Post a Comment