team infinite loop elliott peay & chris coykendall final project report odu cs 495/595

16
Team Infinite Loop Elliott Peay & Chris Coykendall Final Project Report ODU CS 495/595

Upload: jorden-marion

Post on 31-Mar-2015

223 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Team Infinite Loop Elliott Peay & Chris Coykendall Final Project Report ODU CS 495/595

Team Infinite LoopElliott Peay & Chris Coykendall

Final Project Report

ODU CS 495/595

Page 2: Team Infinite Loop Elliott Peay & Chris Coykendall Final Project Report ODU CS 495/595

Recap

TV Social is an Android application that will allow television viewers to participate in an active discussion over the Internet through an app with others around the nation about shows that are being televised.

Page 3: Team Infinite Loop Elliott Peay & Chris Coykendall Final Project Report ODU CS 495/595

General Tasks Live, chat room discussion components for various

channels or TV shows that are on-air. Implement a friend list so users can keep track of

others who are watching the same programming. Design a “Favorites” module to let users flag shows

that they watch frequently for easier access. Allow quick links from within the app to websites

with information pertaining to the TV shows that are on.

Design and operate a web server and protocol that can handle holding and retrieving information about the discussions, logins/logoffs, and monitor users.

Page 4: Team Infinite Loop Elliott Peay & Chris Coykendall Final Project Report ODU CS 495/595

Starting up TVSocial… The TVS splash

screen is where the user first lands after launching the app.

From here, there are intuitive buttons to either search for a show, open current topics, check favorite shows, or change settings.

Page 5: Team Infinite Loop Elliott Peay & Chris Coykendall Final Project Report ODU CS 495/595

Retrieving Listings The listings are

requested from our own custom Java server that controls the shows and topics.

Typing into the search bar will filter the listings.

Page 6: Team Infinite Loop Elliott Peay & Chris Coykendall Final Project Report ODU CS 495/595

Retrieving Listings Single clicking the

listings will open the room for that episode discussion.

Long-clicking will open a context menu to add to their favorites or launch a web intent to find the show on IMDb.

Page 7: Team Infinite Loop Elliott Peay & Chris Coykendall Final Project Report ODU CS 495/595

Discussion This is the main discussion

activity. Each room being monitored is populated into a TabHost.

Users can type messages to one another or post feedback (like/dislike) to the TVS server and manage shows they are watching.

The device periodically polls the backend server for new messages using our own custom-designed protocol.

Page 8: Team Infinite Loop Elliott Peay & Chris Coykendall Final Project Report ODU CS 495/595

User Control Long-pressing a message

reveals options to share the users message via an Intent, add the user to friends (not implemented) or block messages from the user.

In addition, the main settings Preference Activity allows messages to be censored based on a keyword check.

Page 9: Team Infinite Loop Elliott Peay & Chris Coykendall Final Project Report ODU CS 495/595

Adding To The Discussion The menu allows for

the user to quit following the discussion or create a new discussion unrelated to the episode at hand which others can join from the listings screen.

Page 10: Team Infinite Loop Elliott Peay & Chris Coykendall Final Project Report ODU CS 495/595

Favorites The Favorites list

allows users to see if their favorite shows are playing or have a discussion open.

Long-pressing the items allows users to stop following the shows.

Page 11: Team Infinite Loop Elliott Peay & Chris Coykendall Final Project Report ODU CS 495/595

Settings The Settings menu

gives users the option to create a custom name (the UIN of device is still kept and sent to the backend for user control purposes.)

There are also options to disable/enable sound, filter select offensive words, and detecting Time Zone (not implemented.)

Page 12: Team Infinite Loop Elliott Peay & Chris Coykendall Final Project Report ODU CS 495/595

Behind the Scenes…

Page 13: Team Infinite Loop Elliott Peay & Chris Coykendall Final Project Report ODU CS 495/595

Future Work and Feedback

Page 14: Team Infinite Loop Elliott Peay & Chris Coykendall Final Project Report ODU CS 495/595

Challenges User authentication

We opted to not track user login/logoff due to time constraints. The device itself transmits both the desired user name as well as the UIN of the device to the server.

Chat protocol design and implementationWe were able to construct basic objects for tracking shows and rooms, and organize them in a sensible manner. We designed our own custom protocol using TCP relay and wrapper classes.

Chat maintenanceWe allow users from the client side to filter out certain key words and block harassing user messages.

Spoiler ControlThe server itself would only serve the listings for the particular Time Zone of the handset from a reliable source (ie, tvrage.com, etc.)

Localize TV listingsNo freely-available open listing sources for local networks. Device Time Zone can still be used in future work.

Page 15: Team Infinite Loop Elliott Peay & Chris Coykendall Final Project Report ODU CS 495/595

Prototype Demonstration

http://cs.odu.edu/~ccoykend/cs495/tvsocial/tvsocial.apk

Page 16: Team Infinite Loop Elliott Peay & Chris Coykendall Final Project Report ODU CS 495/595

Comments or Questions? Project Homepage

http://cs.odu.edu/~ccoykend/cs495/tvsocial Chris Coykendall

[email protected] Elliott Peay

[email protected]