LinkedIn Mobile: How do we do it?

P
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?
1 of 25

Recommended

Mobile gotcha by
Mobile gotchaMobile gotcha
Mobile gotchaphegaro
4.1K views48 slides
20120802 timisoara by
20120802 timisoara20120802 timisoara
20120802 timisoaraRichard Rodger
894 views42 slides
Introducing the Seneca MVP framework for Node.js by
Introducing the Seneca MVP framework for Node.jsIntroducing the Seneca MVP framework for Node.js
Introducing the Seneca MVP framework for Node.jsRichard Rodger
4.4K views33 slides
20120306 dublin js by
20120306 dublin js20120306 dublin js
20120306 dublin jsRichard Rodger
847 views32 slides
The Dark Side of Single Page Applications by
The Dark Side of Single Page ApplicationsThe Dark Side of Single Page Applications
The Dark Side of Single Page ApplicationsDor Kalev
16.9K views22 slides
Building an E-commerce website in MEAN stack by
Building an E-commerce website in MEAN stackBuilding an E-commerce website in MEAN stack
Building an E-commerce website in MEAN stackdivyapisces
8.1K views63 slides

More Related Content

What's hot

Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo by
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 Conference
103 views22 slides
Express yourself by
Express yourselfExpress yourself
Express yourselfYaniv Rodenski
2.3K views37 slides
Node ts1 by
Node ts1Node ts1
Node ts1Yaniv Rodenski
2.8K views25 slides
Signal rity1 by
Signal rity1Signal rity1
Signal rity1Yaniv Rodenski
952 views22 slides
Single Page Applications - Desert Code Camp 2012 by
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Adam Mokan
1.8K views34 slides
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ... by
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 ...Hariharan Ganesan
309 views36 slides

What's hot(20)

Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo by Shift Conference
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 Conference103 views
Single Page Applications - Desert Code Camp 2012 by Adam Mokan
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012
Adam Mokan1.8K views
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ... by Hariharan Ganesan
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 ...
Hariharan Ganesan309 views
Conquering AngularJS Limitations by Valeri Karpov
Conquering AngularJS LimitationsConquering AngularJS Limitations
Conquering AngularJS Limitations
Valeri Karpov554 views
TDD a REST API With Node.js and MongoDB by Valeri Karpov
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
Valeri Karpov1.9K views
An introduction to Node.js by Kasey McCurdy
An introduction to Node.jsAn introduction to Node.js
An introduction to Node.js
Kasey McCurdy788 views
Micro Services in .NET Core and Docker by cjmyers
Micro Services in .NET Core and DockerMicro Services in .NET Core and Docker
Micro Services in .NET Core and Docker
cjmyers6.4K views
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic... by Tony Erwin
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 Erwin561 views
Node and Micro-Services at IBM by Dejan Glozic
Node and Micro-Services at IBMNode and Micro-Services at IBM
Node and Micro-Services at IBM
Dejan Glozic15.6K views
MongoDB MEAN Stack Webinar October 7, 2015 by Valeri Karpov
MongoDB MEAN Stack Webinar October 7, 2015MongoDB MEAN Stack Webinar October 7, 2015
MongoDB MEAN Stack Webinar October 7, 2015
Valeri Karpov599 views
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!" by Fwdays
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!"
Fwdays885 views
Single Page Application Development with backbone.js and Simple.Web by Chris Canal
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 Canal5.3K views

Viewers also liked

Scalable complex event processing on samza @UBER by
Scalable complex event processing on samza @UBERScalable complex event processing on samza @UBER
Scalable complex event processing on samza @UBERShuyi Chen
4.8K views51 slides
Competencia y concentración en el sistema financiero en el Perú by
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
3.1K views26 slides
Continuous delivery mobile application development by
Continuous delivery mobile application developmentContinuous delivery mobile application development
Continuous delivery mobile application developmentThoughtworks
3.2K views27 slides
Experitest-Infosys Co-Webinar on Mobile Continuous Integration by
Experitest-Infosys Co-Webinar on Mobile Continuous IntegrationExperitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous IntegrationExperitest
1.5K views38 slides
Managing Continuous Delivery of Mobile Apps - for the Enterprise by
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 EnterpriseSauce Labs
4.6K views30 slides
Engineering the New LinkedIn Profile by
Engineering the New LinkedIn ProfileEngineering the New LinkedIn Profile
Engineering the New LinkedIn ProfileJosh Clemm
18.6K views67 slides

Viewers also liked(20)

