High Tech Delight - Programming the 'Hard' out of Hardware • Suz Hinton • YOW! 2016

Learn how JavaScript and thoughtful UX can make hardware development more approachable and delightful. Explore community building, testing, and documentation best practices.

Key takeaways
  • JavaScript is well-suited for hardware projects due to its event-driven nature, low barrier to entry, and ability to run natively on devices

  • Out-of-box experience is critical for developer tools - focus on making first impressions positive and reducing friction for newcomers

  • Error messages should be human-readable, descriptive and helpful rather than technical/cryptic to improve developer experience

  • Building and nurturing an inclusive open source community is vital - provide good documentation, mentorship, and make it easy/fun for others to contribute

  • Think about developers as users - apply the same UX principles and empathy to developer tools as you would consumer products

  • The NodeBots community demonstrates how JavaScript can make hardware more accessible to web developers by leveraging familiar tools and concepts

  • Having clearly defined community goals and transparent governance models helps grow sustainable open source projects

  • Abstractions and higher-level tools (like avrgirl-arduino) can reduce complexity and make hardware development more approachable

  • Testing hardware projects presents unique challenges - focus on making testing easier through automation and good tooling

  • Personal projects and art can be a great way to demonstrate technology’s capabilities while delighting users in unexpected ways

  • Community can’t be bought - invest time in relationships, celebrate small wins, and provide support to grow engagement organically

  • Consider internationalization and accessibility when building developer tools and documentation