SlideShare a Scribd company logo
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

ODP
Evaluation and prototyping of an HTML5 Client for iOS devices
PDF
Evaluation and prototyping of an HTML5 Client for iOS devices
PDF
An Intro to Mobile HTML5
PPTX
Mobile software desisgn
PDF
Build a great conversationalist using Azure Bot Service 2018
PPTX
The web as it should be
PDF
What is mean stack?
PPTX
Adminstering biztalkusingchatbot
Evaluation and prototyping of an HTML5 Client for iOS devices
Evaluation and prototyping of an HTML5 Client for iOS devices
An Intro to Mobile HTML5
Mobile software desisgn
Build a great conversationalist using Azure Bot Service 2018
The web as it should be
What is mean stack?
Adminstering biztalkusingchatbot

Viewers also liked (20)

PDF
F1 fan zone gurgaon
PPT
Единые информационные пространства для работы с абонентами
PDF
A Clinical Evaluation of a New Arthroscopic Biceps Tenodesis Technique
PPT
Module13 goodppt
PPTX
AT in early education
DOCX
Hareshwar dongare cv13.doc
PPTX
Hotel Occupancy Tax Grants
PPT
правописание наречий
PDF
Managed Service Brochure
PPTX
Theo Verstrael | Vogelbalans 2012
PDF
Recrutment‌ wag ii_hyd_191214
PDF
Xsolla Company Overview
PDF
Bringing Reserach Closer to Society
PPTX
David Parpart Design Portfolio 20150505
PDF
Sleep Project.2
PPT
5746 kanun
PDF
Csfi Future Events
PPT
Farm animal
PDF
2015 Minneapolis/ St. Paul Apartment Industry Outlook
PPTX
mantecorrec 1003
F1 fan zone gurgaon
Единые информационные пространства для работы с абонентами
A Clinical Evaluation of a New Arthroscopic Biceps Tenodesis Technique
Module13 goodppt
AT in early education
Hareshwar dongare cv13.doc
Hotel Occupancy Tax Grants
правописание наречий
Managed Service Brochure
Theo Verstrael | Vogelbalans 2012
Recrutment‌ wag ii_hyd_191214
Xsolla Company Overview
Bringing Reserach Closer to Society
David Parpart Design Portfolio 20150505
Sleep Project.2
5746 kanun
Csfi Future Events
Farm animal
2015 Minneapolis/ St. Paul Apartment Industry Outlook
mantecorrec 1003
Ad

Similar to Linkedinmobile 111011223417-phpapp02 (20)

KEY
20120802 timisoara
KEY
20120306 dublin js
PDF
Hybrid Mobile Apps | Ionic & AngularJS
PDF
Understanding Native, Hybrid, and Web Mobile Architectures
KEY
Real-world Dojo Mobile
PPTX
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
PPTX
Hybrid vs. Native app - Ionic Framework with AngularJS
PDF
Hybrid Apps with Angular & Ionic Framework
PPSX
Developing Downloadable Mobile Apps Using HTML5 and PhoneGap
PPTX
Hybrid mobile application with Ionic
PPT
Integrating ADF Mobile with WebCenter
PDF
HTML 5 Development for Windows Phone and Desktop
KEY
Phonegap for Engineers
ODP
Synapse india reviews on mobile application development
PPTX
When worlds Collide: HTML5 Meets the Cloud
PDF
Hybrid Mobile Application with Ionic Framework
PPTX
Mobile applications development
PPTX
Introduction to Ionic framework
PDF
Cloud & The Mobile Stack
PPT
Android Introduction
20120802 timisoara
20120306 dublin js
Hybrid Mobile Apps | Ionic & AngularJS
Understanding Native, Hybrid, and Web Mobile Architectures
Real-world Dojo Mobile
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid vs. Native app - Ionic Framework with AngularJS
Hybrid Apps with Angular & Ionic Framework
Developing Downloadable Mobile Apps Using HTML5 and PhoneGap
Hybrid mobile application with Ionic
Integrating ADF Mobile with WebCenter
HTML 5 Development for Windows Phone and Desktop
Phonegap for Engineers
Synapse india reviews on mobile application development
When worlds Collide: HTML5 Meets the Cloud
Hybrid Mobile Application with Ionic Framework
Mobile applications development
Introduction to Ionic framework
Cloud & The Mobile Stack
Android Introduction
Ad

