Pinboard problems

I’ve been collecting small complaints about Pinboard since I switched over from Delicious back in December. Some I’ve already reported to Pinboard, some I haven’t. I figured I’d throw them all into one crotchety post and send a link to Pinboard support.

All my complaints are related to Pinboard’s Twitter features. For me, one of the attractions of Pinboard—apart from the fact that it isn’t being sunsetted—was that it will archive your tweets if you click the right settings.

Pinboard Twitter settings

Right from the beginning, I noticed that although Pinboard gathers the text1 of your tweets, it doesn’t provide a link back to the original tweet on twitter.com. Here’s a screenshot of a short excerpt of my Pinboard tweet archive.

Tweet archive on Pinboard

You’d think the time and date lines would link to the original tweets, but they don’t. I asked Pinboard support about this almost as soon as I started using the service and was told that links would be added “soon,” but it hasn’t happened yet.

The archiving itself has a significant bug that seems to be related to embedded newlines. For example, the third tweet in the set above is missing about half its text. Here’s the actual tweet, which has two embedded linefeeds:

This is how the shoveling started: http://flic.kr/p/9faaY5.

And this is how it finished: http://flic.kr/p/9f73Qt

12:35 PM Wed Feb 2, 2011

As you can see, everything after the first embedded linefeed was omitted from the Pinboard archive. This really reduces the value of the archive.2

Next on my list is how links in tweets are handled in the archive. If you look carefully at the screenshot, you’ll see that the link in the first tweet includes the period after the URL (the period is blue). The URL is

http://flic.kr/p/9fasoa

but if I click on it, it tries to go to

http://flic.kr/p/9fasoa.

which doesn’t exist and generates an error.

This bug is the result of poor link detection code. My guess is that Pinboard uses a simple-minded algorithm that scans forward from the http:// until it hits whitespace. They should look into John Gruber’s URL-matching regular expression. Even the much simpler—and far less robust—regex I use in Dr. Twoot would be an improvement.

The link detection bug has a further consequence. In addition to archiving your tweets, Pinboard is supposed to be adding the embedded URLs to your collection of links. When it does this correctly, it’s a thing of beauty, because it follows shortened links to get the full URL and then grabs the title of that page. For example, Pinboard archived this tweet,

@mackenab Have you seen this? http://shrbl.in/evn3Jz

Looks like you’re stuck with Courier.

7:42 PM Sun Jan 30, 2011

and saved the embedded link this way:

Expanded link in Pinboard

Pinboard got it right because there was whitespace after the URL. But in this other tweet,

@Ihnatko Similar to this one taken from my bike last fall: http://flic.kr/p/8SPTwJ. Also wouldn’t have bothered unpacking a DSLR.

5:41 PM Sun Jan 30, 2011

Pinboard added the trailing period to the URL, which messed up the link:

Bad expanded link in Pinboard

Weirdly, the addition of trailing punctuation doesn’t always screw up the link. The Metamark shortener seems to understand that trailing periods don’t belong and returns the correct full URL anyway. Unfortunately, it’s not as forgiving with trailing parenthesis, so a tweet like this

Reminded by a @TomLevenson post to recommend Merchants of Doubt (http://xrl.us/bigmyu) by Oreskes & Conway.

12:28 AM Sun Jan 30, 2011

turns into a bad link on Pinboard:

A link Metamark couldn't resolve

The “Metamark” title/link means that Pinboard tried to get the full URL from Metamark and was rebuffed. Clicking it leads to a page that says the short URL http://xrl.us/bigmyu) couldn’t be found.

I may be wrong, but it seems to me that these bugs are easy to fix. Pinboard would be a much improved service if they were.


  1. Sort of. There are some bugs in that, too, as we’ll see. 

  2. Some people’s tweets would be decimated by this bug. 


Comments are closed.