Scalable complex event processing on samza @UBER by Shuyi Chen
Scalable complex event processing on samza @UBERScalable complex event processing on samza @UBER
Scalable complex event processing on samza @UBER
Shuyi Chen4.8K views
Competencia y concentración en el sistema financiero en el Perú by Thomas Roger Namer
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 Namer3.1K views
Continuous delivery mobile application development by Thoughtworks
Continuous delivery mobile application developmentContinuous delivery mobile application development
Continuous delivery mobile application development
Thoughtworks3.2K views
Experitest-Infosys Co-Webinar on Mobile Continuous Integration by Experitest
Experitest-Infosys Co-Webinar on Mobile Continuous IntegrationExperitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest1.5K views
Managing Continuous Delivery of Mobile Apps - for the Enterprise by Sauce Labs
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
Sauce Labs4.6K views
Engineering the New LinkedIn Profile by Josh Clemm
Engineering the New LinkedIn ProfileEngineering the New LinkedIn Profile
Engineering the New LinkedIn Profile
Josh Clemm18.6K views
Unlocking the formula for a high performance digital product team, London Jul... by Wilson Fletcher
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...
Wilson Fletcher1.8K views
Tools to Build Better Products and Strengthen Customer Relationships by SVPMA
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
SVPMA1.2K views
How our product team works by Michael Hübl
How our product team worksHow our product team works
How our product team works
Michael Hübl10.2K views
Personal Finance for Food52 by Adam Nash
Personal Finance for Food52Personal Finance for Food52
Personal Finance for Food52
Adam Nash2.6K views
Consumer internet bbl_feb2013 by Maisy Samuelson
Consumer internet bbl_feb2013Consumer internet bbl_feb2013
Consumer internet bbl_feb2013
Maisy Samuelson12.4K views
How PM Helped Build a Billion Dollar Business by SVPMA
How PM Helped Build a Billion Dollar BusinessHow PM Helped Build a Billion Dollar Business
How PM Helped Build a Billion Dollar Business
SVPMA1.1K views
Tiny Batches, in the wine: Shiny New Bits in Spark Streaming by Paco Nathan
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
Paco Nathan7.6K views
Managing experimentation by wilstuckey
Managing experimentationManaging experimentation
Managing experimentation
wilstuckey17.7K views
SVPMA: Is Product Management Obsolete? by SVPMA
SVPMA: Is Product Management Obsolete?SVPMA: Is Product Management Obsolete?
SVPMA: Is Product Management Obsolete?
SVPMA1.4K views
SVPMA: Shifting to an Experimental Mindset by SVPMA
SVPMA: Shifting to an Experimental MindsetSVPMA: Shifting to an Experimental Mindset
SVPMA: Shifting to an Experimental Mindset
SVPMA1.7K views
Creating Killer Product Roadmaps by SVPMA
Creating Killer Product RoadmapsCreating Killer Product Roadmaps
Creating Killer Product Roadmaps
SVPMA2.7K views
Delivering Meaning In Near-Real Time At High Velocity In Massive Scale with A... by Helena Edelson
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...
Helena Edelson12.6K views
Product Management as a Service Organization by SVPMA
Product Management as a Service OrganizationProduct Management as a Service Organization
Product Management as a Service Organization
SVPMA2.1K views

Similar to LinkedIn Mobile: How do we do it?

Hybrid Mobile Apps | Ionic & AngularJS by
Hybrid Mobile Apps | Ionic & AngularJSHybrid Mobile Apps | Ionic & AngularJS
Hybrid Mobile Apps | Ionic & AngularJSHamdi Hmidi
792 views33 slides
Understanding Native, Hybrid, and Web Mobile Architectures by
Understanding Native, Hybrid, and Web Mobile ArchitecturesUnderstanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesSalesforce Developers
1.6K views29 slides
Real-world Dojo Mobile by
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo MobileAndrew Ferrier
4K views46 slides
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic by
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 ionicErmias Bayu
633 views27 slides
Hybrid vs. Native app - Ionic Framework with AngularJS by
Hybrid vs. Native app - Ionic Framework with AngularJSHybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJSZvika Epstein
743 views29 slides
Hybrid Apps with Angular & Ionic Framework by
Hybrid Apps with Angular & Ionic FrameworkHybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic FrameworkCihad Horuzoğlu
23K views36 slides

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

