ToolboxesWednesday, April 2, 1997 by Dave Winer. Good morning! Only time for a short piece this morning because I'm heading up to San Francisco in an hour to sample a story that's been evolving for a few months, and is about to come to a head in dueling keynotes between the leaders of Sun Microsystems and Bill Gates of Microsoft. I wanted to write this piece to discuss my expectations, perhaps to influence the discussion in a positive way, and to see how different my expectations are from the reality. We'll see. Fat Pages FAQBefore diving into the looming drama, a progress report on Fat Pages. We now have a FAQ, so that interested technologists can evaluate the idea, offer feedback, and we can talk about deal-stoppers. http://www.scripting.com/fatPages/faq.html There have been a few changes, and the fat pages on the site don't conform to the new spec. They will shortly, of course. If you're interested in software distribution via the Net, I hope you'll take a look. Thanks! Sun versus MicrosoftIt's an old-style computer industry face-off. The surprise is that there still are old-style face-offs. I thought Microsoft won? Didn't they? Hmmm. I wonder what the software industry would look like if the Internet hadn't come along. Who would Bill Gates face off against? Where would he go for a source of heat? Today, it's clear, pun intended, that his heat is coming from Sun. It's just a languageSun's Java is just a language, like Pascal or C or C++, designed for very geekish developers, the kinds of people who build commercial applications, and mission critical corporate applications. Java is just a language until you add a toolbox. It comes with a small set of standard toolbox libraries called The AWT. But it's not a deep toolbox when compared to earlier development platforms. The Macintosh ToolboxThe Mac Toolbox was one of the major innovations of the platform, when it was first released thirteen years ago. The Mac wasn't a Pascal machine (that was its native language) it was a Toolbox machine. When you learned to program a Mac, you got a phone directory size book, called Inside Macintosh, that explained, chapter by chapter, how all the toolboxes worked. The Mac is a conglomeration of collaborating interconnected toolboxes. The Menu Manager, the Dialog Manager, the Window Manager -- there's one manager for each of the basic features of the operating system. Learning the Mac is equivalent to learning the toolboxes. Developing for the Mac was a study in understanding how the toolboxes connected with each other. The language was relatively unimportant, as it turns out. Even though the Mac started as a Pascal machine, most new software for the Mac is written in C or C++. This switch was painful for some, but it happened anyway, because developers preferred C to Pascal. The Toolbox is a Good Thing, even though some developers, including me, resisted it when it first came out. "I design user interfaces, that's what I do," I said at the time. Eventually I gave it up and went with the flow and used the same window code and menu code that everyone else did. There were tremendous advantages in sharing a toolbox. You could hire programmers from other teams and they could start working on your code right away. And the users liked it -- with standard user interfaces, they could use more software. And marketing people liked it too, because we could sell more software. It was a win-win-win. We just had to let go of some old ideas to let it happen. The disadvantage of the common toolbox theme was that it gave too much power to Apple, and they abused the trust often, holding back progress, making developers wait, and paralyzing the market at times when many of us wanted to move forward. No idea is perfect, even shared toolboxes, and I hope that Sun and others can learn from the lessons of the Mac platform, and not make the same mistakes, or allow Microsoft to make those mistakes by not offering a challenge to them. There's the differenceBill Gates apparently looked at Java and asked the same question a lot of us asked. Where's the toolbox? And he did more than ask the question, later today he offers an answer. Sun's answer appears to be "It's a developer opportunity." Wrong! We want standardization on the basic no-brainer stuff. We don't want competing ways to do scrollbars. If given a choice, I'm sure developers will go with a phone directory of standard calls that everyone uses. I'm sure most of us don't want Microsoft calling the shots, but in a vacuum, without a credible offering from Sun, what choice is there? An interesting dayI'm going to listen today. At 8:30AM we'll hear from James Gosling and Alan Baratz of JavaSoft. In the afternoon, at 3PM, a panel of luminaries will discuss the future of Java. And then at 7PM, we'll hear from Bill Gates. It should be quite a day! Dave Winer |