More from htdvul (10)

PPTX
Agile Enterprise architecture.pptx
PPTX
CON 1300V Webinar Slides v1.pptx
PDF
PMOs Deliver Value.pdf
PDF
asmjit - Complete x86 x64 JIT Assembler for C++.pdf
PDF
SysInternals Disk2vhd - docs.pdf
PDF
Team drive get free storage
PDF
American civil war museum va
PDF
Ap08 compsci coursedesc
PDF
Leadtools evaluation downloads
KEY
Oscon anatomy of_os_cloud_ecosystem
Agile Enterprise architecture.pptx
CON 1300V Webinar Slides v1.pptx
PMOs Deliver Value.pdf
asmjit - Complete x86 x64 JIT Assembler for C++.pdf
SysInternals Disk2vhd - docs.pdf
Team drive get free storage
American civil war museum va
Ap08 compsci coursedesc
Leadtools evaluation downloads
Oscon anatomy of_os_cloud_ecosystem

Recently uploaded (20)

PPTX
SPIRITUAL GIFTS 2.pptx xxxxxxxxxxxxxxxxxxx
PPTX
Article--Non-Narrated--Davidson_The_Biblical_Account_Of_Origins_Long.pptx
PDF
Printable Zulu Gospel Tract - Be Sure of Heaven.pdf
PDF
Spiritual Life Blossoms When Truly Know Him - Slideshow
PPTX
TX001186_3-PowerPoint-Introducing_the_Trinity_God_Is_Three-in-One.pptx
PDF
UNIT PROGRAM ACTIVITIES.hfhhfhfhfhfhfhfh.pdf
PPTX
Why God? a Beginning Course on Apologetics - Part 1
PPTX
cristianity quiz.pptx introduction to world religion
PPTX
Ecclesiastes 3.1-15 Live with Wisdom GPBC 08.17.25.pptx
PDF
Grandes mujeres que dejaron un legado para el mundo
PPTX
Breath,kundalini and Link With Absolute.pptx
PPTX
Salinan Gaza War Israel-Palestine Conflict Slides.pptx
PDF
Krishna’s 8 Symbols and What They Represent
PDF
Life of Saint John Gabriel Perboyre, C.M.
PDF
English - The Art of Ruling (Political Governance).pdf
PPTX
Basic Bible Seminar 2 1ST CONFERENCE.pptx
PDF
Printable Telugu Gospel Tract - Be Sure of Heaven.pdf
PPTX
THE LIFE & MISSION OF COUPLES FOR CHRIST
PDF
15 August – Brave Stories of India’s Freedom
PPTX
Sabbath school lesson 3rd quarter en_2025t309.pptx
SPIRITUAL GIFTS 2.pptx xxxxxxxxxxxxxxxxxxx
Article--Non-Narrated--Davidson_The_Biblical_Account_Of_Origins_Long.pptx
Printable Zulu Gospel Tract - Be Sure of Heaven.pdf
Spiritual Life Blossoms When Truly Know Him - Slideshow
TX001186_3-PowerPoint-Introducing_the_Trinity_God_Is_Three-in-One.pptx
UNIT PROGRAM ACTIVITIES.hfhhfhfhfhfhfhfh.pdf
Why God? a Beginning Course on Apologetics - Part 1
cristianity quiz.pptx introduction to world religion
Ecclesiastes 3.1-15 Live with Wisdom GPBC 08.17.25.pptx
Grandes mujeres que dejaron un legado para el mundo
Breath,kundalini and Link With Absolute.pptx
Salinan Gaza War Israel-Palestine Conflict Slides.pptx
Krishna’s 8 Symbols and What They Represent
Life of Saint John Gabriel Perboyre, C.M.
English - The Art of Ruling (Political Governance).pdf
Basic Bible Seminar 2 1ST CONFERENCE.pptx
Printable Telugu Gospel Tract - Be Sure of Heaven.pdf
THE LIFE & MISSION OF COUPLES FOR CHRIST
15 August – Brave Stories of India’s Freedom
Sabbath school lesson 3rd quarter en_2025t309.pptx

Linkedinmobile 111011223417-phpapp02

  • 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