Showing posts with label CSE646 Project. Show all posts
Showing posts with label CSE646 Project. Show all posts

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;

Basic Idea


I have pop up an idea about a smart phone application based on social network such as facebook , twitter, etc. Here's the briefly description of the application. The key word is "chat room". It is not like the chat room based on a website , as my idea , it's a dynamic chat room which can be built or dismiss in real time. The initial idea is let people do "check in"s to share their location information. So in a certain range they will know how many people and who is near them. Then this application will start work , it will build up a "chat room" for people within this certain range. This "chat room" will have several formats. It can be built up by people who didn't know each other or just between friend or certain people. Users can do "invite" to invite someone to set or join a "chat room", or they can build a public "chat room" with a certain title on it , like title of "party on Friday night". With this kind of public "chat room" it will have some limitations of authority, it can be opening for every body , or setting a password for certain people, or sending request to the holder of the "chat room" to get the permission into it. After get into the "chat room" it should be real time messages from people in this room. Every body can send messages to people in this room with their name or pick up the text color they like to distinguish from others. And all the chat things can be done by only text on their own phone, so they can chat with people whenever and wherever they want if there have enough users of this application.
This is just the initial idea , but there's some problems if I want build up this kind of application, the first problem is where I will store the message data and how people can get the message from others if only one of them send the message? (forward?) I think if I want this application come true, I need a web server which I don't have right now , because I am an international student I only have a laptop and can't run it for 24 hours. Also I think this is very hard for me if I do it by myself , in case of I do not know any other classmates in this class. If you think this is a good idea for a project can you be kindly forward it to the class to see if anyone interested in it, so we can do the project together. If you think this idea is not good , feel free to tell me and I will try to think about another one.