> Markdown version of [/videos/759-awful-apis-a-history-lesson-in-industry-mistakes-and-mishaps?t=1549](https://www.wearedevelopers.com/videos/759-awful-apis-a-history-lesson-in-industry-mistakes-and-mishaps?t=1549). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Awful APIs: A History Lesson in Industry Mistakes and Mishaps Developers fled SOAP for REST, only to create deeply nested GraphQL chaos. Explore the hilariously cyclical history of APIs that finally led us back to sending raw HTML. - **Speakers:** James Seconde - **Event:** World Congress 2023 - **Published:** October 6, 2023 - **Duration:** 28:55 - **URL:** https://www.wearedevelopers.com/videos/759-awful-apis-a-history-lesson-in-industry-mistakes-and-mishaps ## Summary Tech history operates as a continuous wheel, often repeating past mistakes and reinventing old paradigms under new names. This narrative is perfectly illustrated by the evolution of the Application Programming Interface (API). Beginning with the transition from punch cards to early network communications, developers sought standardized, human-readable ways for machines to interact, leading to the adoption of Remote Procedure Calls (RPC) and the eventual shift toward complex microservices workflows. As the industry attempted to standardize data exchange, it introduced SOAP, a protocol notoriously burdened by heavily complex XML payloads. In reaction, REST emerged as a lighter alternative, leveraging standard HTTP verbs and JSON. However, despite the introduction of robust structural guidelines like HAL, HATEOAS, and the OpenAPI (Swagger) specification, developers routinely ignored these standards—treating them much like universally ignored 'do not tumble dry' tags on clothing. The ongoing quest for the perfect data transfer layer subsequently birthed GraphQL, which solved REST's rigid endpoints but introduced deeply nested, complicated query structures of its own. Ultimately, the industry's circular nature is highlighted by modern innovations like HTMX, Laravel Livewire, and Hotwire, which revert to the 15-year-old concept of sending HTML directly over the wire. The overarching takeaway is that while syntactic preferences and trending frameworks constantly shift, the foundational challenges of API design, documentation security, and standard compliance remain eternally relevant. **Keywords:** api design history, remote procedure call rpc, microservices architecture, soap protocol challenges, xml payload complexity, rest api standardization, http verb routing, hypermedia hateoas, openapi swagger specification, graphql query structures, htmx html over the wire, laravel livewire framework, hotwire for rails, api documentation compliance, data transfer protocols ## Chapters 1. **The wheel of time and software history philosophy** (00:03) — How examining historical milestones reveals the ultimately cyclical nature of software development logic. 1. **Invention of punch cards and early programming interfaces** (02:57) — How mid-century computing led to the conceptualization of application programming interfaces for standardizing machine instructions. 1. **Defining basic application programming interfaces with function code** (05:37) — Translating local function calls into conceptual models for communicating across varied software boundaries. 1. **Network communication evolution and remote procedure call implementations** (07:30) — Resolving the complexity of multi-platform computing by transmitting procedural arguments across network wires. 1. **The technical complexities of simple object access protocol** (11:32) — Managing the high overhead of transmitting deeply structured models over networks using bloated XML specifications. 1. **Representational state transfer and the adoption of HTTP verbs** (14:55) — Standardizing data exchanges using core network protocols to modify application state predictably. 1. **Failed standardizations and the impracticality of hypermedia architectures** (17:55) — Why attempting to heavily enforce hypertext engine states created unmaintainable and fragmented service integrations. 1. **Automating documentation and code generation with OpenAPI standards** (22:10) — Defining absolute endpoint schemas to enforce predictable behavior and auto-generate client tooling processes. 1. **Resolving complex data fetching requirements with nested queries** (23:27) — Abandoning rigid endpoint paradigms to request deeply relational datasets through specific custom client declarations. 1. **Server rendered component revival and cyclical software trends** (25:49) — Recognizing how modern frontend architecture is regressing toward sending raw markup natively across network boundaries. ## Related Moments - [Evolution of API interfaces toward declarative data fetching](https://www.wearedevelopers.com/videos/1054-graphql-does-it-replace-sql-rest-or-something-else) (from "GraphQL: Does it replace SQL, REST or Something Else?") - [Defining REST APIs and software development anti-patterns](https://www.wearedevelopers.com/videos/100208-rest-api-antipatterns) (from "Rest API Antipatterns") - [The enduring legacy of REST APIs](https://www.wearedevelopers.com/videos/1683-rest-in-peace-what-does-the-api-protocol-of-the-future-look-like-or-do-we-have-it-already) (from "REST in Peace? What does the API protocol of the future look like? Or do we have it already?") - [Common errors in REST API design and documentation](https://www.wearedevelopers.com/videos/100208-rest-api-antipatterns) (from "Rest API Antipatterns") - [Historical API failures and system security vulnerabilities](https://www.wearedevelopers.com/videos/1425-lessons-from-our-api-past-evolving-to-a-resilient-api-future) (from "Lessons from Our API Past: Evolving to a Resilient API Future") - [Understanding the core concepts of API design](https://www.wearedevelopers.com/videos/33-api-design-getting-started) (from "API Design - Getting Started") ## Related Articles - [Developers vs Scammers, Bad Design, AI is Pointless, AJAX is 20 and more - The Best of LIVE 2025 - Part 1](https://www.wearedevelopers.com/magazine/661-developers-vs-scammers-bad-design-ai-is-pointless-ajax-is-20-and-more-the-best-of-live-2025-part-1) - [The Web We Broke (And Why AI Agents Are Paying the Price) - AgentCon Berlin](https://www.wearedevelopers.com/magazine/735-the-web-we-broke-and-why-ai-agents-are-paying-the-price-agentcon-berlin) - [Dev Digest 139 - Soft and hard queries](https://www.wearedevelopers.com/magazine/487-dev-digest-139-soft-and-hard-queries) - [Dev Digest 126 - * yells at cloud](https://www.wearedevelopers.com/magazine/463-dev-digest-126-yells-at-cloud) ## Related Jobs - [Principal Software Engineer](https://www.wearedevelopers.com/jobs/ext/115163-principal-software-engineer) at **Twilio** - [Principal Software Engineer](https://www.wearedevelopers.com/jobs/ext/146806-principal-software-engineer) at **Twilio** - [Principal Software Engineer](https://www.wearedevelopers.com/jobs/ext/267587-principal-software-engineer) at **Twilio** - [Principal Software Engineer](https://www.wearedevelopers.com/jobs/ext/267591-principal-software-engineer) at **Twilio** - [Senior Software Engineer, Client Apps Platform](https://www.wearedevelopers.com/jobs/ext/1773893-senior-software-engineer-client-apps-platform) at **GitHub** - [Staff Software Engineer](https://www.wearedevelopers.com/jobs/ext/1425755-staff-software-engineer) at **GitHub**