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 — and it's called discoverability. In this talk, we'll draw on ideas and insight from user experience, API design, psychology and education to show how you can incorporate discoverability into every layer of your application. We'll look at some real-world systems, and we'll discuss how 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?
Dylan Beattie is a consultant, software developer and international keynote speaker. He’s the director of Ursatile, an independent consultancy based in London that specialises in helping organisations bridge the knowledge gap between software development and business strategy. Dylan has been building data-driven web applications since the 1990s; he’s managed teams, taught workshops, and worked on everything from tiny standalone websites to complex distributed systems. He’s a Microsoft MVP, and he regularly speaks at conferences and user groups all over the world.
Dylan is the creator of the Rockstar programming language, and he’s performed his software-themed parodies of classic rock songs all over the world as Dylan Beattie and the Linebreakers. He’s online at dylanbeattie.net and on Twitter as @dylanbeattie.