We spend our lives working with systems created by other people. From the UI on our phones to the cloud infrastructure that runs so much of the modern internet, these interactions are fundamental to our experience of technology - as engineers, as developers, as users - and user experiences are viral. Great user experiences lead to happy, productive people; bad experiences lead to frustration, inefficiency and misery.
Whether we realise it or not, when we create software, we are creating user experiences. People are going to interact with our code. Maybe those people are end users; maybe they're the other developers on your team. Maybe they're the mobile app team who are working with your API, or the engineers who are on call the night something goes wrong. These may be radically different use cases, but there's one powerful principle that works across all these scenarios and more. In this talk, we'll draw on ideas and insight from user experience, API design, psychology and education to show how you can incorporate this principle, known as discoverability, into every layer of your application. We'll look at some real-world systems, and we'll discuss how discoverability works with different interaction paradigms. Because, whether you're building databases, class libraries, hypermedia APIs or mobile apps, sooner or later somebody else is going to work with your code - and when they do, wouldn't it be great if they went away afterwards with a smile on their face?
YOU MAY ALSO LIKE:
Dylan Beattie: The Pursuit of APIness - The Secret to Happy Code
Dylan Beattie is a systems architect, developer, and Microsoft MVP, who has built everything from tiny standalone websites to large-scale distributed systems. He created his first web page in 1992, and he's been building data-driven interactive web applications since the days of Windows NT 4. He's currently the CTO at Skills Matter in London, where he juggles his time between working on their software platform and supporting their conference and community teams. From 2003 to 2018, Dylan worked as webmaster, then IT Manager, and then systems architect at Spotlight (www.spotlight.com), where his first-hand experience of watching an organisation and its codebase evolve over more than a decade provided him with a unique insight into how everything from web standards and API design to Conway's Law and recruitment ends up influencing a company’s code and culture.