RSS

Pinboard Blog

« earlier

My Heroic and Lazy Stand Against IFTTT

Update April 3:

IFTTT will maintain Pinboard support through at least the end of 2016. While this date is not specified in their full statement, I have confirmed it with the CEO and am pleased to announce it here.

I am hopeful that we will find a way to extend that deadline indefinitely, but if we don't, I'll try to provide ample lead time.

I do not know whether this extension applies only to Pinboard, or to the handful of other "legacy" services that predate the IFTTT developer platform.

I'm grateful to IFTTT for listening to our shared users, and finding a way to extend the life of a service many people have come to rely on.


Original post:

Imagine if your sewer pipe started demanding that you make major changes in your diet.

Now imagine that it got a lawyer and started asking you to sign things.

You would feel surprised.

This is the position I find myself in today with IFTTT, a form of Internet plumbing that has been connecting peacably to my backend for the past five years, but which has recently started sending scary emails.

If you've never heard of it, If-This-Then-That is a service that lets you connect websites together, so that things that happen in one place automatically trigger some regrettable action someplace else. For example, you might write an IFTTT ‘recipe’ that tweets anything you post on Facebook, because you are a monster.

A lot of Pinboard people use IFTTT. Yesterday, they received the following form letter:

Dear username,

We're working on a new IFTTT platform for developers that makes building Channels and Recipes a breeze.

Recently, we've worked with our partners to migrate to the improved platform, but some have chosen not to do so. Unfortunately, the Pinboard Channel did not migrate to the new platform and will be removed on April 4th.

Pinboard is one of our favorite services and we're all sad to see it go. We hope down the road it may be back.

Stay tuned to the latest Channels launching on IFTTT!

— The IFTTT Team

Because many of you rely on IFTTT, and because this email makes it sound like I'm the asshole, I feel I should explain myself.

In a nutshell:

  1. IFTTT wants me to do their job for them for free

  2. They have really squirrely terms of service



1. Working for Free

A service like IFTTT writes "shim code" that makes it possible to connect online services together like Legos. Everything slots into everything else. This is thankless, detailed work (like developing TurboTax or Dropbox) that when done right, creates a lot of value.

IFTTT has already written all this shim code. They did it when they were small and had no money, so it's difficult to believe they have to throw it away now that they have lots of staff and thirty million dollars.

Instead, sites that want to work with IFTTT will have to implement a private API that can change without warning.

This is a perfectly reasonable business decision. It is always smart to make other people do all the work.

However, cutting out sites that you have supported for years because they refuse to work for free is not very friendly to your oldest and most loyal users. And claiming that it's the other party's fault that you're discontinuing service is a bit of a dick move.

I am all for glue services, big and small. But it's better for the web that they connect to stable, documented, public APIs, rather than custom private ones.

And if you do want me to write a custom API for you, pay me lots of money.



2. Squirrely Terms of Service

The developer terms of service don't seem to be available by a public URL, so I will quote the bits that stung me. I invite IFTTT lawyers to send me a takedown notice, because that will be the funniest part of this fracas so far.

To begin with, IFTTT wants me to promise never to compete with them:

2.You shall not (and shall not authorize or encourage any third party to), directly or indirectly: [...] (xii) "use the Developer Tool or Service in conjunction with a product or service that competes with products or services offered by IFTTT. You hereby make all assignments necessary to accomplish the foregoing.”

Pinboard is in some ways already a direct competitor to IFTTT. The site offers built-in Twitter integration, analogous to IFTTT’s twitter->Pinboard recipe. I don’t know what rights I would be assigning here, but this is not the way I want to find out.

Next, they make a weird claim about owning not just their API and service, but the content that flows through it:

3. Ownership. IFTTT shall own all right, title, and interest (and all related moral rights and intellectual property rights) in and to the Developer Tool, Service, and Content.

They require that I do custom development work for them, for free, on demand:

11. Compatibility. Each Licensee Channel must maintain 100% compatibility with the Developer Tool and the Service including changes provided to you by IFTTT, which shall be implemented in each Channel promptly thereafter.

