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

BBEdit 11.0.3 - Powerful text and HTML e...
BBEdit is the leading professional HTML and text editor for the Mac. Specifically crafted in response to the needs of Web authors and software developers, this award-winning product provides a... Read more
Microsoft Office Preview 15.8 - Popular...
Welcome to the new and modern Microsoft Office for Mac. You will receive regular updates automatically until the official release in the second half of 2015. With the redesigned Ribbon and your... Read more
Yosemite Cache Cleaner 9.0.5 - Clear cac...
Yosemite Cache Cleaner is an award-winning general purpose tool for OS X. YCC makes system maintenance simple with an easy point-and-click interface to many OS X functions. Novice and expert users... Read more
ExpanDrive 4.3.2 - Access cloud storage...
ExpanDrive builds cloud storage in every application, acts just like a USB drive plugged into your Mac. With ExpanDrive, you can securely access any remote file server directly from the Finder or... Read more
RapidWeaver 6.0.8 - Create template-base...
RapidWeaver is a next-generation Web design application to help you easily create professional-looking Web sites in minutes. No knowledge of complex code is required, RapidWeaver will take care of... Read more
Artlantis Studio 5.1.2.7 - 3D rendering...
Artlantis Studio is a unique and ideal tool for performing very high resolution rendering easily and in real time. The new FastRadiosity engine now lets you compute images in radiosity-even in... Read more
MacUpdate Desktop 6.0.5 - Search and ins...
MacUpdate Desktop 6 brings seamless 1-click installs and version updates to your Mac. With a free MacUpdate account and MacUpdate Desktop 6, Mac users can now install almost any Mac app on macupdate.... Read more
BitTorrent Sync 2.0.82 - Sync files secu...
BitTorrent Sync allows you to sync unlimited files between your own devices, or share a folder with friends and family to automatically sync anything. File transfers are encrypted. Your information... Read more
Google Drive 1.20 - File backup and shar...
Google Drive is a place where you can create, share, collaborate, and keep all of your stuff. Whether you're working with a friend on a joint research project, planning a wedding with your fiancé, or... Read more
Simon 4.0.3 - Monitor changes and crashe...
Simon monitors websites and alerts you of crashes and changes. Select pages to monitor, choose your alert options, and customize your settings. Simon does the rest. Keep a watchful eye on your... Read more

