Camino
Camino was an open-source browser for Mac OS X, with Mozilla's Gecko web engine inside a native Cocoa interface. In 2007, I joined through Google Summer of Code to design and build Tabsposé, a visual way to find and switch between open tabs.

Why Camino
Camino first appeared as Chimera in February 2002, when Mac OS X was still new. Apple's Safari beta followed in January 2003. By the time I joined in 2007, Firefox 2 and Safari were established choices. Chrome was still more than a year away. Its first release came in September 2008, initially only for Windows.
By September 2008, Camino developers Mike Pinkerton and Mark Mentovai were also helping build Chrome for Mac, which was still unreleased. Its first public beta followed in December 2009.
Gecko handled the web pages. Camino 1.5 used the same version as Firefox 2, so it benefited from Mozilla's work on web standards and site compatibility. Camino's developers built their own browser interface around that engine.
Firefox used XUL, Mozilla's toolkit for building an interface that worked across Windows, Mac and Linux. Camino used Cocoa, Apple's native application toolkit. Its controls followed the appearance and behavior of other Mac apps. Camino stored passwords in the Mac's Keychain, including passwords saved by Safari, and checked spelling with the same system dictionary as Mail and TextEdit. For someone who wanted Gecko's web compatibility, those everyday Mac details were a reason to choose Camino.
Pages, not tab titles
A crowded tab bar gives every page the same narrow strip of space. Tabsposé let people recognize the page itself. It gathered the open tabs into a grid of previews, all inside the current browser window.
The idea borrowed from the visual language of Exposé, but stayed within Camino. In the initial design, every preview would fit without scrolling. Spacing and subtle shadows kept the pages distinct, even when several were mostly white. These May 2007 studies explored how the grid would adapt to different numbers of tabs.
Finding the right movement
I explored how a preview should move when someone dragged it, closed it, or selected a page. The mockups included close buttons and drag reordering, along with a transition that gathered pages behind the selection.
Supporting older Macs put a limit on those ideas. Camino 1.5 still ran on Mac OS X 10.3.9 Panther, and my early prototype worked on 10.3. Apple's NSAnimation timing class arrived with 10.4 Tiger, so I couldn't rely on it while supporting Panther. Core Animation was newer still. Apple had previewed it, but it would ship with Mac OS X 10.5 Leopard in October 2007, after that summer's work.
Camino 2.0 would raise the minimum to 10.4, making NSAnimation available, but Core Animation would still be beyond the oldest system we supported. I discuss that move to 10.4 near the end of the talk below.
The mockups were design studies. The implementation started with reliable previews and a way to select a tab.
Learning to ship in the open
I was a 19-year-old freshman at Northeastern when I applied. I had made small Mac apps of my own; now I wanted to learn how a larger open-source project was developed. Google Summer of Code gave me that opportunity, with Stuart Morgan as my mentor.
The first grid had jagged previews and awkward layout behavior. I worked through image quality, page titles, click handling, and reviews with the Camino developers. The initial preview grid landed on July 31, 2007. By August 17, the nightly builds let people click through to a page.
After WWDC, I joined a two-day Camino meetup at Mozilla's Mountain View office to plan version 2.0. Most of the summer, I worked from home in New Jersey and talked with the team on IRC. One patch went out from Arles, France, with a Roman amphitheatre in view.
Code review changed how I worked. More experienced developers checked the details, from memory use to formatting. Camino's restraint mattered too: deciding whether a feature belonged in the browser was part of designing it.
Tabsposé becomes Tab Overview
The feature appeared in Camino 2.0's first public alpha in October 2008. It shipped as Tab Overview with Camino 2.0 on November 18, 2009, after further work by the Camino team.
A keyboard shortcut, Command-Control-T, brought the tabs in the current window into view. Clicking a thumbnail took you to that page. The original idea had become a small, useful part of everyday browsing.
The summer, in my own words
Back at Northeastern, I gave a talk for the ACM speaker series about the summer. It follows the project from the proposal and Photoshop mockups to code review, remote collaboration, and a live demo.
The recording catches the work in progress. Drag reordering was still an idea, and the demo ran on a development build. In the questions afterward, I explained that I was continuing with Camino after Summer of Code ended.
Captions and transcript retain the supplied transcription and may contain errors, especially in names and technical terms.
From the archive
The original proposal lays out the interaction ideas, visual references, and my reasons for joining the project. The October 2007 presentation slides accompany the talk above.
The original July 2007 screencast survives too: 82 seconds showing the prototype switching between pages and the overview, and adapting as the window changes size.
The PDFs and July screencast are preserved as they were. The talk has been converted for browser playback without cutting the recording. The Camino project record and original implementation discussion preserve the milestones and code reviews.




