RSS

Pinboard Blog

« earlier later »

Benjamin Button Reviews The New MacBook Pro

October 31, 2016

The new MacBook Pro shows that Apple is finally becoming serious about developers.

Gone is the gimmicky TouchBar, gone are the four USB-C ports that forced power users to carry a suitcase full of dongles. In their place we get a cornucopia of developer-friendly ports: two USB 3.0 and Thunderbolt 2 ports, a redesigned power connector, and a long-awaited HDMI port.

Photographers will rejoice at the surprising and welcome addition of an SDXC card reader, a sign that Apple might be thinking seriously about photography.

The new MagSafe connector is a bit of Apple design genius. The charging cord stays seated securely, but pops right off if you yank on it. No more worries about destroying your $2k laptop just by accidentally kicking a cord.

What hasn't changed: Apple has kept the beautiful Retina display, and storage and memory are the same as before. The new machines will be slightly thicker (to accomodate the USB ports) and 200 grams heavier, but it's not clear how this will affect battery life.

Interestingly, Apple has removed the fingerprint reader and its associated dedicated chip, perhaps assuming that developers would not comfortable with a machine they don't fully control.

The most obvious change is the redesigned keyboard. Removing the Touchbar creates room for a row of physical function buttons and, in a nice touch, an escape key. This isn't a perfect solution: the function buttons map to a confusing series of actions that can send windows flying around the screen with an errant keystroke, and the new physical off switch is too close to the backspace key. But it is certainly a huge step forward, and it will be interesting to see how software developers take advantage of this clever new feature.

Everything about the new machine seems designed for typists. The trackpad has been made smaller, so you're less likely to brush against it with your palm. The keys themselves are much more comfortable to type on, with improved key travel, a softer feel, and more satisfying tactile feedback. You no longer feel like you're tapping on the glass surface of an iPad. And not having a TouchBar means no longer having to look down at your hands all the time.

Despite the many improvements, Apple is actually dropping the price on its flagship 15" MacBook Pro by $400, another sign that they're serious about winning over developers.

The release is an encouraging sign of life at Apple, whose products have not seen significant changes since the company introduced a separate operating system for its laptops in 2019. There's even speculation that Apple may refresh its antiquated Mac Pro and desktop macs, neither of which have been updated since their release in 2022.

Rumors are also swirling that the company will add a headphone jack to its already popular iPhone. The announcement could come as early as this month.

—maciej on October 31, 2016



New Directions in Bloat

September 15, 2016

Next month I'll be giving a talk at Smashing Conf in Barcelona on "New Directions in Web Bloat". This talk will be a follow-up to one I gave last year on the Website Obesity Crisis.

I need your help! Please send me examples of the flabbiest, most ridiculous, puffed-up, overbuilt sites you've come across in 2016, particularly if they use new advertising formats, or demonstrate a fresh kind of design pathology.

I'm especially interested in examples of the following:

  • New advertising formats you've noticed in the past few months

  • Particularly egregious examples of sites that use megabytes of cruft to display a tiny amount of text. (Note: everybody emailed me the one-word NYT article already.)

  • Interesting examples of ad-blocker detection, or even better, ad-blocker-detection-blocker-detection.

  • Magnificently gratuitous use of video.

  • Examples of the Inner Platform Effect, particularly with multiple levels of nesting.

  • Bloated articles about bloat.

For maximum ha, I prefer well-known sites to obscure examples. But I'm not picky. If it makes you weep quiet tears of rage, I want to hear about it! Let me know also if you mind being credited by name in my talk.

Thank you!

—maciej on September 15, 2016



Pinboard Turns Seven

July 08, 2016

Ever feel like just wiping your servers and running off to Mexico?

Heh, don't worry, that's just the whiskey talking. Pinboard is seven years old today!

Here is the traditional set of statistics:

2010 2011 2012 2013 2014 2015 2016
bookmarks 3.5 27 53 76 97 122 148
tags (M) 11 76 135 178 212 251 291
active users (K) 2.8 16 23 23 24 25 24
terabytes archived 0.2 3.0 5.9 8.8 14.2 20.9 24.8
unique URLs (M) 2.5 16 32 48 63 82 104
revenue (K) 117 178 181 175 193 160 234
funding (K) 0 0 0 0 0 0 0

I've added revenue this year because I'm no longer afraid of competitors, and I'd like to encourage people who are considering doing their own one- or zero-person business. The site costs something like $17K/year to run, so you can make a good living at this artisanal SaaS stuff.

As you can see, most everything has been steady year-to-year for a while now. Revenue dropped a bit in 2015 (as I moved to an annual subscription system), then picked up substantially this year as the first wave of subscription renewals came due, and people had the option for renewing for multiple years.

I did almost nothing on the site this year except keep it running. Mainly I spent the year fomenting and profiting from online drama. But lately a kind of coding mood has descended on me, and I hope I can spend some time later in the summer figuring out how on earth the site works, and making some long-overdue improvements.

Thanks to everyone who has supported the site, whether you've just signed up, or are one of the mythical group of beta testers who started bookmarking with me back in 2009. You have helped me make the transition from unemployed to unemployable, and given me something worthwhile to work on in between running my mouth off.

Previous anniversary posts:

Pinboard Turns Six

Pinboard Is Four Years Old

Pinboard Turns Three

Two Years of Pinboard

One Year of Pinboard

—maciej on July 08, 2016



My Heroic and Lazy Stand Against IFTTT

March 28, 2016

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

January 07, 2016

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

July 09, 2015

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



« earlier later »

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