Rev 3 of the Microsoft Scripting Environment block diagram.
Tim O'Reilly: "We are entering a new era, not of just open source but of profound technological changes."
Craig Mundie: "It is extremely difficult for a software company to generate revenue by distributing a program if everyone has the right to distribute unlimited copies of the same program free of charge."
BTW, numerous people have sent email saying that Breaking Windows is shipping. Imho, any analysis of Microsoft's public postings must be evaluated against the backdrop of what Bank's book tells us about their internal philosophy.
Craig Burton: "I have no idea what it would be like to wander around life with my irony meter limping at zero." I do!
Don Hopkins: Pie Menu Fasteroids.
Happy 54th birthday to Papa Doc.
Formats and protocols
Sitting in the lobby of the hotel in San Diego with Doc Searls and Craig Burton on Tuesday, I did a quick tutorial for Doc on formats and protocols. Here's how it went.
I took the hotel key envelope out of my left back pocket and opened it. The envelope has a form on it, it says what the room number is, has the checkout date, and a place for you to enter information rating the hotel's service. I said to Doc: "That's a format."
I took the key out of the envelope, and made an in-out gesture with it. "When I go to my room I slide the card in and out of the slot quickly, a green light comes on, and I flip the door handle, push the door open and enter the room," I said. "That's a protocol."
Exercise for the reader. How many formats and protocols can you spot in this used airline ticket?
No higher praise possible
Elliotte Rusty Harold: "XML-RPC is a clear case of the triumph of worse is better. It bit off the 90% of the problem that gave developers the features they actually needed. It ignored the 10% of the problem that caused 90% of the complexity in previous RPC systems."
Thanks. There's no higher praise possible. Perhaps I should retire now? Nahh.
Now at the same time he cuts me a new asshole in the SOAP chapter for a strategic mistake in the XML-RPC spec, viewed from the perspective of 3+ years in the future. In retrospect, I wish I had never typed in the word "ascii" when explaining what a string is.
He's right, there is little justification for this limit. When I wrote the spec, I didn't think it was a limit, I thought it was explanatory. He's also right that I didn't know much about XML in early 1998, but in all fairness, few people did. But that's it, and that that was the major mistake in a reasonably complex bit of technology is something I'm fairly proud of.
Net-net: XML-RPC and SOAP are different things. One is frozen, so its limits are well-known. The other is afloat in a sea of W3C working groups, doing their best to not break it too badly. I love them both, and am still working to make both more useful.
A note to Harold, I think our Busy Developer's Guide to SOAP 1.1 deserves a mention in one or both of the chapters. It is far more detailed in its explanation of encoding than the XML-RPC spec. Yet it retains the simplicity of XML-RPC while adding the advantages of SOAP 1.1. It was written three years after the XML-RPC spec, and incorporates a lot that we learned. It's a good balance, a good way to get interop with Microsoft and IBM and other BigCo's, and not commit to eighteen years of evolution.
Another feature of the BDG which, imho, will eventually make Python developers love SOAP is that the BDG has null values.
Monolithic formats and protocols
Harold also has a chapter on RSS. It's pretty balanced, unlike many of the supposed histories, he just gives the facts and tells it like it is. I agree with much of his appraisal.
Harold uses a term I had not heard before: monolithic. Here's the case for monolithic specs. XML 1.0 is very nice, well-specified, and has the answers to most questions that come up when building applications. However, the work that came after the 1.0 spec is nowhere near as useful, and totally not stable, so I build specs that do not depend on them, whenever possible. That's what "monolithic" means in this context.
It's a strategic decision, and because RSS is monolithic, we adopted it at UserLand and nutured and developed it as if it were our own. Then, last August, a fork erupted, and unfortunately took the name of the monolithic format we believe in. That was bad news. Since then we have not been able to recommend the format without reservation. Ugh.
A new form of literature
BTW, a hat-tip to Harold. This is the way to write a book. Put the chapters on the Web as you write them, inviting pushback, and perhaps incorporating that into the book as it develops.
It also gets the book pointed to, gets the readers involved, giving them a sense of ownership, and therefore are more likely to buy it when it appears in print.
And don't overlook the importance of having it indexed by the search engines. In a few months when the book is out, it will probably appear near the top of Google searches for RSS, XML-RPC and SOAP, among other key words. I know that a pointer from Scripting News is a good reference for the ranking algorithms on Google. Just put a Buy Now button in the template. It's a good way to make a book a standard reference, and make more money at the same time.
It's also a sophisticated and courageous way to publish books. I've encouraged others to do it, and I'm pleased to see Harold do it so well. Congratulations and best wishes for much success with the Web-like approach to book-writing.
Talking Moose: "Lots of people seem to think I'm Scoble."
Meanwhile the Moose, who is clearly not a programmer, talks about motivating programmers. Oy. Hellllp.
If you want a clue Mr. Moose, please read this piece I wrote in 1997. "When a programmer catches fire it's because he or she groks the system, its underlying truth has been revealed. I've seen this happen many times, a programmer languishes for months, chipping at the edges of a problem. Then all of a sudden, a breakthrough happens, the pieces start fitting together. A few months later the software works, and you go forward."
There's not a lot of room in that process for marketing guys "motivating." Now, since the Moose is obviously a marketing guy, let me blast back with some advice from a geek to marketers. And if you want programmers to be happy get people like Elliotte Rusty Harold to write glowing praise of our work. Like all people, programmers like to be appreciated. And since we're mostly men, we like what men like -- to be thought of as heroes, fighting the good fight for the Folks Back Home. It's pretty simple. Appreciate the work for what it is (we can tell if you don't Get it), and help everyone else understand how nice and smart we are.
10/7/95: "I handed the note back to Kawasaki. I told him that I wanted to meet Mr. Gassee. An executive that actually uses software. What a concept! I had to find out what one looks like."
And yes, a quiet place to work and not too many meetings, and an occasional outing and some personal time, and you've got yourself One Happy Geek. (Or OHG -- don't forget that programmers love acronyms.)
And also please don't forget to buy us lunch on Tuesdays.
© Copyright 1997-2005 Dave Winer. The picture at the top of the page may change from time to time. Previous graphics are archived.