Net API Notes for 2019-09-04
Howdy!
I hope you were able to have some time off this past month, as I did. While that was fun, the calendar has now rolled over to September, the pace of intriguing articles is picking up, and we're about to hit the fall conference season. Time for another collection of Net API Notes!
NOTES
INTRODUCING MICROSERVICE API PATTERNS
In prepping for this newsletter, I review lots of content. After a while, I tend to see the same patterns repeat themselves.
Olaf Zimmermann, Mirko Stocker, Uwe Zdun, Daniel Lübke, and Cesare Pautasso noticed the same thing. However, rather than dropping a note and moving on, they did the smart thing and created a website. Microservice API Patterns (or MAP) is a collection of common elements of distributed system design. Further, while 'microservices' is in the name, much of what is described could apply to any net-based API.
All patterns follow a similar template. A pattern starts with a description of the context in which it is useful, an explicit problem to be solved, and so on through the consequences. While someone browsing might be tempted to grab a pattern at random, I'd recommend starting with the tutorial to see how the authors envision the site to be used.
INCORPORATING APIS INTO A JAMSTACK
I've been enamored with the 'JAMStack' idea for awhile. 'JAM' stands for 'Javascript, APIs, and Markup'. Whereas much of modern programming is marked by numerous levels of language complexity, containers, and various cloud configurations, JAM sites are notable for their simplicity. Also, where there is simplicity, there is easier securability, maintainability, grokability, etc.
While these sites may be simple, they are anything but static. Ray Camden has a recent tutorial entitled "Multiple Ways of API Integration in Your JAMStack. It covers the variety of ways that, with a bit of Javascript and/or pre-rendering, highly capable sites can be made.
"NON-TECHNICAL" WORK IN API DESIGN?
In August, I noticed that Bruno Pedro was running an interesting survey on Twitter. It spurred a decent amount of discussion that he collected into a post entitled "Non-Technical API Design".
While there are plenty of folks that muddle through the technical design of an API, Bruno bemoaned the lack of product design. The issue isn't limited to one industry or company size. As Jason Harmon pointed out on Twitter:
"IMO @bpedro is teasing at a software industry problem: a lack of product minded talent with a reasonably technical understanding of APIs. That, and management typically not understanding that APIs are a product in the first place..."
I'll second that. Over my past several jobs, I've seen a gap between product managers and what an API needs to be successful. I've written a bit about that in the past ("The Role of Product Management in API Design") but there's so much more to say. I've also pitched the rough outline of what I call a "Digital Product Management Boot Camp". However, there are only so many hours in a day. If that sounds like it would be useful to anyone else's org, let me know. If there's a demand, it might be something worth revisiting.
MILESTONES
- Calling all open source maintainers! Fran has had incredible success with AsyncAPI - so much so that he's looking for project maintainers for two projects. For API folks, this is an excellent opportunity to get involved with worthwhile community projects.
- Stoplight Studio launched. If you've ever considered creating an API definition in YAML and wondered if there was a better way, this freely available tool is for you.
- Mozilla has a fascinating recap of their challenges using the Facebook's Policital Ad API. The goal was to empower voters due to the growing influence of online advertising. Their findings... were troubling: "Instead of a tool, we have detailed documentation of every time the API failed and every roadblock encountered and a series of tips and tricks to help others use the API." Ouch.
- Gartner has a new document available for purchase entitled "API Security: What You Need to Do to Protect Your APIs".
- Have you checked out Standards.REST? It creates a great least of web-based solutions to common API problems. I wish I would have known about this site while I was creating my 'Overcoming Complexity' presentation. If that resonates, also check out the Web Concepts site.
WRAPPING UP
The meetups and conferences for the end of the year are coming up quickly. I also recently added the first event for 2020 to NetAPI.events! If there is a meetup, hackathon, or conference that is missing, reply to this message or send me an email directly. I'd be happy to add it.
I'll end this note by thanking my Patreons. Amanda Palmer had an exquisite Twitter thread about how important cultural norms are around paying for creative work. Thank you!
Till next time,
Matthew @libel_vox and matthewreinbold.com