New Publisher Allstar Games Heads West w...
Allstar Games has announced its first mobile title designed for western audiences, Allstar Heroes. The game will be a massive online battle arena (MOBA) that offers dozens of heroes for you to collect and pit against your opponents. As each hero has... | Read more »
RAD Boarding Review
RAD Boarding Review By Jennifer Allen on March 5th, 2015 Our Rating: :: NEARLY RADUniversal App - Designed for iPhone and iPad RAD Boarding isn’t quite one of the greats, but it has potential.   | Read more »
Presenting the International Mobile Gami...
11th Annual International Mobile Gaming Awards ceremony, hosted by actress Allison Haislip, gathered mobile game developers and publishers from around the world. They chose 13 winners out of the 93 nominations. British studio USTWO won the the Grand... | Read more »
AG Drive Review
AG Drive Review By Tre Lawrence on March 5th, 2015 Our Rating: :: FUTURISTIC STREET RACING.Universal App - Designed for iPhone and iPad Futuristic racing… interstellar style.   | Read more »
GDC 2015 – Nightmare Guardians is an Int...
GDC 2015 – Nightmare Guardians is an Interesting Hybrid of MOBA and Lane Defense Posted by Rob Rich on March 5th, 2015 [ permalink ] I have to say that lane defense (i.e. | Read more »
Overkill 3 Review
Overkill 3 Review By Tre Lawrence on March 5th, 2015 Our Rating: :: WHO'S NEXT?Universal App - Designed for iPhone and iPad Cover system gameplay in the third-person.   Developer: Craneballs Price: Free Version Reviewed: 1.1.6... | Read more »
Warner Bros. Interactive Entertainment A...
Warner Bros. has some exciting games coming down the pipe! | Read more »
GDC 2015 – Star Trek Timelines will Prob...
GDC 2015 – Star Trek Timelines will Probably Make Your Inner Trekkie Squeal With Glee Posted by Rob Rich on March 4th, 2015 [ permalink ] Any popular fictional universe has its fair share of fan fiction – where belo | Read more »
Protect Yourself from an Onslaught of Ca...
Surprise Attack Games has announced a Cat-astrophic new physics puzzler called Fort Meow! In the game, a young girl named Nia finds her grandfather’s journal which triggers an all mighty feline attack! Why do the cats want the journal? Who knows,... | Read more »
GDC 2015 – Jelly Reef will be Game Oven’...
GDC 2015 – Jelly Reef will be Game Oven’s Last Hurrah, and it Seems like a Good Note to Go Out on Posted by Rob Rich on March 4th, 2015 [ permalink ] It’s sad knowing that Game Oven ( | Read more »

Price Scanner via MacPrices.net

Roundup of MacBook Air sale prices, models up...
B&H Photo has MacBook Airs on sale for up to $100 off MSRP. Shipping is free, and B&H charges NY sales tax only: - 11″ 128GB MacBook Air: $799 100 off MSRP - 11″ 256GB MacBook Air: $999 $100... Read more
New Firstrade Mobile App Enables On-The-Go Tr...
Firstrade Securities Inc. has announced its new mobile app, which gives investors immediate access to the company’s trading platform on all mobile devices. The app was developed in-house and was... Read more
Sonnet Introduces USB 3.0 + eSATA Thunderbolt...
Sonnet has announced the launch of its new USB 3.0 + eSATA Thunderbolt Adapter for easy connectivity to USB 3.0 devices and eSATA storage, and USB 3.0 + Gigabit Ethernet Thunderbolt Adapter for easy... Read more
Apple restocks refurbished 27-inch 5K iMacs f...
The Apple Store has restocked Apple Certified Refurbished 27″ 3.5GHz 5K iMacs for $2119 including free shipping. Their price is $380 off the cost of new models, and it’s the lowest price available... Read more
Free Clean Reader Mobile App Hides Swear Word...
The new Clean Reader app, now available in the Apple App Store and Google Play, delivers the opportunity of reading any book without being exposed to profanity. By selecting how clean they want their... Read more
Kinsa Launches “Groups” App to Monitor Illnes...
Kinsa, makers of the first FDA approved app-enabled smartphone thermometer thst won the 2013 Cleveland Clinic Medical Innovation Grand Prize and recently appeared in Apple’s “Parenthood” TV... Read more
iPad: A More Positive Outlook – The ‘Book Mys...
It’s good to hear someone saying positive things about the iPad. I’ve been trying to bend my mind around how Apple’s tablet could have gone from zero to bestselling personal computing device on the... Read more
Mac Pros on sale for up to $279 off MSRP
Amazon has Mac Pros in stock and on sale for up to $279 off MSRP. Shipping is free: - 4-Core Mac Pro: $2725.87, $273 off MSRP (9%) - 6-Core Mac Pro: $3719.99, $279 off MSRP (7%) Read more
Sale! 13-inch Retina MacBook Pros for up to $...
B&H Photo has 13″ Retina MacBook Pros on sale for up to $205 off MSRP. Shipping is free, and B&H charges NY sales tax only: - 13″ 2.6GHz/128GB Retina MacBook Pro: $1219.99 save $80 - 13″ 2.... Read more
Another Tranche Of IBM MobileFirst For iOS Ap...
IBM has announced the next expansion phase for  its IBM MobileFirst for iOS portfolio, with a troika of new apps to address key priorities for the Banking and Financial Services, Airline and Retail... Read more

Jobs Board

*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
*Apple* Solutions Consultant - Retail Sales...
**Job Summary** As an Apple Solutions Consultant (ASC) you are the link between our customers and our products. Your role is to drive the Apple business in a retail Read more
Position Opening at *Apple* - Apple (United...
…Summary** As a Specialist, you help create the energy and excitement around Apple products, providing the right solutions and getting products into customers' hands. You Read more
Position Opening at *Apple* - Apple (United...
**Job Summary** The Apple Store is a retail environment like no other - uniquely focused on delivering amazing customer experiences. As an Expert, you introduce people Read more
*Apple* Solutions Consultant - Retail Sales...
**Job Summary** As an Apple Solutions Consultant (ASC) you are the link between our customers and our products. Your role is to drive the Apple business in a retail Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.