And they assert the right to patent any clever ideas I have while doing that free work for them, even though I hate software patents:

12. Patent License. Licensee hereby grants IFTTT a nonexclusive, sublicensable, perpetual, fully-paid, worldwide license to fully exercise and exploit all patent rights with respect to improvements or extensions created by or for Licensee to the API

Finally, they reserve the right to transfer this agreement to anyone at all, without my consent:

17.This Agreement is personal to Licensee and may not be assigned or transferred for any reason [...]. IFTTT expressly reserves the right to assign this Agreement and to delegate any of its obligations hereunder.

I say nuts to all that.

I'm sorry your IFTTT/Pinboard recipes are going to stop working.

It's entirely IFTTT's decision to drop support for Pinboard (along with a bunch of other sites). They are the ones who are going to flip the switch on working code on April 4, and they could just as easily flip the switch back on (or even write an IFTTT recipe that does it for them). Weigh their claims about Pinboard being a beloved service accordingly.

For users left stranded, I recommend taking a look at Zapier or Botize, which offer a similar service, or at one of the dozens of new sites that will spring up next week to capture the market that IFTTT is foolishly abandoning.

—maciej on March 28, 2016



Leave of Absence

I'm going to be offline from February 1 to March 9. It's not going to be the cleansing, restorative, Internet cleanse kind of offline, but the old-fashioned kind, where no one can possibly reach me if there's an emergency.

May God help you all.

To keep the site from ruin, Nat Torkington has kindly agreed to babysit while I'm gone. If you don't know Nat, this is a little bit like getting Julia Child to agree to run your hot dog stand. You are in good hands.

As Nat was the person who gave me my first big break in the world of computers, running Pinboard will serve as a fitting penance.

If you have any urgent requests, problems or concerns, I highly recommend you wait until February 1 and bring a little excitement into Nat's life.

For some reason, no one is willing to take over the Pinboard twitter account, so the support@pinboard.in address will be the place to go.

—maciej on January 07, 2016



Pinboard Turns Six

Today is Pinboard's sixth birthday as an online service, but of course the roots of the site go much deeper. My grandfather started Pinboard all the way back in 1931, when he was a young agronomy student in need of some way to help keep track of cuttings. What began as a simple system of shelves and apple saplings had soon expanded to encompass the books in his comfortable study.

In 1968, like so much of Polish culture, Pinboard went underground, in this case literally, as a warren of tubes and cables that could be quickly disconnected if a local political officer came snooping by. The rat's nest of hidden cabling below the floor would inspire me years later when it came time to wire up my own servers.

By 1980 Pinboard was an elaborate system of strings and pulleys cross-referencing material across five bookshelves and a greenhouse. One of my earliest memories is tugging on one of the threads and watching a cloud of white bookmarks fly out from between the onion-skin pages of a thick tome. I got a sound drubbing for it. But how we laughed!

With changing times came changing technology. Visits home turned into long evenings keying cards into a ZX Spectrum, lulled into inattention by the soft hiss of the cassette tapes that the data would save onto (or the dreaded crinkling sound that meant the tape had gotten wrapped up in a spool).

When it came time for me to take over Pinboard, I vowed to continue my grandfather's committment to Eastern European craftsmanship and traditional Polish customer service. But then I got bored and thought, "eh, just put it online and see what happens." That was six years ago today.

Here is the traditional set of statistics:

2010 2011 2012 2013 2014 2015
bookmarks 3.5 27 53 76 97 122
tags (M) 11 76 135 178 212 251
active users (K) 2.8 16 23 23 24 25
bytes archived (T) 0.2 3.0 5.9 8.8 14.2 20.9
unique URLs (M) 2.5 16 32 48 63 82

As you can see, growth in data stored has been fairly linear and the number of active users has crept up to the 25K mark. I changed the business model of the site in January from a one-time signup fee to a recurring fee, but has this affected income? It doesn't feel like it. Possibly it has. I really need to look into it.

I am a terrible businessman.

