TweetFollow Us on Twitter

OPENSTEP Porting to Rhapsody

Volume Number: 13 (1997)
Issue Number: 7
Column Tag: Rhapsody

Porting to Rhapsody PPC from OPENSTEP

by Andrew Stone, Chief Executive Haquer, Stone Design Corp.

Want your OPENSTEP application to run on more than one platform? Apple is making it easy

In late 1995, when the future for NeXT Software, Inc. seemed rather bleak, the first beta version of OPENSTEP 4.0 shipped to a few faithful developers. Faced with doing Java development in incomplete environments, I decided to yet again recommit to OPENSTEP and port our best selling drawing and design program, Create, which contains the Stone Libraries upon which our other apps are based. In an effort to save others from the pitfalls I fell into, I produced a porting guide http://www.stone.com/porting/ documenting the likely gotchas of the process of porting from NEXTSTEP to OPENSTEP.

It took me one month to port this 100,000 line code base to a state of linking and limping. After 8 months of intense debugging and working back and forth between the NT and MACH teams at NeXT and the SOLARIS OPENSTEP team at SUN Microsystems, Create 4.0 rolled into beta, and was the first app to ship for OPENSTEP in the fall of 1996. Proving the claim of true cross platform compatibility, it ran on Windows 95 and Window NT, SOLARIS, and OPENSTEP MACH for Motorola, Intel and SPARC architectures. Since the development and porting tools were just being debugged for the first time and my OPENSTEP knowledge was still nascent, the process was lengthier than a port from NEXTSTEP to OPENSTEP would be today. We shipped, and were underwhelmed by the lack of response from a beleaguered set of OPENSTEP users.

Apple acquiring NeXT on December 20th, 1996 changed all of that, proving once again that reality is far stranger than fiction. The Wheel turned full circle and the renegade ex-Mac developers were back home!

'Tis true that perseverance furthers, because 2 weeks prior to the 1997 WWDC on Cinco de Mayo, I was invited to NeXT Software's headquarters in Redwood City to build Create for the PowerPC. Unlike any previous visit to NeXT where I was watched with hawk-eye and not allowed to go anywhere unescorted, I was given full reign of the second floor of engineering, replete with my own office and access to that legendary espresso maker.

Two binaries were needed for the show: one for Rhapsody running on Intel, the other for Rhapsody running on PowerPC. The app was also built to showcase Yellow Box running on Windows with the Windows look and feel. This build compiled without warning, the app launched and hung. It turns out that I had a vestigial line of code from NEXTSTEP 1.0 circa 1989:

[menu display];

This was a workaround to get the menu to redraw after dynamically adding menu items. However, in the brave new world of Rhapsody, one cannot be sure what a menu is. Normally a menu is a subclass of NSView, which contains a display method. Under Rhapsody, Apple's drop-down menu is not a subclass of NSView, and does not recognize the display method.

The engineers at Apple/NeXT, in the midst of going through a total reorganization, had ported the kernel and compiler tools to PPC within a matter of months. They had built a cross-compiler to build PPC binaries from Intel machines, and once again, Create compiled cleanly. The PPC kernel was only a few days old, still dripping with amniotic fluid, when the first commercial app just came up and ran. As key team member Matt Watson is oft heard saying, "It just works!" Shouts of joy from the team could be heard throughout the building.

True to the promise of Rhapsody, no coding changes were required for the PPC/Yellow Box port, a few NeXT Interface Builder files (nibs) had to be adjusted to be more Mac-like -- mainly Create's main menu had to have its menu items reordered and renamed slightly to feel like a Mac. To solve this problem, a new interface loading paradigm was introduced: if a nib file has a platform suffix, that nib file is loaded instead of the one without a suffix:

NEXTSTEP look as provided by _NEXTSTEP___<NIB_FILE_NAME>-nextstep.nib

Macintosh look as provided by _Macintosh:__<NIB_FILE_NAME>-macintosh.nib

Windows look as provided by _Windows NT/95_<NIB_FILE_NAME>-windows.nib

The Mac and Windows NT/95 menus use a separation marker that you can find on the Menu palette of IB when you set the "Interface Style" in Interface Builder's Preferences (General) to "OPENSTEP for Windows." The separation marker must be disabled in the IB inspector to give it the light gray look. Menu organization and menu item naming should follow the User Interface guidelines of the target platform.

Having taken the time to learn Java and the various development environments from Sun and Symantec over the last couple of years, I can unreservedly say that Rhapsody rocks the house and Java has a lot to implement before it offers the power, elegance and integration of Rhapsody. After this delightful porting experience, I believe that Rhapsody is Write Once -- Runs Right Everywhere.


