Apple Developer Connection
Advanced Search
Member Login Log In | Not a Member? Contact ADC

Evolving to Mac OS X: The Bare Bones

Rich Siegel of Bare Bones Software is accustomed to being on the cutting edge of Mac OS X development. In March of 2001, his company was one of the first to deliver native commercial products for Mac OS X. Recently, Bare Bones released version 7.1 of BBEdit, their popular and critically acclaimed text and HTML editor for the Macintosh.

The new version of BBEdit is the first commercial application to incorporate support for the Mac OS X Web Kit, a system component which provides an API to the Web content engine used by Safari (the Mac OS X default web browser developed by Apple). “Web Kit is a very big deal,” says Rich. “The Safari engine supports all modern standards, and the Web Kit SDK makes it easy to add this engine’s capabilities to any application you’re developing.”



All the Components You Need

Safari is much more than a browser — it’s also a collection of foundation technologies that can be used by developers when building their applications. Safari is built on the Web Kit, which in turn is built on an assortment of open source software components, including the KHTML and KJS libraries from the KDE open source project. By using Web Kit, application developers can incorporate HTML rendering and Web browsing capabilities into such diverse applications as word processors, email clients, and developer tools.

Web Kit provides all the components needed for essential browsing capabilities, so that developers can avoid the numerous complexities and pitfalls involved in implementing those capabilities, such as loading remote URLs, backward and forward navigation, JavaScript interpretation, CSS style sheets, SSL/TLS, and other standard Web protocols and services. Developers can also customize the display and behavior of embedded web content by implementing “delegates” to handle certain aspects of the process.

Making Development Easier and BBEdit Stronger

“Mac OS X technologies make development much easier,” says Rich. “We have had many customer requests to include some sort of “live” HTML previewing in BBEdit, but we simply couldn’t afford to invest the time and effort needed to port a third party rendering engine into our product. Now that Safari is an integral part of Mac OS X, we can simply use Web Kit, and all that’s left is to decide how we want to make it look inside our product.”

”We’ve also incorporated support for Bonjour into BBEdit 7.1,” he continues. “When choosing a file from a remote server using our built-in FTP/SFTP support, there is a pop up menu that displays all the servers available through Bonjour. It’s great to be able to offer our users expanded application features by using new Mac OS X technologies.”

Bonjour is the Mac OS X networking technology that allows developers to create an instant network of computers and devices without any configuration, allows the services and capabilities such as file sharing and printing of each device to be registered on the network, and allows these services to be dynamically discoverable by other devices on the network. Bonjour enables this seamless networking and service discovery over the standard and ubiquitous IP networking protocol.

”Mac OS X pushes you to write better software,” Rich says. “Applications that do sloppy things under OS X get shot down — a simple concept but a big advantage for everyone. In the end, a well-designed application under Mac OS X should look like a natural extension of the operating system — at Bare Bones, I think we’ve accomplished this.”

Consider BBEdit: with the release of 6.1, the Unix core of Mac OS X was used to strengthen and add features to an already robust Macintosh product. In version 7.1, BBEdit’s “shell worksheets” allow users to run Unix commands and have the output come back to BBEdit. Integrated support for Concurrent Version System (CVS) source control brings more Unix integration without reliance on the command line.

For customers who would like to integrate BBEdit into existing Unix scripts and workflows, a “bbedit” command line tool allows them to invoke it from Unix command lines or scripts. Text in open BBEdit windows can be used as the input to Perl, Python, and Unix shell scripts, allowing the power of Unix to be applied to the task at hand, without leaving the comfortable editing environment. “Many of our customers are very productive working in a Unix environment, so having access to Unix features from their favorite product is a big plus.”

A Whole New Ecosystem

”The world has changed in a big way with the release of Mac OS X,” says Rich. “BBEdit is now an established and reliable product in a whole new ecosystem — BBEdit on OS X does things that can only happen on OS X. And as Mac OS X continues to evolve, Bare Bones will continue to build bridges for Macintosh and Unix users so they can experience how well Mac OS X performs, and experience its advanced features.”

Rich sees Mac OS X as providing “a wealth of services just waiting to be used” — namely the four development environments (Carbon, Cocoa, Java and Unix) that make Mac OS X especially accessible to developers. Cocoa provides a way for rapid development of new applications on Mac OS X using built-in tools and object-oriented techniques, while Carbon provides a set of procedural application programming interfaces (APIs) for software such as BBEdit which is written in C++. Cocoa APIs are also accessible in Java, and the Unix APIs make it easy to port Unix-hosted software to Mac OS X.

Aqua, the Mac OS X user interface, gives users and developers an entirely new experience. “Aqua feels different,” notes Rich. “It has more dimensionality — the screen updates that happen under the hood make overall application behavior smoother — and since no single application can tie up the machine the entire system feels smoother. The interface is more responsive, and Mailsmith in particular, our professional email client, looks tremendous in Aqua.”

Rich cites another Bare Bones product, Super Get Info, as an example of the flexibility of Mac OS X. “Super Get Info, our OS X-only product that enhances the capabilities of the Finder, was built in Cocoa but talks to Carbon and uses Unix underpinnings — truly exploiting the advantages of Mac OS X as much as possible. Super Get Info was written using Cocoa, and it would have taken a lot longer to complete had Cocoa not been available to simplify development.”

”Mac OS X is the first Unix to integrate modern Apple hardware — very, very good stuff — with software, in the truest Apple tradition,” Rich continues. “Consequently, it’s the first Unix with a reasonable user experience, and so I consider it to be the first Unix worthy of being a desktop software development target.”

Any Unix-compliant software is easy to port to OS X; developers can use existing source code and use Cocoa to add an Aqua interface, or add Unix features to an existing Macintosh application.

An Evolutionary Success Story

Rich is happy about evolving to Mac OS X for practical reasons too. “We are living proof that you can build a long-term, self-sufficient and sustainable business developing software exclusively for the Mac,” he says. “Apple’s continued product innovation is clearly growing their markets, and anything that grows their markets grows ours, too. Mac OS X has been good for business.”

Rich and his company believe in being at the forefront of Macintosh development. As they celebrate their eleventh year in business, Bare Bones Software looks back with pride on a history of leadership in Mac software development. Going forward, the company continues to build on its past accomplishments (such as being one of the first software vendors to release native PowerPC applications, as well as being at the forefront of supporting AppleScript) by being first: the first commercial software on Mac OS X; the first application to use Web Kit. “We’ll always work to stay on that cutting edge,” says Rich.

For more information about Bare Bones Software and their products, visit the website at www.barebones.com.


“Apple’s continued product innovation is clearly growing their markets, and anything that grows their markets grows ours, too. Mac OS X has been good for business.”

BareBones product boxes