TabMark: “if I had a dime for every NetNewsWire tab…”
by Jonathan Deutsch
The preceding was an example of how I use NetNewsWire. Space moves to the next unread item, and return will open a new browser tab in NetNewsWire that will load its associated web page. When I am finally done scanning through all unread items, I’ll then go through the browser tabs I’ve opened and read the article. Or, so I try.
Often I will be too busy, too distracted, or too lazy to read all the pages I have opened. A blessing or a curse, NetNewsWire’s persistent tabs pile up to an insurmountable stack. This eventually reaches the point where it begins to slow down NetNewsWire’s launch time, and in the case of syncing to another machine, the entire app grinds to a halt as it attempts to load every new tab it has discovered.
It was such a situation I was in tonight, when trying to sync 87 browser tabs to my 800 Mhz iBook. After about 5 minutes of waiting, I decided it would be best to offload the browser tabs so I wouldn’t be in the same position again. I started a race to see if I could create an app that would import my NetNewsWire tabs into Safari bookmarks before my iBook finished loading.
I lost the battle, but won the war (in only 62 lines of code, no less). Say hello to TabMark:

most boring UI evar
Here’s how you use it:
- Open a bunch o’ tabs in NetNewsWire
- Launch TabMark
- Optionally remove or rename the bookmarks
- Click “Export…” and choose a location for the file
- Either open the file to view your bookmarks, or import them into Safari through the “Import Bookmarks…” item in the File menu.
- Option-click a tab’s close button in NetNewsWire to close all tabs
Like all good Web 2.0 software, TabMark is in an eternal beta, and is provided “as is” with no guarantees.
You can’t be Web 2.0 without Ajax. NSAjax: coming soon to Leopard.
Hey, another great Tumultco product. (Hmm, 138 tabs open. Thank goodness NNW no longer auto-loads tabs on starting.)
Less sure about the tag browser thing for Cocoalicious. I really didn’t follow what was going where, or why. (And there was too much movement. Reminds me of that AWFUL thing that Microsoft programmes do when there are two rows of preference tabs. Click on a tab in the back row and bam! it’s in the front. Confusing as hell)
More useful might be a graphical thing, or a histogram, showing what your tags are. Click on one of the histogram blocks, and you get all the related tags highlighting. It would be a graphic demonstration of how long a tail your tags have. One might even show how the tail *should* look, and thus whether you’re a lazy tagger (ie inconsistent, ultra-long tail) or too uptight (short tail) or just average (compare to the delicious tagspace).
OK, so now code it 🙂
Oh, and just thought of what Tabmark needs: the ability to highlight a link in the list and open it in your browser of choice. Some of those things have been there for *months* and I’ve no idea if they’re still relevant. But I didn’t want to lose them.
(You used Applescript Studio, right? NNW has a fantastic scripting interface.)
[…] I have made a small update to TabMark per Charles Arthur’s request: an “Open in browser” button which will open the selected links in your default browser. I also added a save item in the File menu, so that if you choose to remove some from the list the new set can be saved back! […]
A histogram is an interesting idea (and am amused by a program telling me what my long tail should look like!), although I wonder how well it would work for discovering relationships among tags.
I added an “Open in browser” button to the latest version of TabMark. It was actually programmed in Objective-C with Cocoa. NetNewsWires stores tabs as a property list (~/Library/Application Support/NetNewsWire/BrowserTabs.plist), which is easy to manage with Cocoa.
The histogram would be, well, I don’t know how hard it would be to code. You’d take the number of tags that you’ve got for each word (available in the C/licious interface) and draw the line scaled to whatever the highest number is, and down to 0. Then order them by number size.
You click on one – as per your movie – and instead of the tabs all moving around like you’d drunk too much, other bars in the histogram would light up (or darken up), showing that where you’d tagged something “biscuits” you’d had others which had been tagged “chocolate” “impossible” “crumbly” and so on. Click then on “chocolate” and you get … well, much the same as you were getting before. I guess you’d have a list of the potential URLs in a list below the histogram.
Discovering relationships between tags.. well, you can surely draw a tail graph from the tag population on delicious. Might take a bit of hacking, might need some nice talking to Yahoo (as they own it now), or might just take some judicious polling of various delicious bookmark lists – a few thousand users would probably be statistically representative.
Not that any of this is actually *usable* or has real benefit. It’s just interesting from a UI perspective.
As to the tabmark thing, I thought it was ASStudio because NNW also has a *great* Applescript interface which lets you play similar games with the browser tab URL/name. Actually, between NNW, MarsEdit, C/licious and Voodoopad, my scripting time is made up. I do enjoy getting the computer to do what *I* tell it.