Thanks for another year entrusting me with your precious data, and giving me the genuinely pleasant feeling that comes from running a useful project. Please don't forget to make backups!

—maciej on July 09, 2015



API Outage

Pinboard servers came under DDOS attack today and the colocation facility (Datacate) has insisted on taking the affected IP addresses offline for 48 hours. In my mind, this accomplishes the goal of the denial of service attack, but I am just a simple web admin.

I've moved the main site to a secondary server and will do the same for the APi in the morning (European time) when there's less chance of me screwing it up. Until then the API will be unreachable.

—maciej on February 05, 2015



Donating to the World Food Program

I'll be donating Pinboard revenue for the remainder of the year to the World Food Program, which is providing critical food assistance to Syrian refugees. They have faced severe budget shortfalls this month:

On December 1st, the World Food Programme (W.F.P.), announced that it was suspending its operations to feed one million seven hundred thousand Syrian refugees—scattered across Lebanon, Turkey, Jordan, and Egypt—because it had run out of money. (The program is under the auspices of the U.N., but funded entirely by voluntary donations.) Under the program, Syrian families received the equivalent of a dollar a person each day to buy food at local shops. This operation cost sixty-four million dollars a month, and, while governments and private donors had helped to fund it throughout most of 2014, there was no longer enough money to carry on. This was “disastrous,” the Programme said in a statement.

If you've wanted a Pinboard account but prefer that your money go to a worthy cause rather than supporting my indolent lifestyle, this is the perfect opportunity. And if you have the means, please consider donating to the WFP directly.

—maciej on December 21, 2014



New Pricing Policy

Beginning January 1, 2015, there will be a change in how I charge for Pinboard.

Right now, users pay a one-time signup fee that grows by a fraction of a penny with each new signup. At the moment, this fee is $10.55. Pinboard also offers archiving accounts, which cost $25/year. Users who upgrade after joining Pinboard can deduct the signup fee from the first year of archiving.

Under the new scheme, basic Pinboard accounts will cost $11/year, while archiving will continue to cost $25/year.

My main reason for making the change is so that I don't have to keep explaining how pricing works. An astonishing number of people already believe that they're paying annually for Pinboard. Others accuse me of baiting and switching them when they upgrade to archiving and get a renewal notice. Note how much easier it is to describe the new policy than the old one.

If you already have a Pinboard account, or sign up for one before January 1, 2015, this change will not affect you.

All Your Questions Answered


Isn't this somehow unfair to someone?

No.

You said it was a one-time fee, but now you're saying I have to pay?

See paragraph #5.

How will this affect people who already have a Pinboard account?

See paragraph #5.

What if I have a regular account now, but upgrade after January 1?

See paragraph #5.

What if I sign up before the end of the month?

See paragraph #5

Will there be a way to set up recurring payments?

Yes, hopefully via both PayPal and Stripe.

Will there be a discount if I sign up for multiple years?

Very likely. I am still mathing this out.

Should I be worried?

Only in the broadest, existential sense.

What if I signed up before 2015 but still want to pay you annually?

Friendly Pinboard users who want to support the site in this way will be able to opt in to the new scheme.

—maciej on December 14, 2014



Holy War on Sites That Demand Pinboard Passwords

Over two years ago I introduced an API authentication method so people could authorize outside third-party websites to add things to their Pinboard account without sharing their Pinboard password.

Many sites switched over to use the token, but some still have not.

As of today, I'm going to start blocking outside websites that ask you for your Pinboard credentials. First to feel my wrath is Packratius, which angers me especially by asking users to provide their Pinboard password in order to duplicate a native Pinboard feature.

Do not do this

Packratius, I block you!

Next on the chopping block is IFTTT, which has set up an especially ridiculous workflow by requiring users to enter then Pinboard password, and then immediately using it to fetch an API token that they use for all subsequent calls. Their tech team has pleaded for mercy until October 24, and I have heard their pleas. But it's dumb that it is taking two years, multiple engineers, and millions of dollars in funding to begin to promise to fix this. I am itching to block them.

