+ All Categories
Home > Documents > CS4274 TERM PROJECT 2010 SOLE : SHARING OF LIVING EXPERIENCES Team Members: Tan Gui Han Wilson Duy...

CS4274 TERM PROJECT 2010 SOLE : SHARING OF LIVING EXPERIENCES Team Members: Tan Gui Han Wilson Duy...

Date post: 02-Jan-2016
Category:
Upload: cora-mason
View: 217 times
Download: 0 times
Share this document with a friend
Popular Tags:
21
CS4274 TERM PROJECT 2010 SOLE : SHARING OF LIVING EXPERIENCES Team Members: Tan Gui Han Wilson Duy Vinh Chuc Damien Catala Cheng Zhi Xiang
Transcript

CS4274 TERM PROJECT 2010 SOLE : SHARING OF LIVING EXPERIENCES

Team Members:

Tan Gui Han Wilson

Duy Vinh Chuc

Damien Catala

Cheng Zhi Xiang

IN PHASE 1…

Communicate with Maps Engine to retrieve current location. (Phase 1)

Register to Coalition to allow communication between 2 PSGs (Phase 1)

FOR PHASE 2 OF PROJECT Integrate Application with Google Maps

Communicate with LASPD to obtain IP address and Port of SOLE-AS server in current location

Allow users to add in their experiences about a particular location / space. Title Name of restaurant / store Ratings Comments Private / Public

Allow users to retrieve experience about the location. Public -> Query the AS server Private -> Retrieve experience from the user itself

SYSTEM DESIGN

Integration with Google Maps

• Allows user to visually see experiences around his location.

• Allows user to set his Name.

• Maps interface is shown when the user launches the application.

SYSTEM DESIGN

Screenshot of Experience GUI:

Creation of Experience Viewing of ExperienceSpecific fields for each location

SYSTEM DESIGNAS SERVER

SWING based GUI for AS server

Manage general information of the AsServer

Control connection and display all the request in a console

Many future features could be implemented

IMPLEMENTATION DETAILS -GOOGLE MAPS INTERFACE

The MapsDemo class is the main Activity of the

Android application.

Starts service to: Communicate with Map Engine to retrieve

location using BSSID and Map Coordinates Use LASPD to get IP and Port of AS server Communicate with SOLE AS server to retrieve all

experiences in the area Constantly update its location by checking for

changes in BSSID of Wi-Fi Router Update the IP address of the user.

IMPLEMENTATION DETAILS -GOOGLE MAP ACTIVITY The Google Map Activity is responsible for

ensuring that all the information required by the GUI is added to the Intent before it is invoked.

MAP ENGINE

GOOGLE MAP INTEFACE

SOLE AS SERVER

Adding Experience

Taps on screen and choose add

Query location using coordinates

Returns name of location2

1

Connect to SOLE AS Server via Sockets

3

If Public, store entire experience in Sole-AS ServerIf Private, store short experience in server

4

If its private experience, store entire experience on local Database.Display Map.

5

GOOGLE MAP INTEFACE

SOLE AS SERVER

Retrieving Experience (Public)

Taps on marker and choose get

1

Connect to SOLE AS Server via Sockets

2

3

Display Experience.

Returns Experience

COALITIONGOOGLE MAP INTEFACE

SOLE AS SERVER

Retrieving Experience (Private)

Taps on marker and choose get

1

Connect to SOLE AS Server via Sockets

2

Returns Short Experience

Query using MAC address

Returns IP and Port of Creator

Returns IP and Port of Creator

Connect to Creator, Asks for permission, Queries for full experience

Returns full experience from local server

3

4

IMPLEMENTATION DETAILS -SOLE-AS SERVER DESIGN

Initial plan to use RMI for communication between PSG and AS server. Problem: RMI library not part of JVM for Android

Hence, we switched back to using traditional socket. Implemented to emulate RMI functionalities

See next slide for diagram.

IMPLEMENTATION DETAILS -SOLE-AS SERVER DESIGN

IMPLEMENTATION DETAILS -MANAGEMENT OF PRIVATE EXPERIENCES

User has to be able to choose if experience he wants to share is private or public.

Public experience – Stored in AS Server (MySQL) Private experience – Stored locally (MySQLite)

Has to get permission from other user

All experiences (public + private) have some data stored on the public SOLE-AS server Private only have ID and Title stored

(short_experience)

See next slide for diagram

IMPLEMENTATION DETAILS -MANAGEMENT OF PRIVATE EXPERIENCES

DIFFICULTIES ENCOUNTERED

Android Emulator cannot accept incoming socket connections. Tried using port redirection but failed

Also, we only had 1 mobile phone to use for testing.

Hence, it was difficult to test communication between Application and Map Engine / Coalition

Solved problem by using personal android phone and writing a PSG simulator on java to simulate PSG on phone

DIFFICULTIES ENCOUNTERED Unfamiliar with details about Android

Programming Eg. Modify Manifest files to access the Internet

Solved by self study and research on internet

Also, the project requires us to use many libraries that have already been created.

Some of them are difficult to use due to lack of documentation and some features were unclear.

Solved by regular meetings with TA, Chen Penghe who clarified all our doubts.

FUTURE DEVELOPMENT

Include XML layout file into the SOLE-AS server such that the GUI Activity can retrieve its layout directly from the server. Provide User interface to allow change in layout

Allow users to take a photo or other multimedia and include it in an experience.

DEMO

BACKUP SLIDE : DROID DRAW


Recommended