Tech —

Interview with Camino Project head Mike Pinkerton

Mac.Ars chats with Mike Pinkerton, the force behind the Gecko-based OS X web …

A Mac OS X stalwart

Since its beginnings, Chimera/Camino has occupied a special place in the heart of OS X users. As a Cocoa port of the open source Mozilla project, Camino was at one point the most popular browser on OS X. It looked like an OS X application and rendered most of the Internet well, something that could not be said of its early competitors OmniWeb 4.0, Internet Explorer 5.2, and Mozilla. All of the other browsers either looked strangely out of place in the OS X Aqua GUI or had difficulties with some sites.

Apple's decision to adopt KHTML and launch its own web browser changed the game almost overnight. Safari quickly became the most popular browser on the platform, and soon had web developers accounting for its existence when designing web pages. Meanwhile, Camino development slowed down to a virtual crawl. Recently, however, the pace of work on Camino has quickened, and the browser is still an excellent choice for surfing the Net.

Mac.Ars recently caught up with Mike Pinkerton, the lead developer on the Camino project.? Mike has been doing Mac development since high school, and has authored Mac shareware programs such as Aurora and ColorKey. He graciously agreed to answer a few questions for us.

Mac.Ars: How did Camino get started?

Mike Pinkerton: Camino started with some work back in late 2001 that Vidur Apparao and I did to prove that we could embed Gecko in a Cocoa application. Vidur wrote the obj-c embedding wrapper and I wrote a version of Gecko's Widget library to use Cocoa instead of Carbon. While not a lot of work, it demonstrated that it was possible and not too difficult to embed. In early 2002, Dave Hyatt got bored of Windows and wanted to learn real OS X development. He started fleshing out and optimizing the cocoa widget work I'd done and building up a small browser wrapper around it.

About the same time, Netscape/Mozilla was busy wrestling with shipping yet another behemoth all-things-to-all-users browser suite. Hyatt and I, along with others, knew that this approach wasn't very appealing to the non-techie user but we were powerless to stop the product juggernaut driving these releases. Furthermore, the Mac version of Mozilla was the laughing stock of the platform. Built on a cross-platform base initially designed around Windows and never given the time or development resources it needed to shine on the platform, it felt like a bad port of an even worse Windows app. We knew we could do better.

We started developing a side project, then called "Chimera" for its hybrid mix of native Cocoa front-end and cross-platform/Carbon/Cocoa backend. The goal of this project was to make a fast, standards-compliant browser that just worked. It didn't have 50,000 features, you couldn't check your email from the certificate dialog. It was streamlined and simple; exactly what you needed and nothing more. We had a rapid string of dot-releases which garnered a devoted following of Mac users, excited to see a free, native browser with a modern rendering engine.

I remember the buzz around Chimera. What happened?

In mid-2002, the project suffered a blow when we lost Hyatt to what became the Safari team at Apple. I stepped up as the sole technical lead and project owner. About the same time, we got a small team together within Netscape, with dedicated development and QA, to put together a Netscape-branded technology preview for January MacWorld in 2003. We worked very hard to get our little browser ready. It was energizing to again be working on a Mac product at Netscape that one could feel proud of after so many years of delivering second (or third) rate software.

We were on track and all of our hard work was about to pay off. We had several hundred CDs pressed with the plan of handing them out on the show floor. Two days before the show, AOL management decided to pull the plug on the entire project. Needless to say, we were devastated. I still have a handful of those CDs which might even be considered collectors' items. That was also the MacWorld when Apple announced the first beta of Safari [January 2003]. Fresh off our disappointment from not shipping our own product, we played with Safari and saw that Apple had hit the exact market and feature set we were targeting. We were up against another OS company with a built-in browser and we knew from history that we were toast.

Was it a difficult decision to continue after AOL pulled the plug?

I was pretty depressed about it all until I got an e-mail from a good friend and then manager, Chris Saari. He wrote, in an e-mail that's still in my inbox almost two years later, "You have built something that people are fighting for and passionate about. That is a huge compliment, IMO the best compliment software can get." We were building something for our community, not just for Steve Jobs, and our users wanted something that wasn't Safari. Thankfully, we still had Mozilla.

After the support from Netscape/AOL disappeared, a skeleton crew of QA and developers, going solely on the desire to do the right thing, released Camino 0.7 in March 2003. It was the culmination of a lot of hard work and it showed. The release was fast and stable, and left people wanting even more. We knew the show must go on. With a new infusion of support from the Camino open source community, we moved ahead with new features for the eventual 0.8 release.

Camino 0.7 was popular ? it quickly became my default browser. But it was a long time until 0.8. Why the delay?

While there was only a short time between previous dot-releases, we had a serious problem with 0.7's success: we couldn't release anything that wasn't up to the same quality, stability, and speed level of 0.7. Major changes under the hood in Gecko and to front-end systems meant that we couldn't just push out any old nightly build as 0.8. We had to spend a lot of time polishing and fixing any new bugs, in addition to fixing a bunch of the old ones we didn't have time for. We had to do it even better this time.

How large is the current Camino team? Word was that at one point it was basically down to just you.

For a long time, I was the only consistent developer around. We had many who would come and go, making patches here and there, but then they'd get busy and move on from the project. Recently, we've had some new blood and we've picked up steam again. As with most OSS projects, in my experience, the QA team is much larger. People come out of the woodwork to triage, reproduce, and verify bugs. There are also the people on the mailing list, forums, and IRC channel who hang out to help people with both developer and end-user problems. I think of Camino as a community, a family if you will, rather than just "we have n developers."

In the fall of 2003, I started teaching a class at George Washington University on open source software. I didn't have much time for Camino as my work at AOL was keeping me very busy and I was writing the course as I went along. Camino was stalled. Patches were going unreviewed. Bugs were piling up. No check-ins were happening. People were starting to say that Camino was dead. I was even about to give up amidst all the praise Safari was receiving.

I realized, almost like a lightning bolt, during one of my lectures on open source culture that I was the reason the project was failing: a weak project owner is worse than no owner at all. I was that weak owner, and the only way to save the project was to own up to that and do something about it. I instituted a new review process that brought more people into the loop and removed myself as the sole bottleneck to the process. Suddenly Camino was alive again. Patches came flooding in, and these were getting landed in the tree. We were on our way.

Finally, after over a year of toil and trouble, we released Camino 0.8 in June 2004. I can honestly say it is the true successor to 0.7, better in every way without compromising anything. While 0.7 was primarily a Netscape-driven release kept afloat at the end by open source, 0.8 was a triumph of open source and open process. People from all around the world helped with patches, QA, bug triage, localization, artwork, and evangelism. It was everything I taught in my class, brought to life in a product I am insanely proud of.

Channel Ars Technica