Andrew Stone, an early HyperTalk developer and co-author of "Tricks of the HyperTalk Masters" emigrated to the NeXT community in 1989, going on to write such NeXT classics as TextArt, Create, DataPhile and 3Dreality.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Camping With Grandpa (Education)
Camping With Grandpa 1.0 Device: iOS Universal Category: Education Price: $2.99, Version: 1.0 (iTunes) Description: | Read more »
Black Hole Joyrider (Games)
Black Hole Joyrider 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: Guide your spacecraft through the gravity well of a powerful black hole using only your retro-thrusters and dwindling fuel... | Read more »
My Koi (Games)
My Koi 1.0 Device: iOS iPhone Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: My Koi is a beautiful and relaxing fish pond app. Customise and name each fish. Feed them daily. Watch them grow. Collect new fish.... | Read more »
Never Gone (Games)
Never Gone 1.0.2 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0.2 (iTunes) Description: ###IMPPORTANT### Never Gone's HD art resources require devices with more than 1GB RAM, so please note that iPhone 4/4s, iPad 2/... | Read more »
INKS. (Games)
INKS. 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: From the makers of BAFTA-winning Lumino City comes INKS. INKS updates pinball for a new generation. It combines the joy of pinball with... | Read more »
How to maximise your profits in Bakery B...
Running a bakery can be an expensive venture. You’ll need to continuously upgrade your oven, your kitchen supplies, and even your ingredients to keep customers happy. Most of these renovations in Bakery Blitz cost a pretty penny, but we have a few... | Read more »
How to manage your time in Bakery Blitz
It can be tricky, especially when you risk burning your kitchen to the ground if you forget a cake in the oven, so make sure to use these time management tricks to keep your bakery running smoothly. Don’t collect the money right away [Read more] | Read more »
Model 15 (Music)
Model 15 1.0 Device: iOS iPhone Category: Music Price: $29.99, Version: 1.0 (iTunes) Description: The Moog Model 15 App is the first Moog modular synthesizer and synthesis educational tool created exclusively for iPad, iPhone and... | Read more »
How to deal with wind in Angry Birds Act...
Angry Birds Action! is a physics-based puzzler in which you're tasked with dragging and launching birds around an obstacle-littered field to achieve a set objective. It's simple enough at first, but when wind gets introduced things can get pretty... | Read more »
How to get three stars in every level of...
Angry Birds Action! is, essentially, a pinball-style take on the pull-and-fling action of the original games. When you first boot it up, you'll likely be wondering exactly what it is you have to do to get a good score. Well, never fear as 148Apps... | Read more »

Price Scanner via MacPrices.net

12-inch 128GB iPad Pros on sale for up to $10...
B&H Photo has 12″ 128GB WiFi iPad Pros on sale for up to $100 off MSRP, each including free shipping. B&H charges sales tax in NY only: - 12″ Space Gray 128GB WiFi iPad Pro: $899 $50 off MSRP... Read more
Global Tablet Sales Slump Continues, iPad’s F...
Another miserable showing for the global slate tablet category in calendar Q1/16, with global tablet shipments falling another 1ten percent to 46.5 million units during the according to Strategy... Read more
Revel Systems to Showcase iPad POS Platform w...
Revel Systems, specialists in iPad Point of Sale management solution for brick-and-mortar retail, food businesses and more, today announced that it will showcase its innovative iPad Point of Sale... Read more
13-inch 2.5GHz MacBook Pro on sale for $999,...
B&H Photo has the 13″ 2.5GHz MacBook Pro on sale for $999 including free shipping plus NY sales tax only. Their price is $100 off MSRP. Read more
Apple refurbished 2015 iMacs available for up...
Apple now has a full line of Certified Refurbished 2015 21″ & 27″ iMacs available for up to $350 off MSRP. Apple’s one-year warranty is standard, and shipping is free. The following models are... Read more
Indian Smartphone Market Grows Annually by 12...
India’s smartphone market grew by 12 percent year-over-year, with 24.4 million units shipping in Q1 2016. The top five vendors stayed the same, with Samsung in the lead, followed by Micromax, Intex... Read more
Get Notifications When Your Friend’s Phone Ba...
Calgary, Canada based Stonelight Pictures has announced the release of Battery Share 1.0.1, its new utility for iOS 9 supported devices. The company notes that people are spending more time on their... Read more
11-inch 1.6GHz/128GB MacBook Air on sale for...
Amazon has the current-generation 11″ 1.6GHz/128GB MacBook Air (sku MJVM2LL/A) on sale for $749.99 for a limited time. Their price is $150 off MSRP, and it’s the lowest price available for this model... Read more
Price drops on clearance 2015 13-inch MacBook...
B&H Photo has dropped prices on clearance 2015 13″ MacBook Airs by up to $250. Shipping is free, and B&H charges NY sales tax only: - 13″ 1.6GHz/4GB/128GB MacBook Air (MJVE2LL/A): $799, $200... Read more
Mac minis on sale for up to $100 off MSRP
B&H Photo has Mac minis on sale for up to $100 off MSRP including free shipping plus NY sales tax only: - 1.4GHz Mac mini: $449 $50 off MSRP - 2.6GHz Mac mini: $649 $50 off MSRP - 2.8GHz Mac mini... Read more

Jobs Board

*Apple* Retail - Multiple Positions (US) - A...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
Restaurant Manager (Neighborhood Captain) - A...
…in every aspect of daily operation. WHY YOU'LL LIKE IT: You'll be the Big Apple . You'll solve problems. You'll get to show your ability to handle the stress and Read more
Automotive Sales Consultant - Apple Ford Linc...
…you. The best candidates are smart, technologically savvy and are customer focused. Apple Ford Lincoln Apple Valley is different, because: $30,000 annual salary Read more
Restaurant Manager (Neighborhood Captain) - A...
…in every aspect of daily operation. WHY YOU'LL LIKE IT: You'll be the Big Apple . You'll solve problems. You'll get to show your ability to handle the stress and Read more
Simply Mac *Apple* Specialist- Service Repa...
Simply Mac is the largest premier retailer of Apple products in the nation. In order to support our growing customer base, we are currently looking for a driven Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.