SlideShare a Scribd company logo
1 of 25
LinkedIn Mobile
   How we do we do it?
Build
Design
 Code
Testing
Deploy
Build     Platform
Design        iOS
 Code       Android
Testing     Browser
Deploy       Other
Design
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
Search, Compose, Room Navigation




Stream      You        Inbox     Following




              Notifications



              Breadth < 4

               Depth < 3
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
Mobile Web
 Enter the house


       SEO

     Email
      Organic
Code
Other
      iOS           Android        Mobile Web
                                                  Wrap
JS/HTML + Native     Native         JS/HTML
                                                JS/HTML




                    Screen based REST API

            Mobile Server (node.js + MongoDB)
                      Domain REST API

                    LinkedIn Platform
Other
      iOS           Android        Mobile Web
                                                  Wrap
JS/HTML + Native     Native         JS/HTML
                                                JS/HTML




                    Screen based REST API

            Mobile Server (node.js + MongoDB)
                      Domain REST API

                    LinkedIn Platform
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
Mobile Server

• Stateless                          Load Balancer

                               Nginx             Nginx
•   Platform Transport:
    JSON In / JSON Out        Node JS            Node JS
                              Server             Server
•   Nginx as Web Server
                             Mongo     Logging     Tracking
•   CDN for Static Content
                              DB       Server       Server

•   Log / Track Everything      LinkedIn Platform
Screen Based JSON

•   Single Request per   {
                             ttype: nut1,
    screen
                             time: 298349823,
                             header: “Wow, that is pretty cool”,
•   JSON is template         .......
                             ......
    based
                             footer: “shared by Kiran Prasad”,
                             id: 1298398127,
•   Updatable on         }
    server
Other
      iOS           Android        Mobile Web
                                                  Wrap
JS/HTML + Native     Native         JS/HTML
                                                JS/HTML




                    Screen based REST API

            Mobile Server (node.js + MongoDB)
                      Domain REST API

                    LinkedIn Platform
iOS
•   Native for all infinite lists

•   Native for Window
    Manager

•   JS/HTML for all screens
    that are detail views

•   Per screen choice for
    the stuff in the middle

•   Async JS/iOS Bridge
Other
      iOS           Android        Mobile Web
                                                  Wrap
JS/HTML + Native     Native         JS/HTML
                                                JS/HTML




                    Screen based REST API

            Mobile Server (node.js + MongoDB)
                      Domain REST API

                    LinkedIn Platform
Android
•   Native for all the
    screens

•   WebView for browsing
    the web

•   Moving towards more
    HTML5

•   Contacts locally stored
    but rest only in memory
    cache
Other
      iOS           Android        Mobile Web
                                                  Wrap
JS/HTML + Native     Native         JS/HTML
                                                JS/HTML




                    Screen based REST API

            Mobile Server (node.js + MongoDB)
                      Domain REST API

                    LinkedIn Platform
Mobile Web

•   Backbone for MVC
                           •   LocalStorage for personal
                               Cache
•   Underscore for utils

•   Zapto for DOM          •   SASS for CSS
    Manipulation
                           •   Closure for compiling

•   Modified iScroll for
                           •   Hash based Loader
    Scrolling
Test
Test
• 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
Deploy
Deploy / Monitor
•   Enterprise Build available   •   Keynote for
    to employees                     Performance and
                                     Availability monitoring
•   Ship everything 2 times a
    week                         •   DeviceAnywhere for
                                     compatibility testing
•   Apps and Server Deploy
    independently                •   Internal monitoring for
                                     QPS, Uptime, etc
•   2 Week Bake for Big
    Stuff                        •   Client Crash Log
                                     Metrics tracked daily
Thanks! & Questions?

More Related Content

What's hot

To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
Tony Erwin
 
Single Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.WebSingle Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.Web
Chris Canal
 

What's hot (20)

Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo
Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo
Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo
 
Express yourself
Express yourselfExpress yourself
Express yourself
 
Node ts1
Node ts1Node ts1
Node ts1
 
