|Home » Learning Curve » Hotspots
Apple's Cross-Platform Bait & Switch
The long term supporters were led down the garden path. Systematically.
From 1997-1999 third party Apple developers were led to believe the coming OS X would be cross-platform compatible. Especially with Windows. In fact they regarded compatibility with Windows to be crucial to their own survival. But as time went on Apple's promises gradually eroded and the third party developers - and the world - were left with something entirely different. In 1997 Microsoft had not yet come out with the successors to Windows 95 and Windows NT 4.0. The market was still not closed.
Scott Anguish tells the story from his perspective as an attendee of the WWDCs 1997-1999.
Registration and marketing. Today was the Marketing Day at WWDC'97 and the NeXT Enterprise Alliance Partners/Corporate User Group meetings. This was a full day of sessions with Apple Enterprise Group folks talking to representatives of some of the largest installed NEXTSTEP and OpenStep clients as well as the ISVs that service them.
What was clear today is that Apple have got the cross-platform idea and are going to be very clear on this from now on. This is probably the best piece of news many of us have heard in a while on this topic. There is no unclear message here. This is being spelled out for everyone. If you don't hear it it's because you aren't listening.
Keynote. Apple are focused on cross-platform and made that very clear today.
What's in a name? In some cases the names have changed and in others they haven't. Late last week Mitch Mandich finally renamed NeXT Software Inc the Apple Enterprise Software Group. So for all intents and purposes NeXT Software doesn't exist as an entity anymore. Considering what us long time NeXT developers and advocates are getting out of the deal I'll accept that.
Windows runtime pricing announced. 'Free'. Developers will be able to ship cross-platform Yellow Box apps on Windows 95/NT boxes with no licensing fees!
Demos. John Landewehr gave a great cross-platform demo of Rhapsody running on NT. It was a multimedia take on the standard Steve Jobs IB demo but it was very effective. He created a new app in Interface Builder, dragged a QuickTime view from the palette window, and connected buttons to the view for opening and playing the movie. He then ran the application in 'test mode' in Interface Builder and opened and played a movie. The attendees loved it even though it really is the most basic of OpenStep capabilities.
His second demo was even better. He created a small WebObjects application in WebObjects Builder that allowed you to type in a movie name and it would pull clips out of a database and play them. Again a very simple demonstration of WebObjects but it had a lot of impact on the crowd.
OPENSTEP 4.2 January 1997.
Avie Tevanian brought up a demo of the current running Rhapsody on PPC and gave a very quick demo of Stone Design's Create. It was a recompile of the currently shipping OpenStep product, demonstrating the OpenStep APIs are a clear headstart on Rhapsody.
Throughout all this not one application crashed. That in itself was pretty surprising to see during a WWDC keynote.
Winning their hearts and minds. Of the speakers (Gil Amelio, Jon Rubinstein, David Krathwrol, and Avie Tevanian) I think Avie probably had the toughest job of trying to sell himself to this group of Macintosh developers. He had to win their hearts and minds in order to start building the trust many of us from the NeXT world already have for him. I think he did a pretty good job of that.
He concentrated initially on the MacOS 8, delaying the Rhapsody stuff till last. I think this helped to demonstrate he understands the MacOS is crucial for their business to succeed.
When it comes to the file system there were some interesting pieces of information. The OS will be supporting a wide variety of volume formats. All of the different APIs to the filesystem - the Yellow Box, the Blue Box, and the POSIX APIs - will all talk through a POSIX++ layer which will in turn talk to a vfs switch.
The issue of case sensitive file names was addressed here. File names are not going to be case sensitive but will be case smart. If there are two files on an existing volume (say NFS or UFS) one named 'MixedCase' and the other named 'mixedcase', you will be able to specify the case and will get the file you request. If however you asked for a file called 'mixedcase' and only the file 'Mixedcase' existed on the volume, it would be the file accessed. This seems like a good trade-off, eliminating the dependency on case while still supporting it. It was disturbing that some of the Apple developers in the audience actually booed this extra level of compatibility. This happened more than once during this session.
The most functional of the volume formats supported will be HFS Plus and AppleShare. HFS Plus has solved the small allocation block problem and supports multi-terabyte volumes. There is support for 255 character Unicode file names and HFS Plus will support extensions for Rhapsody APIs that will handle file permissions and soft links. The goal here is to make the file system take care of the implementation details but allow all the APIs to work as best they can on different volumes.
The additional volume formats that will be supported will be UFS, FAT, VFAT, NFS, ISO/0660 and HFS. Developer release will be BSD UFS only. Apple will be implementing Macintosh style aliases.
NSText 101. Ali Ozer described the NSText object that is included in OpenStep 4.2 and how it is ready for internationalisation.
Any time you see text on the screen in OpenStep it is using the facilities of this object. This includes menus, window title bars, and panels.
The object was built with high end text editing and internationalisation in mind. It handles multiple fonts, graphics, paragraphs, styles, ligatures, kerning, diacritical marks, and input managers.
Ali went through the various situations that can be encountered for handling complex text issues such as multiple columns and flowing around graphics.
Input managers for alternate languages were discussed.
Rhapsody Finder. The Rhapsody Finder details were outlined today. The best news is the Rhapsody Finder will support plugin views, allowing developers to create alternative views on the file system or even remote file systems. The OpenStep Workspace browser mode will be available including the shelf and path as one of the plugins. This is great news for us OpenStep users. The DR will be the current OpenStep Workspace with small changes.
As far as the hotly debated issue of file types and creators are concerned they will be available on file systems that support them but there will be a fallback to the file extension if it exists and the file type / creator information is not provided.
The issue of creators and multiple users isn't sounding as positive and it seems ignored. I hope you will be able to override the creator information like you can with OpenStep's Inspector view and assign the default application for a file type as you can now.
The Mac Finder will be separate as well and again the reasons for this were outlined. Many apps and inits and AppleScripts rely on the current MacOS Finder and its bugs and oddities to work. Since it is a Blue Box application the Finder is vulnerable because it runs in the Blue Box environment. If another Blue Box application dies it can take the Finder out with it.
The current plan is that you will not be able to drag and drop from the Blue Box to the Yellow Box or vice versa. They feel this is the best they can offer right now.
OpenStep Developer APIs and frameworks. It was stressed they are pushing to adopt industry standard formats and implementing them in the AppKit and Foundation, allowing your apps to leverage off their work even after you have deployed it.
Both the Services menu and pasteboard filters will be supported in Rhapsody.
John Carmack of id Software updated his finger plan with some detailed information on the implementation of the demo of Quake the other day.
Fireside Chat with Steve Jobs.
Someone asked specifically about Larry Ellison and Apple. Steve said Larry is his best friend and he had tried to talk him out of buying Apple because he believes in the current strategy. He felt a company might be able to do a single operating system well and a company like Apple might be able to do two - but he had reservations about being able to do three different operating systems.
OpenStep 4.2 is proven. It is based on NEXTSTEP technology that has been shipping for 8 years now. Enterprise Object Frameworks has been well recieved in business circles and WebObjects is a leading edge product that offers what few others can. Every developer here went away with stable polished copies of these technologies to get started using and learning. If they don't take advantage of this there are definitely others that will.
Note: this is from the 1998 WWDC starting on 19 May 1998. Windows 98 was released five weeks later on 25 June 1998.
One thing you need to keep in mind while reading the WWDC conference information: despite many statements to the contrary during various sessions Rhapsody/Intel 1.0 is the last version of Rhapsody for Intel.
In fact Rhapsody 1.0 is the last version of Rhapsody period.
At this time Apple have not committed to providing Mac OS X on any platforms other than Power PC G3.
I believe this is something that can be changed by the marketplace and by us. I will point out again Apple have commited to Yellow Box on Windows long term. DR2 does run in the Windows 98 beta and there are versions in the labs running on NT 5.0 betas.
Steve and Avie's keynote. The keynote this morning was mainly about the convergence of Rhapsody and MacOS which is to be called Mac OS X (ten). The current MacOS toolbox (8000 calls) has be revamped so that 2000 of the calls will be replaced and the other 6000 calls will be kept.
This new toolbox is called Carbon. The impression I get is these 2000 calls have been a problem to get working in what was the Blue Box environment. The actual segregation of apps between the Blue Box and the Yellow Box was a problem as far as users was concerned. This eliminates that.
The current schedule is as follows.
- Carbon spec - available now
- Rhapsody CR1 - available Q3 1998
- Mac OS X beta - Q1 1999
- Mac OS X 1.0 - Q3 1999
The lack of mention of Yellow Box or Intel has raised a large number of questions. In speaking to Apple folks here I get the distinct impression they know the cross-platform story is very important to Apple's success but until we are given a clear statement of intent people will be concerned.
Cross platform. Yellow Box on Rhapsody, Mac OS X, and Windows is designed to sport a UI that is consistent with the target platform but that is not a lowest common denominator situation.
Miscellaneous. As I've said in several other places tear off menus are now implemented in DR2. Their position is remembered from session to session.
What's planned for Rhapsody 1.0? ActiveX support on Yellow Box Windows. This was quite cool actually. By dropping an ActiveX web browser into an Interface Builder window and making a couple of connections it was simple to download and view and interact with a web page.
DR2 changes the directory structures that have been used in OpenStep in the past. The 'Next' directories are being removed and replaced with System, Local, and Network directories with Library, Developer, Apps, and similar structures.
Questions about Joilet (the Windows 95 long file name system) revealed they didn't have that on the radar at this point.
Rhapsody '1.0' September 1997.
The question of journaling file systems was also asked by both Alex and Sam Krishna from Apple Enterprise Software. There is no current plan but this is clearly something that is wanted. John Signa introduced Matt Watson, an eight year NeXT veteran who told us about the BSD features present in Mac OS X. Mac OS X has had a varied parentage with portions coming from NetBSD, OpenBSD, and FreeBSD.
Wilfred Sanchez (an occasional contributor to Omni Development's rhapsody-dev list) is responsible for much of the porting of the Unix tools to Rhapsody.
Just to repeat: the BSD layer is present in Mac OS X. The packaging hasn't been decided yet. The Unix tools may end up as an additional installation.
Is Yellow Box for MacOS 8.X dead? Yes. Apple spent a lot of time researching things and the bottom line is that Mac OS X will be here substantially before Yellow Box for Mac OS 8.X would have been.
Are they doing anything about the infamous swapfile problem? This should be solved in Mac OS X with the new Mach 3.0 kernel.
Note: by the time of WWDC 1999 Microsoft had already consolidated their position as the personal computer OS leader, a position they have yet to yield. Apple however were still a full year away from an 'official' release of OS X and a full three years away from an acceptable one.
Keynote by Steve & Avie. WWDC attendence is up this year. Last year's paid attendence was 1763 and this year's is 2514. There are representatives from 48 states and 38 different countries. Since last year's WWDC there have been 3106 new Macintosh applications released.
Janet Baker, Dragon Systems cofounder and CEO, joined Steve on stage to announce Dragon Systems will be making their voice recognition software available on the Macintosh later this year.
The iMac was officially announced last year at the WWDC and on its birthday Steve gave us some current purchaser statistics.
Apple have updated the Darwin website today, releasing more of the components that had been missing (including DriverKit) as well as a binary distribution you can download as an immediately working OS.
MacOS 8.6 was announced today.
Mac OS X client. We're taking home a developer preview CD of this so more will be said in the weeks to come. However in a nutshell not much has changed in the software strategy plan (which is great).
Yellow Box has been renamed Cocoa. Apple say they are eating their own dog food and as a demonstration of that showed two apps, one written in Carbon (called Finder) and the other in Cocoa (MailViewer).
For all intents and purposes Finder looks like the Workspace Manager (although written in Carbon) with the shelf added back in. There was little visible difference from the Workspace Manager that we've been using for YEARS now. The biggest change was that when you have a leaf file selected you can see a preview of the contents in the rightmost column.
Ironically the Mac audience seemed receptive to it (which they aren't in OS X Server). This may be because of the explanation Steve gave. The Mac Finder was designed back in the days when there were no resources outside the plastic of the Mac case itself. No remote networks, printers, servers, etc. The new Enhanced Finder is much more flexible and straightforward when browsing deep and wide hierarchies of data.
As I said, we got Developer Preview 1 today. DP2 is scheduled for the fall with 10.0 rolling out in early 2000.
Mac OS X will include a facility called SystemStarter.
The Mac OS X file system. Some modifications to the low level APIs have been made. All pathnames are now UTF-8. Some calls have been added to allow faster data retrival. Catalog bulk info returns only requsted data - size, type, creation date, etc - for the files. A significant speedup since expensive computations were usually necessary to generate data which in most cases was then ignored by the requesting application.
A common way of dealing with file delete has been implemented. Unix relies on the ability to create a file, open it, delete it, and still read and write to it. Now you can delete a file on a HFS disk while it remains alive for all apps which have a handle to it. This is identical to the Unix way and will only be changed if serious pressure comes from the Mac community. (Not too likely.)
While HFS+ is already in OS X Server support integration will be further extended. A demo was given which showed you can boot OS X client from HFS+ now. Support for exporting HFS+ partitions via NFS will be added. (Not possible right now.)
Introduction to the Cocoa (Yellow Box) framework. It was suggested Apple would be better off fixing some of the outstanding bugs in PB/IB (like the cursor keys causing PB to crash) before adding new features to them. It was also suggested PB and IB be made open source, allowing developers to extend them and fix bugs. Apple haven't decided what will and what won't be open source in the future but this certainly wasn't ruled out.
During this session it was repeatedly brought up by developers that Cocoa on Windows is an important part of their strategy and Apple need to rethink their current backtracking on this.
There was a good deal of clapping in the audience when one of the comments was Cocoa/Yellow Box on Windows NT is definitely needed by developers.
I hope Apple are getting the message. I think Apple have a great feeling for the future of Yellow Box/Cocoa but they just don't know what to do with the Windows side of things.
We still need a deployment solution on Windows, especially for those of us who followed Apple's Yellow Box on Windows mantra for the past two years.
'Mac OS X' wasn't released until 24 March 2001 - over four years after the 'merger' with NeXT and acquiring OPENSTEP. It wasn't ready for prime time. Version 10.1 ('Puma') was released 25 September the same year. It wouldn't be until 23 August 2002 with the release of 10.2 'Jaguar' the system became a contender. Five and one half years were wasted. And during this time all talk of cross-platform opportunities evaporated even as Apple went after successive successful third party vendors to eclipse them.
Red Hat Diaries: Suicide Fanboys
Macworld: Apple closes down OS X
Industry Watch: OpenDarwin Shutting Down
Hotspots: Apple's Open Source Bait & Switch