Past Work

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.

Visit archived website
Camino's released Tab Overview displays a grid of open web pages inside a Mac browser window.
Tab Overview in Camino 2. The feature began as Tabsposé during Google Summer of Code in 2007.

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.

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.

A May 2007 Tabsposé design study arranges six page previews in a grid with titles and close controls.
Six-tab layout with close controls. Design study, May 2007.
A four-tab Tabsposé mockup gives each web page a larger preview within the same browser window.
The same idea with four tabs and larger previews. Design study, May 2007.

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.

A Tabsposé mockup shows one web-page preview lifted out of the grid to explore drag reordering.
Exploring drag reordering within the overview. A design study, not a running build.
A proposed Tabsposé selection transition gathers overlapping web pages behind the chosen Digg page.
Bringing the selected page forward. A transition study from the original mockups.

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.

A working July 2007 Tabsposé prototype displays twelve web-page thumbnails, each with its title beneath it.
A working prototype with page titles and smoother previews, from the July 2007 development blog. Original screenshot.

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.

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.

Presenting the Tabsposé mockups at Northeastern's ACM speaker series, 2007.

36:22 · English · Captions available

Captions and transcript retain the supplied transcription and may contain errors, especially in names and technical terms.

Download transcriptOpen video

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.

Tabsposé in motion. Original prototype screencast, July 2007, 82 seconds.
← All past work