Presentation is loading. Please wait.

Presentation is loading. Please wait.

LinkedIn Mobile How we do we do it?. Build Design Code Testing Deploy Platform iOS Android Browser Other.

Similar presentations


Presentation on theme: "LinkedIn Mobile How we do we do it?. Build Design Code Testing Deploy Platform iOS Android Browser Other."— Presentation transcript:

1 LinkedIn Mobile How we do we do it?

2 Build Design Code Testing Deploy Platform iOS Android Browser Other

3 Code

4 Mobile Server (node.js + MongoDB) LinkedIn Platform Domain REST API Screen based REST API iOS Native 30% Android 80% Mobile Web 100% Other OS Wrappers 100% Mobile Web JS/HTML

5 Mobile Server (node.js + MongoDB) LinkedIn Platform Domain REST API Screen based REST API iOS Native 30% Android 80% Mobile Web 100% Other OS Wrappers 100% Mobile Web JS/HTML

6 Model ViewController Typical Web Application Client/Server Border

7 ActiveRecord ERB Rails Controllers Rails Systems Process Client/Server Border

8 Data Service TemplatingControllers Tiered Systems Process Client/Server Border

9 Real Systems TemplatingControllers Process Data Servic e Process Data Servic e Process Trackin g Process BG Queu e Process...... Client/Server Border

10 TemplatingControllers Real HTML5 Systems Browser / Mobile Client Data Servic e Process Data Servic e Process Trackin g Process BG Queu e Process...... Client/Server Border

11 Real HTML5 with Node.JS TemplatingControllers Browser / Mobile Client Data Servic e Process Data Servic e Process Trackin g Process BG Queu e Process...... Client/Server Border Node.JS - Aggregation, Formatting

12 Why Node.JS: Evented & JS I/O Bound for most interaction Aggregation and Manipulation of Strings Lots of persistent socket connections Client developers are doing server development

13 Mobile Server Stateless Platform Transport: JSON In / JSON Out Nginx as Web Server CDN for Static Content Log / Track Everything Load Balancer Nginx Node JS Server Mongo DB Nginx Node JS Server Logging Server Trackin g Server LinkedIn Platform

14 Screen Based JSON Single Request per screen JSON is template based Updatable on server { ttype: nut1, time: 298349823, header: “Wow, that is pretty cool”,............. footer: “shared by Kiran Prasad”, id: 1298398127, }

15 Mobile Server (node.js + MongoDB) LinkedIn Platform Domain REST API Screen based REST API iOS JS/HTML + Native Android Native Mobile Web JS/HTML Other Wrap JS/HTML

16 iOS Native for all infinite lists Native for Window Manager JS/HTML for all screens that are detail views (70% of App today) Per screen choice for the stuff in the middle Async JS/iOS Bridge

17 Mobile Server (node.js + MongoDB) LinkedIn Platform Domain REST API Screen based REST API iOS JS/HTML + Native Android Native Mobile Web JS/HTML Other Wrap JS/HTML

18 Android Native for all the screens WebView for 20% of screens Moving towards more HTML5 Contacts locally stored but rest only in memory cache

19 Mobile Server (node.js + MongoDB) LinkedIn Platform Domain REST API Screen based REST API iOS JS/HTML + Native Android Native Mobile Web JS/HTML Other Wrap JS/HTML

20 Mobile Web Backbone for MVC Underscore for utils Zapto for DOM Manipulation Modified iScroll for Scrolling LocalStorage for personal Cache SASS for CSS Closure for compiling Hash based Loader

21 Test

22 Automation: Vows, Robotium, Selenium, FoneMonkey, GHUnit Hudson for build management Internal Tool for Layout Testing PhantomJS based Tool for Performance Bug Bash + 2 Week Demos 2 Week Team Demo

23 Deploy

24 Deploy / Monitor Enterprise Build available to employees Ship everything 2 times a week Apps and Server Deploy independently 2 Week Bake for Big Stuff Keynote for Performance and Availability monitoring DeviceAnywhere for compatibility testing Internal monitoring for QPS, Uptime, etc Client Crash Log Metrics tracked daily

25 Thanks! & Questions?

26 Appendix

27 Product Design

28 Interaction vs Visual Designing a house’s floorplan Focus on Rooms, Doors and Hallways Stay away from Paint, Furniture and Carpet Has & Does for each screen Black & White then add color

29 Search, Compose, Room Navigation Notifications StreamYouInboxFollowing Breadth < 4 Depth < 3

30 Adjust for App Platform On Screen Back vs Hardware Back Up vs Back / Stacks vs Pages Pull To Refresh vs Button Refresh Settings Visual Design

31 Mobile Web Enter the house SEO Email Organic


Download ppt "LinkedIn Mobile How we do we do it?. Build Design Code Testing Deploy Platform iOS Android Browser Other."

Similar presentations


Ads by Google