Signal rity1
Signal rity1Signal rity1
Signal rity1
 
Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012
 
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
 
Workflow driven development
Workflow driven developmentWorkflow driven development
Workflow driven development
 
Mean stack
Mean stackMean stack
Mean stack
 
Conquering AngularJS Limitations
Conquering AngularJS LimitationsConquering AngularJS Limitations
Conquering AngularJS Limitations
 
TDD a REST API With Node.js and MongoDB
TDD a REST API With Node.js and MongoDBTDD a REST API With Node.js and MongoDB
TDD a REST API With Node.js and MongoDB
 
An introduction to Node.js
An introduction to Node.jsAn introduction to Node.js
An introduction to Node.js
 
Micro Services in .NET Core and Docker
Micro Services in .NET Core and DockerMicro Services in .NET Core and Docker
Micro Services in .NET Core and Docker
 
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...
 
Nodejs
NodejsNodejs
Nodejs
 
8 Most Effective Node.js Tools for Developers
8 Most Effective Node.js Tools for Developers8 Most Effective Node.js Tools for Developers
8 Most Effective Node.js Tools for Developers
 
Node and Micro-Services at IBM
Node and Micro-Services at IBMNode and Micro-Services at IBM
Node and Micro-Services at IBM
 
MongoDB MEAN Stack Webinar October 7, 2015
MongoDB MEAN Stack Webinar October 7, 2015MongoDB MEAN Stack Webinar October 7, 2015
MongoDB MEAN Stack Webinar October 7, 2015
 
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
 
Single Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.WebSingle Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.Web
 
Hybrid App Development
Hybrid App DevelopmentHybrid App Development
Hybrid App Development
 

Viewers also liked

Competencia y concentración en el sistema financiero en el Perú
Competencia y concentración en el sistema financiero en el PerúCompetencia y concentración en el sistema financiero en el Perú
Competencia y concentración en el sistema financiero en el Perú
Thomas Roger Namer
 
Continuous delivery mobile application development
Continuous delivery mobile application developmentContinuous delivery mobile application development
Continuous delivery mobile application development
Thoughtworks
 
Consumer internet bbl_feb2013
Consumer internet bbl_feb2013Consumer internet bbl_feb2013
Consumer internet bbl_feb2013
Maisy Samuelson
 
Managing experimentation
Managing experimentationManaging experimentation
Managing experimentation
wilstuckey
 

Viewers also liked (20)

Scalable complex event processing on samza @UBER
Scalable complex event processing on samza @UBERScalable complex event processing on samza @UBER
Scalable complex event processing on samza @UBER
 
Competencia y concentración en el sistema financiero en el Perú
Competencia y concentración en el sistema financiero en el PerúCompetencia y concentración en el sistema financiero en el Perú
Competencia y concentración en el sistema financiero en el Perú
 
Continuous delivery mobile application development
Continuous delivery mobile application developmentContinuous delivery mobile application development
Continuous delivery mobile application development
 
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous IntegrationExperitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
 
Managing Continuous Delivery of Mobile Apps - for the Enterprise
Managing Continuous Delivery of Mobile Apps - for the EnterpriseManaging Continuous Delivery of Mobile Apps - for the Enterprise
Managing Continuous Delivery of Mobile Apps - for the Enterprise
 
Engineering the New LinkedIn Profile
Engineering the New LinkedIn ProfileEngineering the New LinkedIn Profile
Engineering the New LinkedIn Profile
 
Dust.js
Dust.jsDust.js
Dust.js
 
Unlocking the formula for a high performance digital product team, London Jul...
Unlocking the formula for a high performance digital product team, London Jul...Unlocking the formula for a high performance digital product team, London Jul...
Unlocking the formula for a high performance digital product team, London Jul...
 
Tools to Build Better Products and Strengthen Customer Relationships
Tools to Build Better Products and Strengthen Customer Relationships Tools to Build Better Products and Strengthen Customer Relationships
Tools to Build Better Products and Strengthen Customer Relationships
 
How our product team works
How our product team worksHow our product team works
How our product team works
 
