advertisement

Weblog:   Apple and Developers
Subject:   Missing the Issue
Date:   2003-07-01 08:58:57
From:   anonymous2
Almost all of the comments above have missed the core issue regarding Apple's developer relations, not the least of which would be the plethora of comments on market share and capitalism by people who really ought to either take an Economics course or go back and read their textbooks again.


Windows didn't become a popular development platform after Windows had significant market share. Rather the market share came about in large part because Windows was a popular development platform.


There are two things Windows has that even Mac OS X doesn't have, at least yet. The first is a flexible set of APIs that allows me to do things the way I want to. Unicode text imaging is a good example. On Windows, a developer can take as much, or as little, control over the layout of a line of text as she wants. On the Mac, you either eat the whole ATSUI pie, or you eat none of it. Another example is Apple's current preference fo Cocoa. If you want to have access to the new user-defined font groupings in Panther, you have to use the Cocoa font panel. (Well, you could write code that parses the pref files yourself, but that stands a pretty good chance of being broken at the next software update.)


The second thing developers want is a flexible, yet efficient, set of tools. Microsoft's Visual C/C++ doesn't generate the fastest code in the world, but it's acceptable given the ease with which one can use Visual Studio to develop new code. Xcode, on the other hand, appears to be a very fast way to write very slow code. And let's not even get started on Objective-C.


The problem isn't so much a matter of opportunity costs as it is a matter of absolute costs. It just plain costs more to develop new software for the Mac than it does to develop new software for Windows. Apple seems to understand this to a point, but they've not done enough to understand what software developers want in terms of tools and flexible APIs. Until Apple figures this out, people writing software for the Mac will be people who care about the platform as much as they care about writing good software that people will use. That ends up being a relatively small part of the developer community.

Main Topics Oldest First

Showing messages 1 through 1 of 1.

  • Missing the Issue Indeed
    2003-07-01 20:00:48  jmincey [Reply | View]

    You say, "Windows didn't become a popular development platform after Windows had significant market share. Rather the market share came about in large part because Windows was a popular development platform."

    Let me remind you that DOS was actually a popular development platform as well -- with its freewheeling cowboy days of coding directly to hardware and the like. At that time (in the early days of the Mac platform) Apple offered a much more structured development environment complete with tools and widgets (what the Mac then called the "toolbox") unheard of on the PC; but developers accustomed to the "anything goes" PC world rebelled against that -- and indeed they rebelled against Windows in the beginning for the same reason.

    So well before Windows came on the scene, and even in the few years thereafter, the PC (running DOS) ALREADY had greater market penetration. Thus it was never about such things as superior API's. Besides, the Mac had a de facto API which the DOS programmers found restrictive and confining.

    Why then did developers go with the PC? Developers were lured to that platform foremost for two reasons: First, while more mature software engineers were using Cobal on mainframes and BLISS on Vaxes, the PC programmers then were young hackers at heart who didn't really understand software development methodology and who resented the Mac as a "closed" system. Second, they were lured by the bigger market which the PC platform represented -- yes, even then.

    Years later, when the Mac opened its architecture to some degree and was first to reach a 32-bit platform, few developers were swayed because the motivations above still prevailed.

    I don't suggest that OS X is an ideal development platform -- it has some maturing yet to do in this regard. However, of those developers fluent in both Objective C and C++, most I know prefer the former over the latter. And I know a number of programmers who have had it up to here with the Windows registry and consider any Unix-based OS to be a much more open and pliable development platform than Windows ever could dream of being.

    Also, just as we never hear much anymore about Active X or other MS-developed technologies, today Microsoft itself downplays C++ in favor of its own .Net (which is an adulteration of Sun's Java). Speaking of which, the OS X platform has robust support of Java, and I expect Apple soon to move to version 1.4.2 now that Sun has released it a few days ago.

    In short, I don't find your reasoning very convincing -- because I think it fails to take into account that the PC was the dominant development platform LONG before Microsoft took the DEC Mica project and christened it "NT" and long before Gates knew what an API was.

Showing messages 1 through 1 of 1.