Hybrid Mobile Apps | Ionic & AngularJS by Hamdi Hmidi
Hybrid Mobile Apps | Ionic & AngularJSHybrid Mobile Apps | Ionic & AngularJS
Hybrid Mobile Apps | Ionic & AngularJS
Hamdi Hmidi792 views
Understanding Native, Hybrid, and Web Mobile Architectures by Salesforce Developers
Understanding Native, Hybrid, and Web Mobile ArchitecturesUnderstanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile Architectures
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic by Ermias Bayu
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
Ermias Bayu633 views
Hybrid vs. Native app - Ionic Framework with AngularJS by Zvika Epstein
Hybrid vs. Native app - Ionic Framework with AngularJSHybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJS
Zvika Epstein743 views
Hybrid Apps with Angular & Ionic Framework by Cihad Horuzoğlu
Hybrid Apps with Angular & Ionic FrameworkHybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic Framework
Cihad Horuzoğlu23K views
Developing Downloadable Mobile Apps Using HTML5 and PhoneGap by Worklight
Developing Downloadable Mobile Apps Using HTML5 and PhoneGapDeveloping Downloadable Mobile Apps Using HTML5 and PhoneGap
Developing Downloadable Mobile Apps Using HTML5 and PhoneGap
Worklight2.9K views
Hybrid mobile application with Ionic by Maulik Bamania
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with Ionic
Maulik Bamania229 views
Integrating ADF Mobile with WebCenter by Brian Huff
Integrating ADF Mobile with WebCenterIntegrating ADF Mobile with WebCenter
Integrating ADF Mobile with WebCenter
Brian Huff21.6K views
HTML 5 Development for Windows Phone and Desktop by Doris Chen
HTML 5 Development for Windows Phone and DesktopHTML 5 Development for Windows Phone and Desktop
HTML 5 Development for Windows Phone and Desktop
Doris Chen2.2K views
Synapse india reviews on mobile application development by saritasingh19866
Synapse india reviews on mobile application developmentSynapse india reviews on mobile application development
Synapse india reviews on mobile application development
saritasingh19866298 views
When worlds Collide: HTML5 Meets the Cloud by David Pallmann
When worlds Collide: HTML5 Meets the CloudWhen worlds Collide: HTML5 Meets the Cloud
When worlds Collide: HTML5 Meets the Cloud
David Pallmann937 views
Hybrid Mobile Application with Ionic Framework by Dragos Ionita
Hybrid Mobile Application with Ionic FrameworkHybrid Mobile Application with Ionic Framework
Hybrid Mobile Application with Ionic Framework
Dragos Ionita542 views
Introduction to Ionic framework by Shyjal Raazi
Introduction to Ionic frameworkIntroduction to Ionic framework
Introduction to Ionic framework
Shyjal Raazi8.6K views
Android Introduction by aswapnal
Android IntroductionAndroid Introduction
Android Introduction
aswapnal493 views
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S... by Serdar Basegmez
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...
Serdar Basegmez678 views
Synapse india reviews on cross plateform mobile apps development by saritasingh19866
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
saritasingh19866246 views

Recently uploaded

Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveNetwork Automation Forum
21 views35 slides
The Research Portal of Catalonia: Growing more (information) & more (services) by
The Research Portal of Catalonia: Growing more (information) & more (services)The Research Portal of Catalonia: Growing more (information) & more (services)
The Research Portal of Catalonia: Growing more (information) & more (services)CSUC - Consorci de Serveis Universitaris de Catalunya
73 views25 slides
SAP Automation Using Bar Code and FIORI.pdf by
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdfVirendra Rai, PMP
19 views38 slides
DALI Basics Course 2023 by
DALI Basics Course  2023DALI Basics Course  2023
DALI Basics Course 2023Ivory Egg
14 views12 slides
Transcript: The Details of Description Techniques tips and tangents on altern... by
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...BookNet Canada
130 views15 slides
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensorssugiuralab
15 views15 slides

Recently uploaded(20)

Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
SAP Automation Using Bar Code and FIORI.pdf by Virendra Rai, PMP
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdf
DALI Basics Course 2023 by Ivory Egg
DALI Basics Course  2023DALI Basics Course  2023
DALI Basics Course 2023
Ivory Egg14 views
Transcript: The Details of Description Techniques tips and tangents on altern... by BookNet Canada
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...
BookNet Canada130 views
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab15 views
AMAZON PRODUCT RESEARCH.pdf by JerikkLaureta
AMAZON PRODUCT RESEARCH.pdfAMAZON PRODUCT RESEARCH.pdf
AMAZON PRODUCT RESEARCH.pdf
JerikkLaureta15 views
Business Analyst Series 2023 - Week 3 Session 5 by DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10209 views
handbook for web 3 adoption.pdf by Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex19 views
1st parposal presentation.pptx by i238212
1st parposal presentation.pptx1st parposal presentation.pptx
1st parposal presentation.pptx
i2382129 views
Special_edition_innovator_2023.pdf by WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2216 views
Five Things You SHOULD Know About Postman by Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman27 views
Case Study Copenhagen Energy and Business Central.pdf by Aitana
Case Study Copenhagen Energy and Business Central.pdfCase Study Copenhagen Energy and Business Central.pdf
Case Study Copenhagen Energy and Business Central.pdf
Aitana12 views
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker26 views
6g - REPORT.pdf by Liveplex
6g - REPORT.pdf6g - REPORT.pdf
6g - REPORT.pdf
Liveplex9 views
Web Dev - 1 PPT.pdf by gdsczhcet
Web Dev - 1 PPT.pdfWeb Dev - 1 PPT.pdf
Web Dev - 1 PPT.pdf
gdsczhcet55 views

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