Personal Finance for Food52
Personal Finance for Food52Personal Finance for Food52
Personal Finance for Food52
 
Consumer internet bbl_feb2013
Consumer internet bbl_feb2013Consumer internet bbl_feb2013
Consumer internet bbl_feb2013
 
How PM Helped Build a Billion Dollar Business
How PM Helped Build a Billion Dollar BusinessHow PM Helped Build a Billion Dollar Business
How PM Helped Build a Billion Dollar Business
 
Tiny Batches, in the wine: Shiny New Bits in Spark Streaming
Tiny Batches, in the wine: Shiny New Bits in Spark StreamingTiny Batches, in the wine: Shiny New Bits in Spark Streaming
Tiny Batches, in the wine: Shiny New Bits in Spark Streaming
 
Managing experimentation
Managing experimentationManaging experimentation
Managing experimentation
 
SVPMA: Is Product Management Obsolete?
SVPMA: Is Product Management Obsolete?SVPMA: Is Product Management Obsolete?
SVPMA: Is Product Management Obsolete?
 
SVPMA: Shifting to an Experimental Mindset
SVPMA: Shifting to an Experimental MindsetSVPMA: Shifting to an Experimental Mindset
SVPMA: Shifting to an Experimental Mindset
 
Creating Killer Product Roadmaps
Creating Killer Product RoadmapsCreating Killer Product Roadmaps
Creating Killer Product Roadmaps
 
Delivering Meaning In Near-Real Time At High Velocity In Massive Scale with A...
Delivering Meaning In Near-Real Time At High Velocity In Massive Scale with A...Delivering Meaning In Near-Real Time At High Velocity In Massive Scale with A...
Delivering Meaning In Near-Real Time At High Velocity In Massive Scale with A...
 
Product Management as a Service Organization
Product Management as a Service OrganizationProduct Management as a Service Organization
Product Management as a Service Organization
 

Similar to LinkedIn Mobile: How do we do it?

Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo Mobile
Andrew Ferrier
 
Developing Downloadable Mobile Apps Using HTML5 and PhoneGap
Developing Downloadable Mobile Apps Using HTML5 and PhoneGapDeveloping Downloadable Mobile Apps Using HTML5 and PhoneGap
Developing Downloadable Mobile Apps Using HTML5 and PhoneGap
Worklight
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with Ionic
Maulik Bamania
 
Integrating ADF Mobile with WebCenter
Integrating ADF Mobile with WebCenterIntegrating ADF Mobile with WebCenter
Integrating ADF Mobile with WebCenter
Brian Huff
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for Engineers
Brian LeRoux
 
Android Introduction
Android IntroductionAndroid Introduction
Android Introduction
aswapnal
 

Similar to LinkedIn Mobile: How do we do it? (20)

Hybrid Mobile Apps | Ionic & AngularJS
Hybrid Mobile Apps | Ionic & AngularJSHybrid Mobile Apps | Ionic & AngularJS
Hybrid Mobile Apps | Ionic & AngularJS
 
Understanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesUnderstanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile Architectures
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo Mobile
 
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionicHybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
 
Hybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJSHybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJS
 
Hybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic FrameworkHybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic Framework
 
Developing Downloadable Mobile Apps Using HTML5 and PhoneGap
Developing Downloadable Mobile Apps Using HTML5 and PhoneGapDeveloping Downloadable Mobile Apps Using HTML5 and PhoneGap
Developing Downloadable Mobile Apps Using HTML5 and PhoneGap
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with Ionic
 
Integrating ADF Mobile with WebCenter
Integrating ADF Mobile with WebCenterIntegrating ADF Mobile with WebCenter
Integrating ADF Mobile with WebCenter
 
HTML 5 Development for Windows Phone and Desktop
HTML 5 Development for Windows Phone and DesktopHTML 5 Development for Windows Phone and Desktop
HTML 5 Development for Windows Phone and Desktop
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for Engineers
 
