Women in Technology

Hear us Roar

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.

Full Threads Oldest First

Showing messages 1 through 5 of 5.

  • Missing the Issue Indeed
    2003-07-01 20:00:48  jmincey [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.
    • Missing the Issue Indeed
      2003-07-03 07:32:18  anonymous2 [View]

      First, the claim that Windows became a popular target platform because DOS was a popular platform before it is patently absurd. The two represent completely different programming paradigms. DOS programmers could have just as easily moved to programming the Mac as the could have moved to programming Windows. Indeed, as you point out, DOS programmers were as reluctant to start coding for Windows as they were to start coding for the Mac. Windows doesn't gain all that much by virtue of having been written to run on top of DOS. People still had to buy new hardware to start writing code for Windows.

      Second, the discussion isn't about which platform is "surperior" in some way or another. It's about whether or not Apple have figured out what developers want. The fact that Apple chose Unix as the underpinnings for OS X isn't much of an indication that they have figured this out given that much of the design of Aqua still reflects much the old Apple attitude about their way or the "wrong" way to do things. Nor, for that matter, does the fact that OS X's support for Java is better than Windows' support give any more of an indication that Apple have figured this out.

      And, no, I haven't accounted for the fact that the PC, indeed Windows, was the dominant target platform long before David Cutler started making foot-sized holes in the walls of Building 8. I don't quite see how it would be necessary for me to do so in order to substantiate the point.
    • Missing the Issue Indeed
      2003-07-01 20:36:27  anonymous2 [View]

      Bravo, jmincey! Excellent reply to Mr.Economy.

      It seems Apple it doing everything right with respect to developers: free access to up to date documentation, free developer tools, SDKs, etc.

      Give it a time. When critical mass of development achieved and Mac OS X matures, it will become a platform of choice on desktop, no question about it.
      • Missing the Issue Indeed
        2003-07-03 07:41:58  anonymous2 [View]

        Apple claim 300,000 registered developers. One wonders what would be a "critical mass of development".

        One also wonders what would constitute "maturity" with respect to OS X. Would that, perhaps, have to do with the broad range and flexibility of the APIs one can use to accomplish what one wants from the development point of view? Has anyone actually tried to use Quartz for text imaging?

        I find your article wanting for lack of specificity. And, if you really wanted to be insulting, the correct term would be "Mr. Economist."
        • Missing the Issue Indeed
          2003-07-03 10:53:29  anonymous2 [View]

          Sorry man I didn't mean to insult you. Please forgive me.

          About the critical mass and maturity:
          Mac OS X still is catching up with others: they just released Java 1.4, X11 is still coming, Cocoa is strong but still improving, Carbon has been having bugs worked out etc
          If you followed those developments from let's say 2000, you'd see how much Mac OSX changed.
          By critical mass I mean both the coverage of applications range and absolutely killer application (good example for now would be a Clicker)

          Good day, man and Peace!

Showing messages 1 through 5 of 5.