How an Apple Developer Thinks
Thursday, November 12, 1998 by Dave Winer.
All of a sudden a judge in Washington is trying to figure out whether Microsoft sabotaged Apple's QuickTime for Windows.
But the other side of the question isn't coming out. Did Apple do everything they could to work around problems they were encountering in Windows?
Did Apple thoroughly test their software in Microsoft's web browser, or did they rely on Microsoft's claim of Netscape compatibility?
Did Apple have other avenues to explore before making it an anti-trust issue, even if Microsoft was blowing them off?
Did Apple check with other plug-in developers to see how they had worked around similar problems?
The trial also raises an ethical question. Can a platform vendor do things to favor their own software over developer's software?
And does the platform vendor have to work with everyone who wants to make software for the platform?
It is possible to deliver commercial quality software for a popular operating system without having a cordial relationship with the platform vendor. Every Mac developer knows about this. For many years Apple didn't answer the phone for anyone. The fact that there is a healthy base of content development apps for the Macintosh is proof that you don't need any help from the platform vendor.
You do it by bonding with other developers, sharing information and best practices, and stepping thru the code in a debugger to see how the OS is mangling your software, and figure out how to work around that.
Every step of the way you share info with other developers, for two reasons. First, they may shorten your development cycle (been there done that) or second, you can pave the way for the next guy to come thru the problem area. You leave a trail behind you when dealing with compatibility issues. The more open and visible that trail, the more support you'll get from other developers.
It's a good defensive position to take, and developers need good defensive positions. If we all work around the problem the same way, when the platform vendor breaks me, they also break you. Or on the positive side, if they test a new rev of the system with your software and not with mine, I'm still covered. No developer likes to be left standing alone when a new version of the system software breaks apps or system extensions.
As a developer, I know that software has bugs, and I've learned that it's the developer's responsibility to work around bugs in the OS, even if the the OS vendor deliberately put the problem in my way. Sometimes a change in the OS only breaks one *kind* of app. Is that a competitive move? Sometimes it can be, it certainly feels that way when it happens to you. But it's certainly not a matter to be decided as part of an anti-trust case, not unless all other reasonable avenues have been explored, and only if it's very clear that the software would have succeeded if the platform vendor hadn't interefered.
Taking it to court, where there aren't any plug-in developers that can help them, makes me think Apple isn't serious about QuickTime for Windows. It's Apple's job to make QuickTime work in the environments they want it to work in. I bet Microsoft still works around bugs in the Mac OS. We all do it. It's a fact of life, it's an imperfect world and software has bugs, even operating systems from big companies, especially operating systems from big companies.
Anyway, I'd like to understand what happened. If possible, I'd like to find and speak with the Apple engineer on this project, find out what the problem was, then get that on the web, in public, and ask other developers with experience working on Windows browser plug-ins for MSIE to comment.
It's too late to prevent the embarassment for our industry, the embarassment that comes from being so ineffective at working with each other that we have to bring our problems to the government. This isn't exclusively Microsoft's problem, it's a problem for our whole industry. Apple is the last company I'd expect to be pointing this particular finger. Historically, they're so bad at working with others when the shoe is on the other foot, when they're the platform vendor standing in the way of the developers.
Anyway, I'd like to be a force for good here. Let's show Apple that they can rely on other developers to help solve these kinds of technical problems. If they're in it for the long haul, they must have a stake in a system that works.
Working together we can make QuickTime for Windows work really well, why shouldn't it, and we can help make the Mac platform even healthier through more cooperation between the platform vendor (Apple) and Mac developers.
Let's work together.
PS: How about an XML parser system extension for the Mac OS? Is anyone working on that? The Mac has to be part of XML and vice versa. The customers want it, just ask the Seybold people.
PPS: Remember BOGU? We all have to do it. That message is for both Microsoft and Apple. I think Microsoft is closer to getting it because they used to do it so well. Apple has, in my opinion, never practiced BOGU. It's good for you. A little humility and even subservience makes better software. It's a yin-yang thing.