We think a lot about developer ergonomics at Daily. And, zooming out, Java and Kotlin are just the tip of the iceberg of that for us.
All of these SDKs and libraries cover mostly the same ground. And we think of ourselves as having just a single product at Daily.
Our customers use our APIs to build applications that send, receive, and record video and audio no matter what platforms they’re running on.
But the platforms we support often have really different conceptions of very fundamental things like how a run loop is structured and how to write asynchronous code.
This is an age-old challenge for cross-platform libraries, and it’s an example I think of a general challenge that comes up in all design work: trying to do multiple things well that are fundamentally in tension.
I think of this in my own brain as the “squaring the circle” problem. It’s both frustrating and also super fulfilling to try to come up with elegant solutions that square the circle.
The team that is responsible for our SDKs at Daily is called daily-x, because we have daily-js and daily-ios and daily-android, et cetera. The daily-x team spends a lot of time talking about how to square the circle of cross-platform ergonomics and API consistency.
If you have ideas for us, let us know. We’d love to hear.
Today’s music is “The Meetin’” from the 1961 Oliver Nelson Sextet album, “Screamin’ the Blues.” Eric Dolphy and Richard Williams.