![Page 1: Building mobile platforms for scale and differentiated user experience](https://reader035.vdocument.in/reader035/viewer/2022081519/558e07ff1a28ab914f8b469a/html5/thumbnails/1.jpg)
Building Mobile Platforms for Massive Scale and Differentiated User Experience
Regunath B, Principal Architect, Flipkart
Amar Nagaram, Sr. Engineering Manager, Flipkart
![Page 2: Building mobile platforms for scale and differentiated user experience](https://reader035.vdocument.in/reader035/viewer/2022081519/558e07ff1a28ab914f8b469a/html5/thumbnails/2.jpg)
Retail App (there are so many...)
Search and navigation
View product, reviews
Buy Track status Social
integration Zoom, Bar-code
scan
![Page 3: Building mobile platforms for scale and differentiated user experience](https://reader035.vdocument.in/reader035/viewer/2022081519/558e07ff1a28ab914f8b469a/html5/thumbnails/3.jpg)
eBook App (not a common app...)
Search, browse, read sample
Buy, read from multiple devices
Gesture interface Sync reading
location, offline mode
Dictionary, notes
![Page 4: Building mobile platforms for scale and differentiated user experience](https://reader035.vdocument.in/reader035/viewer/2022081519/558e07ff1a28ab914f8b469a/html5/thumbnails/4.jpg)
slashn Event App(why app..?)
Location, Schedule, Speakers
QR code event pass Customize schedule Rate presentations
![Page 5: Building mobile platforms for scale and differentiated user experience](https://reader035.vdocument.in/reader035/viewer/2022081519/558e07ff1a28ab914f8b469a/html5/thumbnails/5.jpg)
Why Build Apps?• Anytime, anywhere access (mostly)• Growth in smart phone user base• Mobile internet(3G, 2G) reach wider than
desktop(DSL)• Better personalization• Gesture based user experience
• More secure (2 Factor authentication)• Simpler checkoutAdoption @ Flipkart : >20% of orders placed and growing
![Page 6: Building mobile platforms for scale and differentiated user experience](https://reader035.vdocument.in/reader035/viewer/2022081519/558e07ff1a28ab914f8b469a/html5/thumbnails/6.jpg)
Attempt1 : Building Scalable and Differentiated User Experience
![Page 7: Building mobile platforms for scale and differentiated user experience](https://reader035.vdocument.in/reader035/viewer/2022081519/558e07ff1a28ab914f8b469a/html5/thumbnails/7.jpg)
Standards and Productivity Stacks
- Hybrid views (HTML5) for portability
- Standard navigation
- Quick to develop interactions
- Web API- Wrapper based integration with backend systems
- Push Notifications(StackMob, AirShip) - Offline experience- Data availability across devices
- Cloud data service (StackMob, OpenMobster)
![Page 8: Building mobile platforms for scale and differentiated user experience](https://reader035.vdocument.in/reader035/viewer/2022081519/558e07ff1a28ab914f8b469a/html5/thumbnails/8.jpg)
Ratings & Reviews(then)
![Page 9: Building mobile platforms for scale and differentiated user experience](https://reader035.vdocument.in/reader035/viewer/2022081519/558e07ff1a28ab914f8b469a/html5/thumbnails/9.jpg)
Sub-optimal User Experience• Software on Device : Responsiveness of app,
Resource usage • Network : Ability to deal with slow/broken
network connectivity– Latencies of services located in far of geographies
• e.g. 3 seconds to exchange 2K data using StackMob
• API Platform : Latencies, Fault tolerance
• Engagement : Notifications, Usage
– Relevance of Notifications
– Tracking installs, failures in accessing data
![Page 10: Building mobile platforms for scale and differentiated user experience](https://reader035.vdocument.in/reader035/viewer/2022081519/558e07ff1a28ab914f8b469a/html5/thumbnails/10.jpg)
Attempt2 : Building Scalable and Differentiated User ExperienceWhy User Experience Matters(across platforms, networks, features, time)
![Page 11: Building mobile platforms for scale and differentiated user experience](https://reader035.vdocument.in/reader035/viewer/2022081519/558e07ff1a28ab914f8b469a/html5/thumbnails/11.jpg)
Cue the Numbers• Only 16% of users return to an app that fails to
load fast• Ideal app launch time : 2 seconds• Average Indian network data speed : 0.9 mbps• API Platform latencies : has to be < 500ms Scale fast
Install base : 1 M Android installs in 6 months Traffic growth : 75% MoM
Per user engagement growing MoM
![Page 12: Building mobile platforms for scale and differentiated user experience](https://reader035.vdocument.in/reader035/viewer/2022081519/558e07ff1a28ab914f8b469a/html5/thumbnails/12.jpg)
Architecture decisions• Native device user interface• Server controlled layouts – A/B configurable
– Page composition using reusable widgets
• Fault-tolerant, parallel service calls• Availability vs. Consistency tradeoffs
– Distributed and local caches
• Prevent cascading failures
– Timeouts, Threadpools control resource usage
• Ability to operate in disconnected mode
– Offline data store, sync support
![Page 13: Building mobile platforms for scale and differentiated user experience](https://reader035.vdocument.in/reader035/viewer/2022081519/558e07ff1a28ab914f8b469a/html5/thumbnails/13.jpg)
Architecture decisions• User experience on slow networks
– Low resolution images, preference for text over image
• Content specific user engagement– Deep linked Push Notifications
– In-app notifications
• Data driven decision making, features
– Usage information, Performance statistics
![Page 14: Building mobile platforms for scale and differentiated user experience](https://reader035.vdocument.in/reader035/viewer/2022081519/558e07ff1a28ab914f8b469a/html5/thumbnails/14.jpg)
Stacks Optimized for User Experience
- Native views with optimized rendering- Gesture navigation- Fluid, friction free interactions
- Mobile Gateway/API- Transparent integration into other backend systems- Resilience, Low latency execution
- Multicast (Targeted)- Personalized- Platform agnostic- Interactive- Context sensitive
-
Jetty, Lego, Phantom FlipCast Notifications FlipSync Offline mode
- Disconnected mode- Near real-time sync- Data availability across devices & web
Hyperion analytics
- Usage information- Errors/crashes- Performance statistics- Soft real-time trends- Feedback/insights
![Page 15: Building mobile platforms for scale and differentiated user experience](https://reader035.vdocument.in/reader035/viewer/2022081519/558e07ff1a28ab914f8b469a/html5/thumbnails/15.jpg)
APIs on Lego, Phantom
REST Controllers
PageBuilder PageBuilder PageBuilder
WidgetBuilder WidgetBuilder WidgetBuilder
HandlerRepository
- Jetty Http Interface- MVC controllers
- Lego libraries- MVC model builders- Futures used in Scatter/Gather data read patterns
- Phantom Resilience layer- Availability knobs : timeouts, fallbacks, throttling- Real-time monitor
Proxy Command
![Page 16: Building mobile platforms for scale and differentiated user experience](https://reader035.vdocument.in/reader035/viewer/2022081519/558e07ff1a28ab914f8b469a/html5/thumbnails/16.jpg)
Operating the API Platform – Phantom Console
https://github.com/Flipkart/phantom (Flipkart OSS)
![Page 17: Building mobile platforms for scale and differentiated user experience](https://reader035.vdocument.in/reader035/viewer/2022081519/558e07ff1a28ab914f8b469a/html5/thumbnails/17.jpg)
FlipCast Notifications• Supported Platforms
– iOS, Android, Windows Phone 8
• Features Device register/unregister API
Configurable push message payloads
Automatic housekeeping for invalid devices
Automatic/Transparent retry and sidelining
Message history management
Pluggable data source (Default: MongoDB)
Automatic backpressure management
Unicast, Multicast & Broadcast Push API
Auto Batching for multicast & broadcast push
• Tech stack– spray.io, akka.io
– RabbitMQ
– MongoDB
![Page 18: Building mobile platforms for scale and differentiated user experience](https://reader035.vdocument.in/reader035/viewer/2022081519/558e07ff1a28ab914f8b469a/html5/thumbnails/18.jpg)
Hyperion Analytics
• REST style Event API for data injestion• Replicated and Partitioned Kafka message queue• Distributed stream processor using Storm• HBase event data store• MongoDB Query data store• Search and aggregation API on query data store
![Page 19: Building mobile platforms for scale and differentiated user experience](https://reader035.vdocument.in/reader035/viewer/2022081519/558e07ff1a28ab914f8b469a/html5/thumbnails/19.jpg)
Hyperion Analytics
![Page 20: Building mobile platforms for scale and differentiated user experience](https://reader035.vdocument.in/reader035/viewer/2022081519/558e07ff1a28ab914f8b469a/html5/thumbnails/20.jpg)
Installs, Ratings & Reviews(now)
Installs : 5,000,000 - 10,000,000
Installs : 100,000 - 500,000