inessential by Brent Simmons

XML-RPC and OS X 10.2.5

I’ve received email from people this morning telling me that OS X 10.2.5 will contain fixes to Apple’s XML-RPC code. Which I think is great. I had no doubt they would fix the bugs.

Now, I don’t get pre-release copies of the system, so I can’t confirm this. But, assuming it’s true, the obvious question for me is: why not switch back to the system-supplied XML-RPC code?

Here’s why I do not plan to switch back:

1. My philosophy is to always use system-supplied code whenever possible. My time can be much better spent in ways other than re-inventing the wheel. However, I already have re-invented the wheel in this case. There’s a value to being in control of the source code. If I want to or need to add features, I can.

2. My XML-RPC code runs on systems previous to 10.2.5. I don’t want to require that NetNewsWire users run 10.2.5.

3. The code is designed to be forgiving of things like unencoded ampersands and characters outside of the XML-RPC spec. It has to be forgiving, because not all of the various weblog publishing systems return perfectly valid responses all of the time. (That’s just a fact of life. It’s not my job to be an XML cop. I’d rather just have things work.)

4. My code is in the form of a set of Cocoa classes. Apple’s code is procedural. I prefer using Cocoa, since NetNewsWire is a Cocoa app. It fits better.

5. My code uses CURLHandle, which is what NetNewsWire uses to read feeds and so on. There’s a value to using the same HTTP client software throughout the app. For instance, once I fix the bug with authenticating proxies in the news reader, I can fix it in the XML-RPC code at the same time, since the fix will be the same.