Let us say, for argument’s sake, that your computing habits are similar to mine:

  • Your GUI environment is very lightweight, with a window manager smaller than your favorite terminal emulator, a terminal emulator that does not have a menu bar, and no taskbar, launchbar, or other clicky interface in your GUI environment unless some application comes with one.
  • You do not use BitTorrent or more traditional P2P filesharing networks to download thousands of media files every month.
  • You use text editors like Vim a lot, and almost never use things like word processors and spreadsheets and other applications that make obscenely large files for what they contain.
  • Your application choices in general are very lightweight and keyboard-driven, using console-based text user interface tools for almost everything including IRC and IMs, email, and playing music. The shell is your file manager.
  • Any time you do something more than a small handful of times, you start thinking about how you can automate it with scripting so you do not need to waste time in a big, heavy application with sophisticated features to do the same thing every day.
  • You store many, many Web bookmarks for a very long time — and actually end up using them a couple years later.
  • You keep far too many tabs open in the browser at once, because you might need as many as a dozen different tabs for one project and you might be in the middle of a couple dozen projects at once.

If your computing habits are anything like that, chances are good that on your laptop’s 500 gigabyte hard drive, you have actually used less than 10 gigabytes of storage space, like me. Even the fact that I use Firefox — a necessary evil, not only because I need to test things in one of the most popular browsers in the world, but also because of the Pentadactyl extension — and my gaming PDF collection do not make a notable dent in storage space on my hard drive. The most use I get out of the hard drive is space used to store source code repositories and, much more temporarily, in the process of compiling the software in those repositories.

Another effect of these computing habits is more specific to Firefox. There have been times I have literally had nearly a thousand tabs open at once — maybe twice, total. Those days are long gone, of course, if for no other reason than the simple fact that with every release Firefox becomes less and less stable and performant under high loads like that. When 3.0 would slow to an interminable, stuttering crawl and hover on the verge of locking up or crashing with more than 700 tabs open, 3.5 would do so with only about 300 tabs or so open, 3.6 would do so with about 150 tabs open, and 4.0 does the same with around 100 tabs open. At this rate, I would expect 5.0 to get crashy with around 30 tabs open. The fact the Firefox project has started inflating version numbers in its development track with only very minor changes in the application source (presumably to be able to hang with the cool kids, Chrome and Internet Explorer, whose version numbers are hovering around the cusp of double digits) might actually push that dire fate for heavy tab users like me back to Firefox version 12.0 or so, but it will probably only take about as long as the migration between version 3.5 and version 3.6.

One of the effects of such atrocious resource management is that the bookmark bar becomes unstable and glitchy under high load, where the definition of “high load” changes with each new Firefox release. Having 70 tabs open in Firefox 4.0 can make the drag-and-drop bookmarking capabilities of the bookmark bar all but completely useless, and by the time you get to 100 tabs open you may sometimes have trouble getting Firefox to let you even open a “folder” on the bookmark bar. Because of the dramatically slowed UI responsiveness under load, the browser may “forget” you were hovering your mouse over a subfolder of one of your bookmark bar folders before it gets the subfolder open, and the whole thing might just close. At the same time, it might forget you were dragging from a browser tab to drop a bookmark into that subfolder, and you might simply not have anything clicked-and-dragged any longer. It can be frustrating, to say the least, especially when you’re trying to bookmark tabs to allow you to close them to get some modicum of performance back in Firefox.

One might think that using the bookmark sidebar could solve this problem, but the way bookmarks are organized is less than optimal for regular use of the sidebar for bookmark access, to say nothing of the fact that the keyboard shortcut for opening and closing the bookmark sidebar does not currently work correctly when I have the Pentadactyl extension activated. Because Pentadactyl is the biggest reason I still use Firefox instead of Chromium, getting rid of it is hardly an option. In any case, neither the Bookmarks button on my bookmark toolbar nor the Firefox menu button on my tab bar includes an option for opening the bookmarks sidebar.

Another problem with bookmarks, given the way I store bookmarks for months or even years at a time, is the fact that sometimes they go “stale”. Websites come and go, and unfortunately that means that a bookmark may one day lead to a URI where there is no longer a Webpage or, worse, where the domain has been taken over by a domain squatter and it shows nothing but a bunch of worthless SEO links completely unrelated to what I was hoping to find there.

Another bookmarking issue I have discovered is the fact that Firefox is an increasingly buggy, unstable application that tends to do things like eat preferences and bookmarks. Some means of managing bookmarks that is not subject to the vagaries of inconsistent Firefox behavior would be awfully nice.

I have discovered that a possible solution to these problems exists in the Scrapbook extension. It is essentially an alternate bookmark system, but it is also much more than that. It allows organization of bookmarks in much the same manner as the normal Firefox bookmark system, but with some significant differences:

  • It allows you to choose where to store your scrapbook entries. They do not have to live within the .mozilla directory hierarchy, which means that if you choose a non-default location for your Scrapbook storage and Firefox goes crazy, reverting everything to the default install state (including automatically generated bookmark backups) should not affect Scrapbook storage.
  • The way it is intended to be used does not merely store the URI and a little metadata for the page, like Firefox bookmarks, nor does it merely create files on the local hard drive to allow you to view the page offline, like the Save page as... context menu item. Instead, it can create a scrapbook entry that looks like a normal bookmark, but is usable to either view a locally stored copy of the page or view the page at the original location, at your discretion. This can greatly speed up loading times when you just want to see the same content you saw when you decided to bookmark the page because it is stored locally rather than fetched from the World Wide Web, and it protects against the loss of content because a bookmark went stale. If you have hard drive space to burn like me, the extra space taken up by storing local copies of every page you bookmark should not be a problem.
  • It offers a Scrapbook button you can place on your bookmark toolbar that allows immediate access to the Scrapbook sidebar. It also offers a convenient Alt+K keyboard shortcut that would still work for me if not for the fact that my window manager pre-empts that keyboard shortcut. Well . . . at least I can still click to open it, unlike the standard bookmark sidebar.

I do use Pentadactyl’s :bmarks system for some bookmarks, but mostly only for the kinds of bookmarks that have URIs I find difficult enough to remember, or simply typing the whole URI, impractical — or that are similar enough to other bookmarks to make tab completion unhelpful — but that I remember well enough and use often enough to be able to just start typing something relevant. The bookmark toolbar is what I have used for large collections of related bookmarks where I do not remember having specific bookmarks and need to be able to find them easily by visual exploration. Given the shortcomings of standard bookmarks for this purpose, and the substantial improvements the Scrapbook extension offers, I have high hopes that it will serve as an improvement over the standard bookmark interface of Firefox.

Like the bookmark toolbar, however, the Scrapbook extension’s interface is heavily mouse-driven. I may need to write my own implementation of the concept at some point that allows for keyboard-driven use, compatible with the Pentadactyl interface. Of course, considering the way Firefox quality has been going downhill for my purposes over the years since the days it was called Firebird at least, my hopes that Chromium’s extension system will improve to the point that it can properly support extensions like Pentadactyl and HTTPS Everywhere are even higher.

I probably will not hold my breath, though.