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

Feature Flags on Android At BlaBlaCar

Feature Flags on Android At BlaBlaCar

Have you ever asked yourself, when submitting an app to the playstore and seeing a crash rising on your crash report : « If only I could deactivate this feature so I could correct the crash without impacting the users » ? Well, wonder no more ! There is a solution for this, and it’s called « feature toggle ». Some well-known websites are using it, but few on their mobile apps. At BlaBlaCar, we’ve been bold and implemented it inside our mobile apps.The main purpose of this improvement is to be able to activate or deactivate little features inside the app on the fly, without resubmitting an apk on the playstore. It can be used in case of crashes or when rollouting new features to a small group of users. In this presentation I will explain you how we defined our vision for this system, designed and implemented it inside our Android app.

Ea844bbe25d382c7eb96c711bed152d1?s=128

Alexandra Tritz

April 29, 2016
Tweet

Transcript

  1. Flaggr

  2. Alexandra Tritz Android dev @LexouThirteen #droidconzg

  3. What is ?

  4. None
  5. 120€

  6. 30€ 30€ 30€ 30€

  7. None
  8. User Feedback

  9. What is a feature flag ?

  10. A 'Feature Flag' (or Feature Toggle) is the ability to

    turn features (sub-sections) of your application on/off at a moments notice.
  11. None
  12. None
  13. None
  14. Feature flags @

  15. Our needs

  16. ➔ Merge my feature and put it in prod even

    if it’s not release time
  17. ➔ Disable a feature in production without submission

  18. ➔ Rollout a feature (locale, axis…)

  19. None
  20. Android side

  21. None
  22. None
  23. None
  24. None
  25. Architecture

  26. None
  27. None
  28. None
  29. None
  30. Caching

  31. None
  32. None
  33. None
  34. None
  35. None
  36. None
  37. None
  38. None
  39. None
  40. None
  41. That’s awesome !

  42. How can I use it ?

  43. None
  44. Benefits

  45. ➔ No submission needed

  46. ➔ Progressive rollout

  47. ➔ User feedbacks

  48. Library

  49. ➔ External module ➔ Agnostic to Input, storage ➔ Generic

    Types ➔ Limited API
  50. github.com/blablacar/flaggr-android

  51. None
  52. Slides available at : bit.ly/BBCFlaggr Leave feedbacks @LexouThirteen Follow us

    @BlaBlaCarTech Thank you