While most major Mac developers have booked seats on the Mac OS X Express, few expect to reach their destination by the launch of Apple Computer's next-generation OS.
More than six months have passed since Apple chief executive Steve Jobs told attendees of May's Worldwide Developers Conference in San Jose, California, that Mac OS X was a train leaving the station.
His message was clear: stop writing applications for OS 8 and 9 and concentrate on Apple's new platform.
The ride since WWDC has been smooth for some Mac developers, while others told ZDNet News they have traveled third class. Whatever their berth, however, few anticipate fully OS X-native versions of their products until well after the commercial release of Mac OS X early in 2001.
Mac OS X offers developers three different sets of application programming interfaces (APIs), each with its own benefits and challenges. Classic is the same set used in the current Mac OS 9 -- it requires no changes from the current development process, but its applications can only run within OS X's Classic environment, which does not include the advanced features such as protected memory that bolsters OS X.
Carbon, the revised and updated subset of the Classic APIs, allows "Carbonised" applications to take advantage of the advanced features. For example, one failing Carbon application will not crash the system as it can in Classic.
The third API is Cocoa, which is based on the object-oriented environment inherited from NextStep, the progenitor of OS X. In theory, Cocoa provides for rapid and powerful application development, but it would require, say, Adobe Systems to rewrite Photoshop from scratch -- a hard sell for an established software package.
One issue common among developers is that Carbon has not yet been finalised by Apple, leaving product managers and programmers with the choice of either basing their work on a protean specification or waiting and perhaps falling behind the curve.
Microsoft has chosen both paths: its Macintosh Business Unit has said it will eventually produce Carbonised versions of such popular software as the Office productivity suite, although until recently the focus has been on development for the Classic and current Mac OS environments.
Explaining this choice in past conversations with ZDNet News, MacBU product manager Irving Kwong has called Carbon a "moving target". He added that it wouldn't be practical to risk having to go back through Office's 30-some million lines of code should the Carbon specification change significantly.
However, Microsoft spokeswoman Karen Sung last week told ZDNet News that Microsoft will ship a Carbonised version of the Internet Explorer Web browser "the day [OS X] becomes available to customers".
Another company that has stated it will deliver an OS X-native application is Connectix. According to Kurt Schmucker, Connectix director of product management, the company has been working on an OS X version of the Virtual PC Windows emulator and will ship it "shortly after OS X 1.0" arrives. Still, Schmucker said, the unfinished form of Apple's product means Connectix can't finalise its own: "There are still too many variables in the public beta."
"Carbon is by no means final," said Eric Trout, vice president of engineering at Connectix and a former Apple employee, "but they reached finality in the feature set a while ago", allowing for developers to make basic programming assumptions. "What's really holding us back is the I/OKit and various subsystems. "Though the I/OKit has been finally been delivered [though in pieces], various subsystems aren't there yet and some documentation isn't yet available for some that are. We work around such things." Having also been in software development for years, Trout said he finds the progressive release of resources not unusual.
Though Trout estimated that backtracking because of changes to Carbon and the I/OKit cost Connectix a few person-months of work, he noted that this is a relatively small amount of effort compared to the entire project.
"Apple's making very good efforts to make [the transition to OS X] as painless as possible, especially with such a difficult transition," Trout said. He noted that early on in the OS X plan Apple had hoped to offer only the Cocoa environment. "Forcing Cocoa was a disaster," Trout recalled, "Apple didn't get that at first."
Trout said some "key developers" were instrumental in convincing Apple to offer another alternative to requiring complete application rewrites. "We, like all developers, have a huge investment in learning APIs and Carbon preserves that," Trout said.
Bryan Lamkin, a senior vice president of professional publishing solutions at Adobe, echoed the assessment of Microsoft's Kwong: "Carbon is still sort of a moving target, but we're working closely with Apple, addressing issues within our own areas of expertise." He agreed that early demonstrations of Carbon, in which Jobs touted that an early Carbonised version of Photoshop took only two weeks of work, perhaps gave a simplified version of the effort required to adapt the image-editing software to Mac OS X. "There's a difference between showing off a demo and delivering a mission-critical application," he said.
Work is progressing, Lamkin said, although he did not see OS X-native versions of many applications following closely on the heels of the operating system's release.
"We're applying development resources to Carbon development now and are working through issues with Apple as we encounter them," he said.
Similarly, there is no announced time frame for a Carbon version of QuarkXPress, the page layout application from Quark. "We are in the process of Carbonising XPress," said Glen Turpin, Quark corporate communications officer.
The upcoming major revision -- XPress 5.0 -- will still be a Classic application, Turpin said. Quark will aim for "the one immediately following 5.0 -- probably a 5.x revision" for Carbonisation.
However, this will be "significantly after OS X is released," Turpin said. He noted that the Classic version of XPress 5 is "not in beta yet -- contrary to some published reports" and has no announced time frame for release. "We still have a few more cycles of closed, pre-beta sessions to go through before we can determine a release schedule."
Take me to ZDNet Enterprise
Have your say instantly, and see what others have said. Click on the TalkBack button and go to the ZDNet News forum.