
James Seconde
Oct 6, 2023
Awful APIs: A History Lesson in Industry Mistakes and Mishaps

#1about 5 minutes
Understanding the original concept of an API
An API was originally just a defined interface for one local application to talk to another, illustrated with a simple PHP function.
#2about 4 minutes
Communicating between machines with remote procedure calls
As computers became networked, Remote Procedure Calls (RPC) emerged as a way to execute code on a remote server, with JSON-RPC as a key example.
#3about 3 minutes
The enterprise era of SOAP and its XML complexity
The Simple Object Access Protocol (SOAP) was created for enterprise needs but introduced significant complexity with its verbose XML-based format.
#4about 2 minutes
Simplifying APIs with REST and standard HTTP verbs
Representational State Transfer (REST) simplified API design by leveraging the existing HTTP protocol, using verbs like GET, POST, and DELETE to manage resources.
#5about 5 minutes
The need for standards and common pitfalls of REST
Without clear standards, REST APIs can be implemented incorrectly, leading to security vulnerabilities and unpredictable behavior as seen with HATEOAS and real-world examples.
#6about 1 minute
Formalizing REST APIs with OpenAPI and Swagger
The OpenAPI specification (formerly Swagger) provides a standardized way to define REST APIs, enabling auto-generation of documentation, client code, and tests.
#7about 2 minutes
GraphQL as an alternative to avoid multiple API requests
GraphQL was developed to solve the problem of over-fetching or under-fetching data by allowing clients to request exactly the data they need in a single call.
#8about 2 minutes
History repeating with modern frontend frameworks
Modern tools like HTMX and Laravel Livewire are returning to sending HTML over the wire, echoing older web development patterns and showing the cyclical nature of technology.
#9about 1 minute
The cyclical nature of API design and development
The history of APIs demonstrates a repeating cycle of innovation, standardization, complexity, and simplification, urging developers to learn from the past.
Related jobs
Jobs that call for the skills explored in this talk.
11 days ago
(Senior) Product Owner (w/m/d)

aedifion GmbH
Köln, Germany
Senior
20 days ago
Senior Product Manager (f/m/d)

Apaleo
München, Germany
Senior
1 month ago
Software Architect Java (m/w/d)

Sopra Steria Custom Software Solutions GmbH
München, Germany
Senior