One day, every company comes to a fork in the road where the choices they make can mean the difference between business as usual or a brighter future. For Chronos, creator of the universal note manager StickyBrain, the day came about two years ago, when the critical choice was this: stay with the development platform that had let them create this very successful software, or take a significant technological step and start over with Cocoa and Xcode.
Today, StickyBrain is very well positioned for the future, because Chronos decided to make that move. By transitioning the application to Cocoa and Xcode, Chronos has harvested many benefits, including the unexpected one of being ready for Apple's switch to Intel processors. With the announcement that Apple would transition to the Intel line of processors, Chronos found that they were almost immediately able to create Universal Binary versions of StickyBrain to run on both PowerPC and Intel platforms.
Chronos arrived at their crossroads in the fall of 2003. Version 1 of StickyBrain had been released in January 2001 at the same time as the initial release of Mac OS X. Back then, it was essential to provide both OS 9 and OS X versions of a program. To meet this requirement, Chronos developed the product using the CodeWarrior IDE and the PowerPlant framework. A year later, version 2 of StickyBrain shipped with the ability to search notes with a Google-like interface—a key enhancement that attracted lots of enthusiastic customers and propelled Chronos into the finalist round of the MacWorld Eddy awards contest.
Despite this success, Chronos realized there was a problem.
We began to see a lot of really neat technology becoming available on Mac OS X, says Jerry Halls, Vice President of Sales and a Chronos founder. And we realized we really needed Cocoa to make use of it elegantly.
We started thinking that maybe it was time to rewrite the software, says Halls. That was pretty scary. It meant throwing away literally everything we had done. But we knew we had to do it if we wanted a foundation for the future.
Additionally, Halls says, Chronos needed to underpin StickyBrain with a commercial database engine that could provide robust, secure, and fast database processing—a must-have feature since many customers were now storing thousands or even tens of thousands of StickyBrain notes on their systems.
So in the fall of 2003, Chronos set to work to rebuild the product from the ground up. A year later, they completed the effort with the release of StickyBrain 3 in November 2004.
The Results, Please
The results have been outstanding—both for the evolution of StickyBrain and for the Chronos bottom line.
With the Cocoa foundation in place, Chronos has been able to move forward and expeditiously provide many new and useful capabilities to StickyBrain customers, including:
In April, 2005, the release of Mac OS X v10.4 Tiger let Chronos show how fast you can revise a Cocoa-based product to fold in new capabilities: We use the Cocoa text engine, Halls says, and when Tiger introduced tables and list support in this engine, we were able to very quickly update StickyBrain to include these new features—something customers had been asking for. We delivered the new version just ten days after Tiger shipped. And we released a StickyBrain Widget at the same time.
Then came the WWDC 2005 announcement that Apple was transitioning to the Intel processor, and developers would have to make sure their applications ran on both Intel and PowerPC. With the introduction of Xcode 2.1 and preliminary Intel-based Macintosh computers for building universal binaries, Mac developers had the tools required to make this transition and test their applications to make sure they would run on both processors.
Robert McCullough, Chronos Vice President of Development, explains, We sat down at the computer and opened our projects in Xcode 2.1. We used the Build for Intel Setting and built the projects. The builds completed successfully on the first try without any errors. We then ran the application and received a minor error that required the addition of a single line of code. Then everything worked flawlessly.
The Bottom Line
Oh yes, what about the Chronos bottom line? Heres what Halls reports:
When we compare the first six months of StickyBrain 2 sales to the first six months of StickyBrain 3 sales, StickyBrain 3 sales are nearly four times as much. Were clearly pleased.
The essential factor in this success story—the sufficient cause as the venerable Aristotle would put it—is the talent, creativity, and alertness of the Chronos team. The Cocoa foundation, on the other hand, is what the old professor would call a necessary cause. By itself, it cant produce these results—moving your product to Cocoa, for example, doesnt guarantee that your sales are going to go through the roof—but you cant get there without it. And the same applies now to providing support for platforms.
Not a Walk in the Park
Making the transition to Cocoa was not a walk in the park, Halls says. It took courage to get started, and then a year of intense work to finish the job.
It was a hard year, but really we have a much better, more robust, more feature-rich product after one year of development—compared to the two or three years of work for the earlier versions. With Cocoa, we were able to accomplish a lot more, more quickly.
One difficult decision facing Chronos at the outset was which versions of Mac OS X to support. In the spirit of OS 9 development, their initial thought was to support all versions back to 10.0. As they looked at what this would require and their time and resources, however, they modified their plans to support 10.2 and above. More work refined this even further. In the end, Halls says, we ended up supporting only 10.3 and above. It turned out to be a good decision. Weve actually had very few if any complaints. Im sure weve lost a few sales here and there, but it wasnt the big deal that we were worried about. Some new products were working on are going to require 10.4.
Careful planning and the right timing are very important in making a smooth changeover, Halls points out. Its going to take some time to get the new version out. In the meantime, your current product may suffer somewhat.
You need to focus your resources on the new version, Jerry explains. You dont really want to be adding cool features to the shipping version. Even for a big company, you probably dont have the wherewithal to do both simultaneously. Planning the timing of the switch is critical.
Cocoa was pretty easy to learn, Halls says. The company had already undertaken a couple of small Cocoa projects and there was lots of useful support on the Cocoa mailing list, which was a great resource when questions came up.
Overall the change went quite smoothly. With the Cocoa foundation in place, Chronos can now focus on some really interesting, fun new features, Halls says. Thats what were going to be doing this coming year—really exciting stuff that we wouldnt have been able to do otherwise.
What is Halls advice to developers thinking of making the switch to Cocoa? Be bold, he says. Take the leap.
For more information about Chronos and StickyBrain, see www.chronosnet.com