department of computer science institute for system ...ts2/admuc/seminar1112/final/gro… ·...
TRANSCRIPT
![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](https://reader034.vdocuments.us/reader034/viewer/2022050103/5f426826731c9e64846ca957/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050103/5f426826731c9e64846ca957/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050103/5f426826731c9e64846ca957/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050103/5f426826731c9e64846ca957/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050103/5f426826731c9e64846ca957/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050103/5f426826731c9e64846ca957/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050103/5f426826731c9e64846ca957/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050103/5f426826731c9e64846ca957/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050103/5f426826731c9e64846ca957/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050103/5f426826731c9e64846ca957/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050103/5f426826731c9e64846ca957/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050103/5f426826731c9e64846ca957/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050103/5f426826731c9e64846ca957/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050103/5f426826731c9e64846ca957/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050103/5f426826731c9e64846ca957/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050103/5f426826731c9e64846ca957/html5/thumbnails/16.jpg)
Folie Dr. Thomas Springer
The Most Important Slide
Questions?