If you know of any other websites that ask for your Pinboard password, please let me know and I will gleefully bring the ban hammer down.

If you run a site that is asking people for their Pinboard passwords, you need to change it to ask for the API token instead. If you need time to do this, email me about your plans with a convincing display of contrition.

If there is something you are able to do with a password and unable to do with an API token, let me know and I will fix it immediately.

I have less of a problem with mobile or desktop apps that ask for Pinboard login credentials, provided those get stored locally. My beef is with sites that ask for passwords that get sent to a server somewhere. There is absolutely no need to do this this given the existence of an API token, and it needlessly puts users' accounts at risk.


Update 4:45 PM Oct 14: I just got news from IFTTT that they've changed their channel form to use the API token. Thanks very much to them for getting that done faster than promised!

—maciej on October 14, 2014



Sunsetting Delicious

Since the birth of the site, Pinboard has always offered a Delicious sync feature. You could enter your Delicious username on the settings page, and the site would periodically poll your public Delicious feed and add any new bookmarks it found.

Because Delicious appears to be in a terminal coma, and because working around bugs in their RSS feed has historically consumed a lot of development time, I am going to turn Delicious sync off effective October 1, 2014. If you want to keep hooking the services together, you will still be able to do it through an outside service like IFTTT or Zapier.

Of course you will still be able to import all your Delicious bookmarks, as well as export Pinboard bookmarks in a format that Delicious can (sometimes) read. The only thing going away is the automatic sync.

—maciej on August 21, 2014



Researching Link Rot

This week I'll be running a little experiment in link rot, in preparation for an upcoming conference talk. I'm interested in quantifying long it takes for a typical link to go offline, and if this rate is steady or changing with time. Pinboard now has enough bookmarks (about 100 million) to make this information interesting.

This research is important because we don't have a lot of data for how link rot affects stuff people actually care about. Presumably things that you've bookmarked are more important to you than some random URL off the street.

To run the experiment, I am going to be drawing a few thousand links at random from the entire pool of Pinboard bookmarks. This will include private bookmarks, which make up about half the Pinboard collection. I'll use a combination of scripts and my own weary hands to figure out what proportion of links still point to the original material saved. The URLs I look at will not be associated with your username, and no one except me will look at them.

I will publish some aggregate information about what I find, and use it to seek glory, and persuade people to sign up for archiving. But I won't release anything that could lead back to specific users or links.

If you are uncomfortable with this research and wish to opt out, please email me with your username, and I'll keep your bookmarks out of the pool. If you have questions, ask me on Twitter or email me privately, and I'll be happy to answer them.

As a reminder, the site's privacy policy is here.

Thank you!

—maciej on August 09, 2014



Pinboard Turns Five

Today marks five years since I launched the website that my mom still refers to as 'the other bedbugs'. Happy business birthday to me!

Any site that aspires to be an archive starts life with a credibility problem. The Internet is strewn with the corpses (or in some cases, zombies) of sites that once promised to save your links forever. As people keep discovering, building a bookmarking site is easy, but making a business of bookmarking is hard. Like one of those leathery, spiny plants that is able to thrive in the desert where everything else dies, I have tried to find ways to adapt to this hostile business environment. And I have feasted on the flesh of my rivals!

I raise this brimming skull to the awesome group of users and fellow-travelers who have made it possible.

It's my tradition to post updated statistics about the site:

2010 2011 2012 2013 2014
bookmarks 3.5 M 27 M 53 M 76 M 97 M
tags 11 M 76 M 135 M 178 M 212 M
active users 2.8 K 16 K 23 K 23 K 24 K
bytes archived 200 G 3.0 T 5.9 T 8.8 T 14.2 T
downtime 6 h 29 h 22 h 12 h* some?
unique URLs 2.5 M 16 M 32 M 48 M 63 M

The biggest surprise (to me) is how predictable Pinboard has been over the past three years. Users come and go, like on every site, but the number of active users stays roughly the same. And the site makes roughly the same amount of money (around $200K) every year.

