Saturday January 17, 2026; 10:50 AM EST
How XML-RPC started up

As with the previous podcast I asked Claude.ai to write the show notes. It makes mistakes, so you have to listen to the podcast if you want to know what I really think. This time it wrote it in the first person, not third person which I would have preferred. At the end I have some of my own notes. DW

This story about XML-RPC's creation in 1998 feels relevant because we're on the verge of something similar today, but this time it might go much further.

Frontier was a comprehensive scripting environment with object database, editor, debugger, and extensive verb set that provided one unified way to do things instead of JavaScript's fifty million ways. It had excellent networking capabilities and was deeply integrated for desktop publishing and magazine pre-production.

Apple felt threatened and didn't appreciate what we were doing - there was a lot of bad stuff happening at Apple, and we were part of one of the bad things that happened there. We couldn't depend on the Mac anymore and had to convert to Windows.

The core problem was communication between Mac and Windows systems with their completely incompatible networking. The solution hit me and I wrote a blog post called 'HTTP plus XML equals RPC' - a way to make everything work the same way.

Bob Atkinson from Microsoft called after reading my blog. Bill Gates was a regular reader and would forward posts around the company, asking people what they thought. This meant everyone at Microsoft was up to date on what I was doing.

We set up a meeting at Microsoft in Redmond with Bob and another programmer whose name he changed later. These were experienced Microsoft programmers who had done important projects but didn't want to become managers - they wanted to keep programming.

The spoiler: it's much easier for an independent guy like me to do something like this than for guys inside a big company. Even well-compensated programmers with big titles can't get something like this to happen inside their company.

I'd seen this before at Apple with the number two guy who wanted me to do a scripting environment because he couldn't get the Apple engineers to do it. Once Apple engineers got wind of it, they put roadblocks in our way - developers shouldn't hold back progress.

Don Box, another independent guy, joined our one or two day meeting at Microsoft. We had discussions, sketched ideas, then went back and worked. The Microsoft team sent me an example, and I questioned every detail over the phone.

Their idea of networking was radically different from mine. My idea was RPC - remote procedure calls - because every programmer understands function calls at the most basic level. Everything is a function call if you go deep enough to machine language.

They wanted objects, classes, and extensibility. I said let's go for it and documented everything immediately. I sent the document to the other three guys and never heard back from any of them - complete silence despite my follow-ups.

I published XML-RPC without their names, feeling conflicted since it wasn't entirely my creation. But we built the reference implementation in Frontier, put up a test server, and evangelized it like crazy through my widely-read blog.

Years later, it surfaced inside Microsoft as SOAP, which went to the W3C. I attended the first meeting with 100 people in the room - full-time standards people and representatives from major tech companies ensuring they were represented.

The W3C process didn't yield anything useful, whereas XML-RPC did. The problem was that within large, complicated companies, ideas couldn't stay simple - they had to accommodate everything. This was what was wrong with the tech industry being brought to the web.

The warning for today: be careful when you think 'what can go wrong?' Just because you haven't thought of a problem doesn't mean it's not there.

Notes (written by DW)

I got the name of the blog post totally wrong. It was RPC over HTTP via XML.

I sound really tense in this podcast, I needed to do it quickly, but my memory of what happens was imperfect. Didn't have the time to do all the research that's pretty much all in my blog posts in 1998.

And I did make one big mistake, but corrected it quickly. I knew what happened inside Microsoft very soon after XML-RPC was released, it was SOAP, a process I explain here. Collectively, they were just trying to recreate the networking world they all were familiar with, and trying to come up a way to bridge all the different approaches. I think we all would have done much better to skip all the W3C meetings and start to build apps on XML-RPC, and convene a meeting a year later with the developers only and figure out what we want to do next, based on actual experience using the earlier work.

XML-RPC was a seed, but even thought Microsoft internally fully understood the potential, they never built on it.

2026 to me feels similar to 1998, but as with the last time, the potential is in the web, and getting away from corporate strategies, instead following the grain of the web, and leaving it up to the companies to adapt. That can work, btw -- it happened with podcasting. But you have to be scrupulous, working for all developers, not just ones at big corporations, and empowering users, or you don't do it. ;-)

Current links