Synapse india reviews on mobile application development
Synapse india reviews on mobile application developmentSynapse india reviews on mobile application development
Synapse india reviews on mobile application development
 
When worlds Collide: HTML5 Meets the Cloud
When worlds Collide: HTML5 Meets the CloudWhen worlds Collide: HTML5 Meets the Cloud
When worlds Collide: HTML5 Meets the Cloud
 
Hybrid Mobile Application with Ionic Framework
Hybrid Mobile Application with Ionic FrameworkHybrid Mobile Application with Ionic Framework
Hybrid Mobile Application with Ionic Framework
 
Mobile applications development
Mobile applications developmentMobile applications development
Mobile applications development
 
Introduction to Ionic framework
Introduction to Ionic frameworkIntroduction to Ionic framework
Introduction to Ionic framework
 
Cloud & The Mobile Stack
Cloud & The Mobile StackCloud & The Mobile Stack
Cloud & The Mobile Stack
 
Android Introduction
Android IntroductionAndroid Introduction
Android Introduction
 
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
 
Synapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps developmentSynapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps development
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

LinkedIn Mobile: How do we do it?

  • 1. LinkedIn Mobile How we do we do it?
  • 3. Build Platform Design iOS Code Android Testing Browser Deploy Other
  • 5. 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
  • 6. Search, Compose, Room Navigation Stream You Inbox Following Notifications Breadth < 4 Depth < 3
  • 7. 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
  • 8. Mobile Web Enter the house SEO Email Organic
  • 10. Other iOS Android Mobile Web Wrap JS/HTML + Native Native JS/HTML JS/HTML Screen based REST API Mobile Server (node.js + MongoDB) Domain REST API LinkedIn Platform
  • 11. Other iOS Android Mobile Web Wrap JS/HTML + Native Native JS/HTML JS/HTML Screen based REST API Mobile Server (node.js + MongoDB) Domain REST API LinkedIn Platform
  • 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 Load Balancer Nginx Nginx • Platform Transport: JSON In / JSON Out Node JS Node JS Server Server • Nginx as Web Server Mongo Logging Tracking • CDN for Static Content DB Server Server • Log / Track Everything LinkedIn Platform
  • 14. Screen Based JSON • Single Request per { ttype: nut1, screen time: 298349823, header: “Wow, that is pretty cool”, • JSON is template ....... ...... based footer: “shared by Kiran Prasad”, id: 1298398127, • Updatable on } server
  • 15. Other iOS Android Mobile Web Wrap JS/HTML + Native Native JS/HTML JS/HTML Screen based REST API Mobile Server (node.js + MongoDB) Domain REST API LinkedIn Platform
  • 16. iOS • Native for all infinite lists • Native for Window Manager • JS/HTML for all screens that are detail views • Per screen choice for the stuff in the middle • Async JS/iOS Bridge
  • 17. Other iOS Android Mobile Web Wrap JS/HTML + Native Native JS/HTML JS/HTML Screen based REST API Mobile Server (node.js + MongoDB) Domain REST API LinkedIn Platform
  • 18. Android • Native for all the screens • WebView for browsing the web • Moving towards more HTML5 • Contacts locally stored but rest only in memory cache
  • 19. Other iOS Android Mobile Web Wrap JS/HTML + Native Native JS/HTML JS/HTML Screen based REST API Mobile Server (node.js + MongoDB) Domain REST API LinkedIn Platform
  • 20. Mobile Web • Backbone for MVC • LocalStorage for personal Cache • Underscore for utils • Zapto for DOM • SASS for CSS Manipulation • Closure for compiling • Modified iScroll for • Hash based Loader Scrolling
  • 21. Test
  • 22. Test • 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
  • 24. Deploy / Monitor • Enterprise Build available • Keynote for to employees Performance and Availability monitoring • Ship everything 2 times a week • DeviceAnywhere for compatibility testing • Apps and Server Deploy independently • Internal monitoring for QPS, Uptime, etc • 2 Week Bake for Big Stuff • Client Crash Log Metrics tracked daily

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n