Session

Ejector Seats and Escape Hatches: Designing Your API to Fail

Tuesday,  Mar 23 | 12:00PM - 12:45PM US ET

Level: Beginner

I hate to break it to you: Your API design isn't perfect. Whatever abstraction you create, it will leak, and it will fail. I don't mean throwing errors; I mean something worse: building an API that doesn't allow what your users need to do.
We've got this problem big-style at Anvil, where we're simplifying web development by letting you build *everything*  in Python - including the UI and browser-side code. It's a challenge: the existing HTML/JS/CSS/framework ecosystem is fiendishly complex, and so huge that we can't possibly cover everything in a nice, Pythonic API - however carefully we design it. 
So we need to design our APIs to fail - and to fail well. In this talk, I'll be asking:
  • How do abstractions fail?
  • What happens when your abstraction prevents a user from doing what they need?
  • What are common strategies "in the wild"? Do you go down with the ship? Do you eject? Or can you build a real escape hatch?