160 likes | 265 Views
Team Infinite Loop Elliott Peay & Chris Coykendall. Final Project Report ODU CS 495/595. Recap.
E N D
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.)
Challenges • User authenticationWe 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.
Prototype Demonstration http://cs.odu.edu/~ccoykend/cs495/tvsocial/tvsocial.apk
Comments or Questions? • Project Homepagehttp://cs.odu.edu/~ccoykend/cs495/tvsocial • Chris Coykendallccoykend@cs.odu.edu • Elliott Peayepeay@cs.odu.edu