If you've ever run a small website, you'll recognize how weird this is. Typically everything in a small project—traffic, user count, revenue—is spiky. You spend a long time treading water and then big events happen that dominate everything else. This was true for the first two years I ran the site, but since then, things have settled down remarkably.

I regret that I totally forgot to keep downtime stats this year. There wasn't a lot of it, but I should probably track it better so I can brag about it next year, unless it goes up, in which case I will never mention it again.

Now back to some beard-stroking:

I see my role much like a small-town praire banker in the 1880's. My job is to project an aura of calm, solvency, and permanence in an industry where none of those adjectives applies. People are justifiably risk-averse when it comes to their bookmarks, and they are looking for stability. This means several things at once:

On the most basic level, the site just has to work.

On the design level, it means not futzing with stuff unnecessarily, except for bug fixes and basic improvements. Luckily there is so much work to do on Pinboard that I am immune to the temptations of a redesign. If there is a feature (or bug) you love in 2014, chances are excellent it will still be there, like a cherished friend, years from now when your trembling and aged hands go to make that final click.

Finally, there is stability on the business level. This means persuading people (including myself) that I am going to stick around, and then actually earning enough money to do that.

The money part turns out to be easy. People will pay for a decent service. As long as you stay small and don't forget to have revenue, you too can build a bookmarking website. There is plenty of room to specialize!

My strategy of pre-emptively antagonizing anyone who might possibly have an interest in acquiring or funding the site has worked wonderfully. In five years, I haven't received a single email from an investor or potential acquirer. The closest I came was a few months ago, when the new Delicious owners reached out to me about providing "vision", but I think they were just unfamiliar with my oeuvre. They learned quickly.

So the biggest risk in a project like this remains burnout.

Avoiding burnout is difficult to write about, because the basic premise is obnoxious. Burnout is a rich man's game. Rice farmers don't get burned out and spend long afternoons thinking about whether to switch to sorghum. Most people don't have the luxury of thinking about their lives in those terms. But at the rarefied socioeconomic heights of computerland, it's true that if you run a popular project by yourself for a long time, there's a high risk that it will wear you out.

It's not the fact of working on just one project that's the problem. This dude, for example, has spent much of his life building a Boeing 777 out of manila folders. Another guy (always dudes!) is slowly excavating his basement with toy trucks.

What burns you out is the constant strain of being responsible for a lot of other people's stuff.

The good news is, as you get older, you gain perspective. Perspective helps alleviate burnout.

The bad news is, you gain perspective by having incredibly shitty things happen to you and the people you love. Nature has made it so that perspective is only delivered in bulk quantities. A railcar of perspective arrives and dumps itself on your lawn when all you needed was a microgram. This is a grossly inefficient aspect of the human condition, but I'm sure bright minds in Silicon Valley are working on a fix.

Perspective does not make you immune to burnout. It just makes burnout less scary. I've gone through a few episodes since starting Pinboard, and I'm sure there will be more to come. People have been very understanding about my occasional need to flee the Internet. I find that the longer I run the site, the more resistant I become to the idea of ever giving it up, even if I need to take the occasional break. It is pleasant to work on something that people draw benefit from. It is especially pleasant to work on something lasting. And I enjoy the looking-glass aspect of our industry, where running a mildly profitable small business makes me a crazy maverick not afraid to break all the rules.

Most of all, I'm gratified that people have been patient and considerate over the whole lifetime of the project. There has been a lot of goodwill sent my way that makes my job vastly easier. Thank you to all the people who have used the site over the years, and the many people who have helped me build it and keep it running. To my competitors: I will crush you! To everyone else: you're wonderful! Upgrade!

—maciej on July 09, 2014



« earlier

Pinboard is a bookmarking site and personal archive with an emphasis on speed over socializing.

This is the Pinboard developer blog, where I announce features and share news.




How To Reach Help

Send bug reports to bugs@pinboard.in

Talk to me on Twitter

Post to the discussion group at pinboard-dev

Or find me on IRC: #pinboard at freenode.net