Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Folie Dr. Thomas Springer
Department of Computer Science Institute for System Architecture, Chair for Computer Networks
Group №: 20Team: Anton Caceres
Andrii Chaichenko
Application Development for Mobile and Ubiquitous Computing
Seminar TaskFinal Presentation
Folie Dr. Thomas Springer
Why social TV application?
■ Classic TV is still unidirectional● same content is delivered to all users● users can only "switch channels"
■ Users lack interaction:● social context● interactive TV guide● extra on-demand content
■ However, classic TV is not giving up:
● Google TV, Windows Media Center: mostly failed● modern HD TV looks awesome and feels cozy● so we dont kill good old fashion TV, we complement it
Folie Dr. Thomas Springer
A social TV app which would allow users to interact
Along with media content, platform integrates data from multiple sources and represents it.Each provider speaks it's
own API
Folie Dr. Thomas Springer
Application Scenario
■ socialise about TV shows
■ see upcoming broadcasts, top shows, most discussed shows
■ search for shows you are interested in
■ make check-ins into shows
■ share your comments and check-ins to facebook and twitter
■ read real-time stream about your favorite show
■ filter stream with tweets\comments
■ reply to comments and tweets to establish live discussion
■ create your account or login via facebook
■ rate shows to get only those you like
■ get extra content about shows
Folie Dr. Thomas Springer
Basic features and interface
Folie Dr. Thomas Springer
About the Client
● Strict MVC paradigm:○ non-blocking user interface○ business-logic on background○ same models and controller for iOS devices
● Versioning and compatibility:
○ upgrade notifications on API increasing○ but greceful handling of older clients
● Feedback and Analytics:○ collecting maximum statistics○ investigating crash reports○ understanding user feedback
Folie Dr. Thomas Springer
Unified API and data model
Folie Dr. Thomas Springer
Backend
So how it is supposed to work?
Folie Dr. Thomas Springer
Technologies
● Amazon Web Services - IaaS provider
● Nginx - server load balancing
● Django/Python - server logic
● Java/Hibernate - EPG imporing module
● Python/Bt4Tw - Twitter streaming API
● PostgreSQL - database
● Native Objective-C code - client application servers
databaseload
balancer
client APP
ask API for new data and updates
pure data
Parsing EPG forTV guide data
Crawling Twitter stream
for comments
Amazon Web Services
Cluster currently has:● 2 Micro Instances,
1GHz, 613 MB RAM
● 3 Medium Instances, 2X2.4GHz, 2GB RAM
● 1 Large Instance, 4X2.4GHz, 8GB RAM
● S3 storage, 25Gb
● OS Linux Ubuntu Server Edition
● Cloud Watch
Folie Dr. Thomas Springer
Overall infrastructure
main instancedev intance app dev
databases backendservers
Nginx+FCGI+Django application servers
developmenttesting
Release usage
Source code propagation
Data sync
Tools server
Testing, crawling,importing
Load balancer
Folie Dr. Thomas Springer
Admin interface
● Django admin tools enhanced with our plugins
● Should be
intuitive for non-technical people
● Super-secure
Data model
Folie Dr. Thomas Springer
Challenges
■ Design unified API suitable for all clients ■ Server load balancing under varying flux in BH ■ Secure data transfer and privacy ■ Suitable for unstable network connection and low
bandwidth ■ Real-time client updates ■ Making all presentations
Folie Dr. Thomas Springer
Expiriences
■ Getting to AppStore: not so easy ■ 3rd party APIs: could get deprecated ■ Unicode everywhere: not yet :( ■ Updating source code: versioning problems ■ Data model migration on live system: painful ■ Compromise update rate vs chaching ■ "step 1,2,3 --> ??? --> profit" issue
Folie Dr. Thomas Springer
The Most Important Slide
Questions?