~/talk

Why we failed at modularizing our app. An honest retrospective.

Talkat droidCon Berlin 2019 · 2019-07-01..07-03· [android, frontend-architecture]
slides:none on file

Sky attempts to modularize a multi-flavor Android app and fails first because the team uses flavors to share code, picks the wrong first modules (streaming is tightly coupled, splash screen is worthless), and misuses Dagger causing cyclic dependencies and fragile singletons; a failed showcase app wastes time. The recovery is concrete: break features into black-box modules, treat modules as libraries, create a sample app per module, integrate early, use resourcePrefix to avoid collisions, and keep dependency injection and interfaces simple.

AI-written summary · about

  1. 0:00Introduction and setup
  2. 7:30Flavors and legacy architecture
  3. 13:53First modularization attempt
  4. 20:14Dependency injection pitfalls
  5. 24:52Keep it simple principle
  6. 28:08Overcomplicating modules
  7. 30:14Testing and showcase app
  8. 33:02Resource conflicts and scoping
  9. 36:16Key takeaways and advice
  10. 38:01Q&A and closing
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.