Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mobile Application Development in an Enterprise Context

Mobile Application Development in an Enterprise Context

André Neubauer

September 02, 2010
Tweet

More Decks by André Neubauer

Other Decks in Technology

Transcript

  1. Page 2 | Mobile Application Development in an Enterprise Context

    | André Neubauer I‘m André Neubauer. You can find me at … ImmobilienScout24 ! Team Leader IT Development ! Set up mobile development à Acting as Mobile Technical Lead andre.neubauer@... twitter.com/devpg devpg.com Private ! Working with Android since 1.0 ! Interests: Agile, Mobile, Augmented Reality, Cross- Platform Development, Web, Open Source
  2. Page 3 | Mobile Application Development in an Enterprise Context

    | André Neubauer Contents (1)  Product Strategy (2)  Development & Testing (3)  Delivery (4)  Operations
  3. Page 4 | Mobile Application Development in an Enterprise Context

    | André Neubauer Mobile Matters Mobile Application Development in an Enterprise Context “Regarding pace of change, we believe more users will likely connect to the Internet via mobile devices than desktop PCs within 5 years.” [ Morgan Stanley Research]
  4. Page 5 | Mobile Application Development in an Enterprise Context

    | André Neubauer Enterprise Context Mobile Application Development in an Enterprise Context ! Reuse experience, style guide, shared code ! Consistent/ uniform brand identity ! Brand protection ! Bring your business in the mobile field/ on mobile devices ! Expose your services ! Different use cases, several platforms ! A lot of stakeholders
  5. Page 6 | Mobile Application Development in an Enterprise Context

    | André Neubauer Paradigm Shift (Mobile) Web vs. Mobile App App is installed on a device and owned by the user! Any update/ modification is triggered by the user and requires affirmation.
  6. Page 8 | Mobile Application Development in an Enterprise Context

    | André Neubauer Challenges ! Identify your audience ! Adapt your business to the mobile field ! Generate ROI ! Stay focussed
  7. Page 9 | Mobile Application Development in an Enterprise Context

    | André Neubauer Challenges Forrester POST Strategy People ! Profile your target audience. Objectives ! Determine whether the mobile channel is an appropriate means for the business objectives you want to meet. Strategy Technology ! Choose your development technology to implement applications
  8. Page 10 | Mobile Application Development in an Enterprise Context

    | André Neubauer Product Strategy Degrees of freedom Bada Blackberry OS Windows Phone Series Windows Mobile Android iOS MeeGo Java ME Maemo WebOS Symbian OS BREW Platforms Use Cases Source: AdMob, Metrics Highlights
  9. Page 11 | Mobile Application Development in an Enterprise Context

    | André Neubauer Mobile Platforms iOS vs. Android vs. … ! Profile audience and used platforms and stay focussed ! Mobile web or cross- platform as an alternative for not natively supported platforms Source: Morgan Stanley Research, The Mobile Internet Report Setup
  10. Page 12 | Mobile Application Development in an Enterprise Context

    | André Neubauer Adapt Your Business To The Mobile Field ! Identify use cases ! Deal with restrictions (e.g. screen size) No copy cat of the web Source: Southwest Airlines
  11. Page 13 | Mobile Application Development in an Enterprise Context

    | André Neubauer One App per Use Case vs. Umbrella App One corporate app tend to be … ! Big ! Complex ! Overcrowed ! Defuse ! Risky dependencies: One bug can crash the whole application ! Marketing, promotion, tracking more difficult ! Incubator for question marks (Growth-share matrix) Separate apps ! Guidelines and policies necessary (e.g. style guide, shared libraries) ! Brand recognition important, cross promotion to link apps
  12. Page 15 | Mobile Application Development in an Enterprise Context

    | André Neubauer Development Technology ! Native application development ! Web application development ! Hybrid application development No „One technology fits all“ solution  Depends on application and user needs (e.g. need of sensors, look & feel, …)
  13. Page 16 | Mobile Application Development in an Enterprise Context

    | André Neubauer Development Technology A Selection Methodology ! class of technology based on application & user needs ! native, hybrid, web ! specifics of technology based on market, distribution, and internal company needs ! Java, BREW, web, scripting, Symbian, Source: Going Mobile, Choosing Target Devices & Platforms, Barbara Ballard
  14. Page 17 | Mobile Application Development in an Enterprise Context

    | André Neubauer Agile Software Development Mobile market growth fast - Agile Development helps to stay close with the mobile market evolution Rapid response on: ! Market development ! User feedback Not specific to software development but product development
  15. Page 18 | Mobile Application Development in an Enterprise Context

    | André Neubauer Backend Nothing Beats a Good API Design API provides a interface to consume services ! Web: internal/ external use ! Mobile: external use ! Use not under control ! Backward compatibility necessary ! Interface adjustment expensive API development: not up front but continuously
  16. Page 19 | Mobile Application Development in an Enterprise Context

    | André Neubauer Backend Nothing Beats a Good API Design ! Authentication ! Autorisation ! Versioning ! Logging ! Monitoring ! Quota ! Offline/ Sync, Source: Kurobe dam, Wikimedia Commons
  17. Page 20 | Mobile Application Development in an Enterprise Context

    | André Neubauer Testing ! Time-consuming ! Expensive ! Necessary Remind: Paradigm of Mobile Apps ! No „push-updates“ (depending on the developement technology) ! Dealing with the brand Start testing early and continuously – The complexity of the application grows by itself
  18. Page 21 | Mobile Application Development in an Enterprise Context

    | André Neubauer Testing ! Important due to different implementations, bugs and high fragmentation ! Device-specific testing very important (at least for native apps) ! Automatise as lot a possible/ sensible UI tests Integration tests Unit tests
  19. Page 23 | Mobile Application Development in an Enterprise Context

    | André Neubauer twidroyd (f.k.a. twidroid) The twitter & identi.ca Client for Android Phones Source: twidroyd, release notes
  20. Page 24 | Mobile Application Development in an Enterprise Context

    | André Neubauer twidroyd (f.k.a. twidroid) The twitter & identi.ca Client for Android Phones 75 releases in less than two years 18 releases due to critical bugs “why are you pushing new updates or changes so often? because we strive to fix issues and try out new ideas as soon as possible. bandwidth is cheap and most of our users love to test new features.” [twidroyd, FAQ]
  21. Page 25 | Mobile Application Development in an Enterprise Context

    | André Neubauer twidroyd (f.k.a. twidroid) the twitter & identi.ca client application for android mobile phones richeym: Twidroid constantly crashing on my HTC Hero, time to take a look at seesmic. Twitter – 2010/03/19 bodyallinkdup: #twidroyd app since latest update is failn sum bdy needa fix this ish Twitter – 2010/07/30 Qnowledge: Wtf @Twidroyd - why can't I read my fucking DMs! You guys are forever fucking up! Twitter - 2010/07/30
  22. Page 26 | Mobile Application Development in an Enterprise Context

    | André Neubauer Continuous Delivery != Continuous Deployment Don‘t Deploy Every Change! ! Deliver a business value ! Communicate a roadmap “What makes continuous deployment special is deploying every change that passes the automated tests (and optionally a short QA gate) to production. Continuous deployment is the practice of releasing every good build to users …” [ Continuous Delivery vs Continuous Deployment]
  23. Page 28 | Mobile Application Development in an Enterprise Context

    | André Neubauer Tracking/ Monitoring 2010:08:26 11:12:09 CEST |188.X.X.X, 10.X.X.X, 10.X.X.X |POST |/ api/xmlhttp/ RequestService;jsessionid=XXXB1C74AD3C8XX2E5A8XX330054.worker1 | |HTTP/1.1 |200 |2948 |26055 |- |ImmoScout/1.3.3 CFNetwork/485.2 Darwin/10.3.1 … Mark each request by the app ! Application version ! Platform version ! Device model (if necessary) Be careful with user specific data
  24. Page 29 | Mobile Application Development in an Enterprise Context

    | André Neubauer Tracking/ Monitoring ! Trend of the market ! Utilisation of features Multidimensional view about platforms and applications ! Fault isolation ! Performance optimisation Source: android developers, Platform Versions
  25. Page 30 | Mobile Application Development in an Enterprise Context

    | André Neubauer Best Practices To Be Continued … ! Needs-based thinking ! Let requirements drive the technology and architecture ! Don’t underestimate the API topic ! Start testing early ! It's all about brand
  26. Contakt: Immobilien Scout GmbH Andreasstraße 10 10243 Berlin Phone: +49

    (0)30 243 01-1571 Email: [email protected] URL: www.immobilienscout24.de Thank you for your attention! Any questions?