Life, Liberty and the Pursuit of APIness : The Secret to Happy Code
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 wrote his first web page in 1992 and never looked back. He's the systems architect at Spotlight (https://www.spotlight.com/), the UK's leading casting service for professional actors, where he works on distributed systems, hypermedia APIs and, and the challenges involved in introducing scalable architecture in a company where legacy systems generate most of the revenue.
Dylan is a Microsoft MVP (https://mvp.microsoft.com/en-us/PublicProfile/5002699) and a regular speaker at conferences and user groups, where he's spoken about topics including continuous delivery, Conway's Law, the history of the web, federated authentication and hypermedia APIs. When he's not wrangling code, he plays guitar and writes songs about code (https://www.youtube.com/dylanbeattie).
SharpCompress is a compression library in pure C# for .NET 3.5, 4.5, .NET Standard 1.0, 1.3 that can unrar, un7zip, unzip, untar unbzip2 and ungzip with forward-only reading and file random access APIs. Write support for zip/tar/bzip2/gzip are implemented.