Why Pinboard Falls Short and What We Built Instead
Pinboard is one of the OGs of social bookmarking. Originally launched in 2009 by developer Maciej Cegłowski because he felt that Delicious had been mismanaged after Yahoo acquired it, Pinboard has been a beacon in the world of social bookmarking. Designed with privacy in mind, this feature appears to be valued among users according to the tour page: “The site caters to users who value privacy. Half of users have no public bookmarks.”
Pinboard is a great product but we find it limited for our use cases. While this post is not about bashing Pinboard, we do want to discuss why we felt we needed to build LinkTaco instead of continuing to use Pinboard and trying to bend it to our liking. Frankly, bending it just wasn’t possible.
So let’s get into some of the issues we have with Pinboard and how LinkTaco solves them.
Product rot
Majec himself, less than 2 months ago, said that he had neglected the product and recently begun working to update code from 2009-2011! Yes, 2009! That was a bit of shock to read, but OK, maybe it wasn’t fully necessary to update a large part of the code base. Still, it definitely felt like technical debt had accumulated for over a decade.
In many places when using the website things just wouldn’t work. Links were broken. Random errors occurred when using core functions (ie, saving notes). API server was giving random Internal Server Errors for specific functions for long periods of time.
We get it. Software is a never-ending project and there is always more to do. But having paying customers unable to use the service for extended periods left a bad taste in our mouths.
Product abandonment
Many users seem to believe that it is no longer supported or worth the small yearly fee due to lack of support and maintenance. Majec would ignore support requests, and some users claim be fairly rude or nonchalant when finally answering support requests. The general vibe, at least on HN/Reddit/Fediverse/etc., seems to be that Pinboard is no longer a product that should be used. Here are a bunch of examples from HN with just a quick search.
Obviously this doesn’t give much confidence to users like us who sort of depend on bookmarking for our workflows.
Collaboration
Or lack thereof, I should say. At Netlandish we collect links by projects or themes and like to share them between the company based on clients, events, etc.
For this, we use a combination of groupings based on tags, clients, organizations, or events. We need to be able to give permission to various users to write to X groupings while restricting permission to others. Most of our link collections are not public, so they also need to have proper access restrictions so the general public, or any unauthorized user, can’t see the link collections.
Unfortunately Pinboard does not offer this type of collaboration. Now of course we knew that when we created accounts many years ago but as times changed so did our workflows.
Multiple groupings
One thing that became very tedious for us was having to keep different client product/project links segregated. We touched on this in collaboration above but should explain this a bit more.
Say we have 10 clients using a product of ours and that involves various links to keep track of each clients requirements, projects, funnels, etc. Basically it’s a lot of data.
In order to avoid having multiple accounts to manage each one we wanted a way to create many “organizations” (as we call them on LinkTaco) and keep all associated links, shorts, lists, qr codes, custom domains, etc. tied to this organization.
We also wanted to be able to access and manage each of these from one account. In LinkTaco each account can create unlimited organizations and with the right account type can give other users specific and customized access to each organization as well.
Link services
Much like the Unix Philosophy, Pinboard does one thing and does (did?) it well. Generally this is great but our needs also had more of a business requirement that Pinboard just couldn’t fill. Now this is not to blame Pinboard for this as it was never designed to service businesses or their requirements.
However I found myself, personally, wanting to keep all of my linking needs in one place. One house so to speak.
We would use multiple services to manage link shortening and public project link listings (ie, link in bio type pages) and we ended up creating various scripts or programs to help us work with all of these efficiently. But even that got to be too much plumbing and we began to have specific edge cases that made things even more complicated and we ended up managing some of these cases manually. This became quite frustrating.
Personalization
Every person has their own personality. Every project or client has their own requirements. Sometimes you want a page to be on brand, whether that’s your personal brand or a client’s company.
This is why it was important to us to support custom domains. Each paid account can add a custom domain to each service. By default the following domains are set for each service:
- linktaco.com - Social bookmarking / link management
- linkta.co - URL shortening
- links.ht - Link listings (ie, link-in-bio)
But for instance, links.petersanchez.com is the same page as linktaco.com/petersanchez. Or bio.petersanchez.com is the same page as links.ht/petersanchez. We like to use the domain “netlandi.sh” for our shorts domain (example link: netlandi.sh/gtKM) just because it’s on brand for the company.
Of course none of this is new, just an example of keeping all the services and features we wanted under one roof instead of having to use various to get what we needed done.
API
A lot of times when building out a new product for clients they want to have a full range of entry points, marketing links, etc. It’s not abnormal to have to create dozens or hundreds of different link entities for a new marketing funnel or whatever. This is why we wrote the tools we mentioned earlier to work and integrate various services but we really needed a more robust interface to better streamline our workflow.
Using the Pinboard API is clunky. It’s fine for what it was designed to, but it still feels outdated. Simple tasks like fetching links by a grouping for email population were inconsistent. Apparently, there is a version 2 of the API, but that’s been in development for years, and there is no sign of it being completed. Even so, the new design wouldn’t meet our requirements.
LinkTaco
Our constant need to bundle link collections with other types of linking services is the main reason we decided to build LinkTaco. The need to be able to interact with all the services via a robust API is why we chose to use GraphQL. In the end, we’re pretty happy with that we’ve ended up with.
We feel that we’ve addressed the limitations we’ve found in Pinboard and other similar services or applications through LinkTaco. It’s not perfect, and work is ongoing, but in its current state, it works just fine for us.
It’s nothing-mind bending or earth-shattering — just stable services to manage all our linking needs. I’d guess it’s enough to manage yours as well.