A couple of weeks ago I wrote Tabbed Browsing Turns 7, about NetCaptor’s 7th birthday, and claimed that "Firefox, Mozilla, Opera, Safari and others can all trace their tabbed browsing DNA back to NetCaptor at some level".
In a comment, an anonymous poster wrote:
AOL bought Booklink in late 1994, and Booklink’s Internetworks had tabs as we know them today. Though largely unheard of today, Booklink was well-known at the time, and has the only legitimate claim on the DNA of tabbed browsing.
I must disagree for two reasons. First, Booklink/GNN/NetShark, in its various incarnations, was not a "tabbed browser" as we now know them. In GNN (and I have several copies floating around), tabs represented the navigation stack of a user’s browsing session. To go back or forward, you switched to the different tabs which represented other locations in your session history. Tabs were not in any way independent, you could not right-click "open in new window/tab". In all modern tabbed browsers, each tab can be independent of the others. You can have one tab open at CNN, one at Slashdot, one at Del.icio.us. GNN’s tabs just gave a picture of your navigation stack, that’s all, like an expanded menu in your back and forward button. NetCaptor was the first to offer dynamic browser tabs where each one had its own navigation stack and could function independently of others. Anyone who has used both will understand the difference.
A second reason I disagree is that modern tabbed browsers like Firefox, Mozilla, Safari, and Opera based their tabbed browsing systems either directly or indirectly on NetCaptor. I chose the term DNA very carefully. Evolution says that mutations occur, and when those mutations are advantageous, they are adopted widely. Even if GNN did tabs first (which I maintain they didn’t) the "tabbed browser" mutation came through NetCaptor.
Multizilla was the first tabbed browser extension for Mozilla, and it copied NetCaptor’s menu items and many features word-for-word. David Hyatt, who implemented tabs in Mozilla, Chimera, and Phoenix and I assume Safari, wrote a little about where the tabs in Mozilla came from back in September 2002:
Here’s how the whole tabbed browsing thing happened. One night I finally downloaded an extension called MultiZilla (go check it out on mozdev.org. I was particularly impressed with a feature contained in MultiZilla called tabbed browsing. I started doing research and discovered NetCaptor, a tabbed browser that embedded WinIE.
MultiZilla was cool but at the time suffered from two fundamental flaws that prevented the code from being incorporated into the Mozilla tree. The first was a UI flaw, namely that at the time it had ripped off NetCaptor down to the last context menu item. The GUI was similar enough that there would have been definite concerns about so obviously copying some of NetCaptor’s more obscure capabilities (like sticky names and tab locking). The second concern was that the tab behavior wasn’t encapsulated cleanly into a widget.
I produced a simplified version of tabbed browsing on my own time (did it in a weekend) that removed some of the geekier NetCaptor features and that encapsulated the tab behavior so that the changes to other Navigator files would be minimal. Once I established that it didn’t degrade performance in the single tab case, I checked it in as an experiment.
More from David in 2003:
Mozilla had tabs before Opera had tabs. Opera’s MDI interface is not the same thing as tabbed browsing. Opera only added tabs in its newest version after Mozilla had them already in its trunk builds. Also, neither browser can take any kind of credit for inventing tabbed browsing. NetCaptor had tabs when Opera was still limited to vanilla MDI, and Mozilla had nothing at all.
Opera’s tabbed browser history is a little harder to trace. They had an MDI interface for a long time, but added tabs in their version 7 release in late 2002. I do remember seeing tons of posts in the Opera newsgroups asking for "tabs like NetCaptor".
Alright – gotta get back to work. Just wanted to set the record straight.