16
Folie Dr. Thomas Springer Department of Computer Science Institute for System Architecture, Chair for Computer Networks Group №: 20 Team: Anton Caceres Andrii Chaichenko Application Development for Mobile and Ubiquitous Computing Seminar Task Final Presentation

Department of Computer Science Institute for System ...ts2/admuc/seminar1112/final/gro… · Backend So how it is supposed to work? Dr. Thomas Springer Folie ... dev intance app dev

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Department of Computer Science Institute for System ...ts2/admuc/seminar1112/final/gro… · Backend So how it is supposed to work? Dr. Thomas Springer Folie ... dev intance app dev

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

Page 2: Department of Computer Science Institute for System ...ts2/admuc/seminar1112/final/gro… · Backend So how it is supposed to work? Dr. Thomas Springer Folie ... dev intance app dev

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

Page 3: Department of Computer Science Institute for System ...ts2/admuc/seminar1112/final/gro… · Backend So how it is supposed to work? Dr. Thomas Springer Folie ... dev intance app dev

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

Page 4: Department of Computer Science Institute for System ...ts2/admuc/seminar1112/final/gro… · Backend So how it is supposed to work? Dr. Thomas Springer Folie ... dev intance app dev

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

Page 5: Department of Computer Science Institute for System ...ts2/admuc/seminar1112/final/gro… · Backend So how it is supposed to work? Dr. Thomas Springer Folie ... dev intance app dev

Folie Dr. Thomas Springer

Basic features and interface

Page 6: Department of Computer Science Institute for System ...ts2/admuc/seminar1112/final/gro… · Backend So how it is supposed to work? Dr. Thomas Springer Folie ... dev intance app dev

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

Page 7: Department of Computer Science Institute for System ...ts2/admuc/seminar1112/final/gro… · Backend So how it is supposed to work? Dr. Thomas Springer Folie ... dev intance app dev

Folie Dr. Thomas Springer

Unified API and data model

Page 8: Department of Computer Science Institute for System ...ts2/admuc/seminar1112/final/gro… · Backend So how it is supposed to work? Dr. Thomas Springer Folie ... dev intance app dev

Folie Dr. Thomas Springer

Backend

So how it is supposed to work?

Page 9: Department of Computer Science Institute for System ...ts2/admuc/seminar1112/final/gro… · Backend So how it is supposed to work? Dr. Thomas Springer Folie ... dev intance app dev

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

Page 10: Department of Computer Science Institute for System ...ts2/admuc/seminar1112/final/gro… · Backend So how it is supposed to work? Dr. Thomas Springer Folie ... dev intance app dev

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

Page 11: Department of Computer Science Institute for System ...ts2/admuc/seminar1112/final/gro… · Backend So how it is supposed to work? Dr. Thomas Springer Folie ... dev intance app dev

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

Page 12: Department of Computer Science Institute for System ...ts2/admuc/seminar1112/final/gro… · Backend So how it is supposed to work? Dr. Thomas Springer Folie ... dev intance app dev

Folie Dr. Thomas Springer

Admin interface

● Django admin tools enhanced with our plugins

● Should be

intuitive for non-technical people

● Super-secure

Page 13: Department of Computer Science Institute for System ...ts2/admuc/seminar1112/final/gro… · Backend So how it is supposed to work? Dr. Thomas Springer Folie ... dev intance app dev

Data model

Page 14: Department of Computer Science Institute for System ...ts2/admuc/seminar1112/final/gro… · Backend So how it is supposed to work? Dr. Thomas Springer Folie ... dev intance app dev

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

Page 15: Department of Computer Science Institute for System ...ts2/admuc/seminar1112/final/gro… · Backend So how it is supposed to work? Dr. Thomas Springer Folie ... dev intance app dev

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

Page 16: Department of Computer Science Institute for System ...ts2/admuc/seminar1112/final/gro… · Backend So how it is supposed to work? Dr. Thomas Springer Folie ... dev intance app dev

Folie Dr. Thomas Springer

The Most Important Slide

Questions?