The Bare Bones approach

by Giles Turnbull

New updates for an app as popular and as widely used as BBEdit are always of interest. This week's release of version 8.2.3 was notable for something else; it's a Universal Binary, designed to work on Macs with Intel processors, as well as existing PowerPC machines.

MacDevcenter managed to get in touch with Bare Bones CEO Rich Siegel, and asked him for a little more detail about the process and the thinking behind the release.

How hard it was to port BBEdit to UB?

The initial bring-up was very fast - we had it up and running about 24
hours after the announcement at WWDC. The original statements from Apple
might lead one to believe that non-Cocoa applications would be difficult
to port, but our experience indicates that well-maintained code and
best-practices disciplines do more to facilitate an easy port than the
use (or not) of any particular set of APIs.

What were the challenges?

The only real challenge was to verify the correct operation of many key
subsystems; in an application as rich and mature as BBEdit, that's no
small job.

Do you have any advice for other developers?

Absolutely. We've had more experience in this area than many Mac developers,
having traversed several major shifts: 68K to PowerPC, Object Pascal to C/C++,
Mac OS to Mac OS X, and now PowerPC to Intel.

If you follow Apple's recommendations for tools usage, API coding practices
(including common-sense things like not using deprecated APIs and not peeking
into private data structures), you'll have a much better time of it.

The other piece of advice is to always test your application thoroughly after
any significant change in the tool chain or platform targeting.

Can you say yet if - or how - your application design might alter in coming years as a result of this porting experience?

The platform shift per se has not given us any reason to reconsider any
of our previous design decisions, so we expect our products' designs and
feature sets to continue to evolve to meet our customers needs, as they
always have.

How's work going on porting your other apps?

We accelerated the release of BBEdit 8 as a Universal Binary because the Mac
developers who are driving this transition, both inside Apple and at third
parties, rely on BBEdit to get their work done, and so they need it right now.
However, we'd like to have all of our applications running natively on Intel
machines when they ship as announced in 2006.

Universal Binaries also run on Newtons, Mac OS 8.6, conduct classes in Fine Art and make excellent coffee. Apparently.