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

Effective and efficient mobile engineering

Pratul Kalia
September 12, 2017

Effective and efficient mobile engineering

Pratul Kalia

September 12, 2017
Tweet

More Decks by Pratul Kalia

Other Decks in Programming

Transcript

  1. Effective and efficient mobile engineering pratul kalia @prxtl uncommon.is

  2. Over the last 4 years…

  3. ! 1. Contrasting with the Web 2. Product Design 3.

    The Platforms 4. Culture
  4. Contrasting with the Web

  5. Significant reduction in speed. ➔ Tightly coupled UI ➔ Changes

    to the backend can cause significant impact
  6. No dynamic updates! ➔ Closed “store” model ➔ React Native

    maintenance overhead
  7. Wait… how many versions? ➔ Multiple versions will be “live”

    ◆ Versioned APIs ◆ Remote kill-switch
  8. Product design

  9. Consistency is an expectation. ➔ Even from inexperienced users! ➔

    Push from Google/Apple ◆ Back button exit confirmation ◆ Slide to go back
  10. Low tolerance towards jank. ➔ Performance is important ➔ Perceived

    speed is important too
  11. Mobile devices have personal information. ➔ User privacy is critical

    ➔ Engineers are as responsible as the Product Designers
  12. The platforms

  13. Badly behaved apps have no place. ➔ Memory/CPU constraints ➔

    Disk thrashing is real
  14. Constant learning is imperative. ➔ Play Services division ➔ RecyclerView

    prefetch ➔ Read SMS-OTP API
  15. Don’t fake optimise. ➔ Splash screen delays ➔ Protobuf and

    JSON
  16. Security theater is a concern. ➔ Certificate pinning ➔ Protecting

    API endpoints ➔ Client-side encryption
  17. Culture

  18. You cannot fix with technology what is broken by culture.

    me.
  19. git is not Dropbox. ➔ Rollbacks ➔ Bisecting ➔ Hooks

  20. What is your bus factor? ➔ Documentation ➔ … Documentation

    ➔ … … Documentation
  21. Are you measuring the metrics? ➔ Data driven design much?

    ➔ Performance impact
  22. Effort does not mean progress. ➔ bugfix : feature ratio?

    ➔ The Mythical Man Month
 Fred Brooks ➔ Peopleware — Productive Projects and Teams
 Tom DeMarco & Tim Lister
  23. eof