Net API Notes for 2020-03-25 - Issue 125
I usually do the in-person meetups and conferences at the end of the newsletter. However, due to the number of pandemic-related cancellations, shelter-in-place orders, and future uncertainty, I thought I'd address it at the top.
Gluecon postponed their event to October. Nordic APIs announced they were postponing their Austin API Summit. If those weren't enough, O'Reilly announced they were laying off their event staff and ceasing physical events not just in 2020, but forever. I've updated Net API Notes.
For those that may not be familiar, O'Reilly ran numerous conferences over the years. There was the bi-coastal Software Architecture Conferences, the Strata Data & AI Conference, Events on Smart Cities, DevOps, Tensorflow, and more. Their most prominent and well known to most developers, however, was OSCON, or the Open Source Conference.
Most of the reaction was disappointment but understanding. There were a few critical statements. I've heard rumors, on more than one occasion, that O'Reilly's conferences have had poor financial health for some time. Then they caught a global pandemic.
In her announcement, O'Reilly President Laura Baldwin called the current situation "a new normal moving forward when it comes to in-person events". She then cited the availability of their online offerings.
There are undoubtedly more efficient ways of delivering instructional material, at scale, than an in-person event. However, the reason I started encouraging community gathering through sites like NetAPI.events wasn't that meetups and conferences are the best instructional arrangements. I did it to support shifting mindsets, something more easily possible with the signaling that comes with a change in perspective or a change in physical space. This phenomenon is called "the magic circle," and I wrote about it six years ago. Others refer to this as "the Hallway track".
It's increasingly clear, to me, that the world that we'll emerge into after sheltering-in-place is not going to be the same one we left. We won't resume life as we knew it, and that includes how we approach developer conferences. I agree with the sentiment that "a new normal" is emerging. However, I hope we don't sacrifice what made these events valuable in the process.
NOTES
PRISM, HOVERFLY, AND MEESHKAN FOR API MOCKING AND DEVELOPMENT
Mike Solomon, in a fairly comprehensive article, compares and contrasts three different ways of creating API Mocks. First, he highlights how Prism can ingest an OpenAPI description and create a rudimentary mock based on the contents it finds. Next, he demonstrates how Hoverfly can be used to record traffic between a client and API, subsequently creating a mock that way. Finally, Mike shows how Meeshkan is a combination of both approaches.
When it comes to mocking, it is a mistake to assume that one size fits all. I appreciate this comprehensive overview of all the different approaches available.
HOW TO MAKE GRAPHQL WORK FOR YOU
In a recent piece, Nordic APIs' Bill Doerrfeld talked to Devlin Duldulao, Didier Micoud, and Diana Suvorova. The piece was titled "How to Make GraphQL Work for You". There were the usual bullet points about how a query language approach can reduce the number of client requests and is more front-end friendly.
I could pick apart both of those over-generalizations. However, what excited me more about the piece is the practical advice beyond the hyperbole. Pragmatically reminding readers that there are "no silver bullets" and that there may be higher upfront costs is significant. It represents a more mature set of storytelling as theorists become practitioners, and we move into operationalization across a higher number of orgs.
HOW STRIPE DESIGNS APIS
This is a video from last year, Romain Huet discusses how Stripe designs it's APIs. It's a thoughtful watch for many reasons. However, I appreciated his comments in regards to how obsessive Stripe is about its design.
Starting at the nineteen-minute mark, he describes several high-level principles that I wholeheartedly support, like no industry jargon, use of nested structures that inherit meaning from hierarchical parents, etc. There were also suggestions I hadn't thought of, like encouraging usage of enums over booleans (for more on doing enums, or enumerated types, check out James Higginbotham's piece over on Tyk).
The bottom line, however, is Romain's larger message: good API design, like Stripe's, takes time. They obsess over it, they work on it, and they know that good design is not any one single thing but an aggregation of many incremental, seemingly trivial things.
MILESTONES
- A few weeks ago, I lamented the lack of good Covid-19 API options. There's been some additional popping up. I can appreciate wanting to contribute. One useful thing, not just for these types of APIs, but for all, is to document where the data is from, how often it is updated, and a simple roadmap for what might be incorporated at a future date.
- The digital version Production Ready GraphQL, a new book from Marc-Andre Giroux, is now available for $39.99.
WRAPPING UP
As I mentioned, check out NetAPI.events for ongoing updates as events are shuffled around. If you know of a meetup, hackathon, or conference that isn't there but should be, let me know by replying to this message.
I'll end with a thank you to the Patreons who support my writing. They're covering quite a bit of caffeine atm.
Till next time,
Matthew @libel_vox and matthewreinbold.com