Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CodeFest 2018. Dylan Beattie (Skills Matter) — Life, Liberty and the Pursuit of APIness : The Secret to Happy Code

CodeFest 2018. Dylan Beattie (Skills Matter) — Life, Liberty and the Pursuit of APIness : The Secret to Happy Code

Посмотрите выступление Dylan: https://2018.codefest.ru/lecture/1246/

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?

CodeFest

April 09, 2018
Tweet

More Decks by CodeFest

Other Decks in Programming

Transcript

  1. Life, Liberty, and the Pursuit of APIness The Secret to

    Happy Code Dylan Beattie @dylanbeattie www.dylanbeattie.net
  2. How To Draw An Owl: 1: draw an oval for

    the head 2: draw an oval for the body 3: draw the rest of the owl
  3. Server Error in '/' Application Looks like you forgot to

    register the http module Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule. To fix this add <add name="PerWebRequestLifestyle" type="Castle.MicroKernel.Lifestyle.PerWebRequestLifeStyleModule, Castle.Windsor" /> to the <httpModules> section on your web.config
  4. A>

  5. A>hello Bad command or file name A>menu Bad command or

    file name A>help Bad command or file name A>
  6. A>

  7. A>if you're happy and you know it, syntax error Syntax

    error A>if you're happy and you know it, syntax error
  8. A>if you're happy and you know it, syntax error Syntax

    error A>if you're happy and you know it, syntax error Syntax error A>
  9. A>if you're happy and you know it, syntax error Syntax

    error A>if you're happy and you know it, syntax error Syntax error A>if you're happy and you know it and you really want to show it if you're happy and you know it syntax error
  10. A>if you're happy and you know it, syntax error Syntax

    error A>if you're happy and you know it, syntax error Syntax error A>if you're happy and you know it and you really want to show it if you're happy and you know it syntax error Syntax error A>
  11. FATAL •Application is completely unresponsive •Multiple users affected with immediate

    effect •Immediate attention. Stop what you’re doing and look into it.
  12. ERROR & WARN •They will happen. •ERROR – one person

    noticed, maybe? •WARN – nobody noticed but it’s still odd. •Individual messages probably aren’t useful
  13. log.Fatal Log.Error log.Warn log.Info log.Debug ――――― Wake_Me_Up_At_4AM_On_A_Sunday() ――――― Apologize_To_User_And_Raise_A_Ticket() ――――

    Make_A_Note_In_Case_It_Happens_Again() ―――― Everything_Is_Fine_Just_Checking_In() ――――― Fill_My_C_Drive_With_Stack_Traces() Adapted from a post by Daniel Lebrero / https://labs.ig.com/logging-level-wrong-abstra
  14. Life, Liberty, and the Pursuit of APIness The Secret to

    Happy Code Dylan Beattie @dylanbeattie www.dylanbeattie.net