WhoBuilt

When “Good Enough” - Just Isn’t Good Enough

Sep 14, 2018· 29 min· 242 views·Watch on YouTube

Speaker

Jani Eväkallio, a software developer at Formidable Labs, speaks at React Slovenia about building React Native apps that meet users’ expectations for quality.

Web and mobile are different mediums

Eväkallio uses examples from art history to argue that skills transfer between mediums, but mastery takes learning each medium’s conventions. Web interfaces often require inventing patterns, while mobile users expect familiar behaviors shaped by platform guidelines and established apps. Small deviations can feel noticeably wrong.

Efficiency does not guarantee quality

React Native can reduce development time and cost, including by letting teams reuse expertise and maintain one codebase. But teams drawn mainly to efficiency may underinvest in user experience. Eväkallio argues that React Native has tradeoffs against native tools, yet can still deliver a strong experience when teams put in the work.

Mature teams make user experience shared work

Eväkallio describes maturity as the ability to build good products within real constraints. It includes caring about users, studying successful apps and platform guidelines, and testing the experience during reviews. Design, engineering, and management all need shared responsibility, with enough time and budget for the work.

Treat launch as the start of improvement

Eväkallio recommends setting realistic expectations, designing collaboratively, validating with users, and building a component library that teams can refine. Shipping an app begins an ongoing process of iteration. He uses Cézanne’s repeated studies of bathers to illustrate how sustained improvement can move a product beyond merely acceptable.

Takeaways

  • Treat React Native as a new medium with its own platform conventions to learn.
  • Plan for user experience work alongside the efficiency gains of shared code.
  • Review running software with users, not only code in a pull request.
  • Bring design, engineering, and management into shared UX decisions.
  • Use a component library and post-launch iteration to improve the app over time.

Mentioned in this talk

Search inside this talk

What was claimed 8

Related talks

When “Good Enough” - Just Isn’t Good Enough, Jani Eväkallio · WhoBuilt