Team Infinite Loop Elliott Peay & Chris Coykendall Final Project Report

advertisement
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.)
Behind the Scenes…
Future Work and Feedback
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 implementation
We 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 maintenance
We allow users from the client side to filter out certain key words
and block harassing user messages.
Spoiler Control
The 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 listings
No 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 Homepage
http://cs.odu.edu/~ccoykend/cs495/tvsocial
 Chris Coykendall
ccoykend@cs.odu.edu
 Elliott Peay
epeay@cs.odu.edu

Download