SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
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?

Weitere ähnliche Inhalte

Was ist angesagt?

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 Shift Conference
 
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 2012Adam Mokan
 
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 ...Hariharan Ganesan
 
Workflow driven development
Workflow driven developmentWorkflow driven development
Workflow driven developmentDmitryDemyankov
 
Conquering AngularJS Limitations
Conquering AngularJS LimitationsConquering AngularJS Limitations
Conquering AngularJS LimitationsValeri Karpov
 
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 MongoDBValeri Karpov
 
An introduction to Node.js
An introduction to Node.jsAn introduction to Node.js
An introduction to Node.jsKasey McCurdy
 
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 Dockercjmyers
 
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
 
Node and Micro-Services at IBM
Node and Micro-Services at IBMNode and Micro-Services at IBM
Node and Micro-Services at IBMDejan Glozic
 
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, 2015Valeri Karpov
 
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!"Fwdays
 
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.WebChris Canal
 

Was ist angesagt? (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
 

Andere mochten auch

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 @UBERShuyi Chen
 
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 developmentThoughtworks
 
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 IntegrationExperitest
 
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 EnterpriseSauce Labs
 
Engineering the New LinkedIn Profile
Engineering the New LinkedIn ProfileEngineering the New LinkedIn Profile
Engineering the New LinkedIn ProfileJosh Clemm
 
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...Wilson Fletcher
 
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 SVPMA
 
How our product team works
How our product team worksHow our product team works
How our product team worksMichael Hübl
 
Personal Finance for Food52
Personal Finance for Food52Personal Finance for Food52
Personal Finance for Food52Adam Nash
 
Consumer internet bbl_feb2013
Consumer internet bbl_feb2013Consumer internet bbl_feb2013
Consumer internet bbl_feb2013Maisy Samuelson
 
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 BusinessSVPMA
 
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 StreamingPaco Nathan
 
Managing experimentation
Managing experimentationManaging experimentation
Managing experimentationwilstuckey
 
SVPMA: Is Product Management Obsolete?
SVPMA: Is Product Management Obsolete?SVPMA: Is Product Management Obsolete?
SVPMA: Is Product Management Obsolete?SVPMA
 
SVPMA: Shifting to an Experimental Mindset
SVPMA: Shifting to an Experimental MindsetSVPMA: Shifting to an Experimental Mindset
SVPMA: Shifting to an Experimental MindsetSVPMA
 
Creating Killer Product Roadmaps
Creating Killer Product RoadmapsCreating Killer Product Roadmaps
Creating Killer Product RoadmapsSVPMA
 
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...Helena Edelson
 
Product Management as a Service Organization
Product Management as a Service OrganizationProduct Management as a Service Organization
Product Management as a Service OrganizationSVPMA
 

Andere mochten auch (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
 

Ähnlich wie LinkedIn Mobile: How do we do it?

Hybrid Mobile Apps | Ionic & AngularJS
Hybrid Mobile Apps | Ionic & AngularJSHybrid Mobile Apps | Ionic & AngularJS
Hybrid Mobile Apps | Ionic & AngularJSHamdi Hmidi
 
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 ArchitecturesSalesforce Developers
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo MobileAndrew Ferrier
 
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 ionicErmias Bayu
 
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 AngularJSZvika Epstein
 
Hybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic FrameworkHybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic FrameworkCihad Horuzoğlu
 
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 PhoneGapWorklight
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with IonicMaulik Bamania
 
Integrating ADF Mobile with WebCenter
Integrating ADF Mobile with WebCenterIntegrating ADF Mobile with WebCenter
Integrating ADF Mobile with WebCenterBrian Huff
 
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 DesktopDoris Chen
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for EngineersBrian LeRoux
 
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 developmentsaritasingh19866
 
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 CloudDavid Pallmann
 
Hybrid Mobile Application with Ionic Framework
Hybrid Mobile Application with Ionic FrameworkHybrid Mobile Application with Ionic Framework
Hybrid Mobile Application with Ionic FrameworkDragos Ionita
 
Introduction to Ionic framework
Introduction to Ionic frameworkIntroduction to Ionic framework
Introduction to Ionic frameworkShyjal Raazi
 
Android Introduction
Android IntroductionAndroid Introduction
Android Introductionaswapnal
 
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...Serdar Basegmez
 
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 developmentsaritasingh19866
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...amber724300
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 

Kürzlich hochgeladen (20)

Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 

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

Hinweis der Redaktion

  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