Thirty
Thirty on the thirtieth! Today is like any other, but I suppose it’s as good a day as any to reflect on the past ten years of my life and look forward to the next ten.
In the past ten years I…
Thirty on the thirtieth! Today is like any other, but I suppose it’s as good a day as any to reflect on the past ten years of my life and look forward to the next ten.
In the past ten years I…
In Product Engineering, one of the major charters is to evolve the product by building new features. It’s often the hope that a new feature will change usage patterns to unlock step function growth.
Building something that unlocks step function growth is extremely challenging, especially with respect to mature products, and only occurs at the intersection of strong execution and feature/market fit. The most recent example that comes to mind is Instagram Stories, which not only curbed competitor Snapchat’s growth, but accelerated Instagram’s YOY growth from 25% to ~40%…
It took a considerable amount of effort to support Smart Keyboard shortcuts for Instapaper 7.7. Given that most of the functionality is basic for keyboard-enabled computers and not specific to Instapaper, I decided to open source a library called IPShortcut to automatically enable this functionality on view controllers displaying UITableView
, UICollectionView
, or UIScrollView
.
Most of the functionality supported is simple…
This past weekend I was working on setting up a Jekyll blog and importing my Medium posts to it. The process was fairly tedious since you need to…
In order to help with this process, I wrote a Medium to Jekyll conversion tool that automates this entire process:
python medium_to_jekyll.py <path-to-Medium-posts-directory> <path-to-Jekyll-root-directory>
The script does the following…
First time talking publicly about coming into leadership position at Instapaper, the acquisition, the spinout, and running it independently.
Note: This post originally appeared on Pinterest’s engineering blog
About 100 days ago, the Pinterest product engineering team began experimenting with a three-day no-meeting schedule for individual contributors on our teams…
Product engineering at Pinterest is going to try three full no meeting days for engineers, really excited to see the effects of having a lot more focus time for the team.
— Brian Donohue (@bthdonohue) January 25, 2018
To the Committee Members considering the naming of the Gianforte Academic Center:
It is from a position of great concern that I write this letter to you. I was taken by surprise upon receiving President Farvardin’s email about the creation of this committee, as I was unaware that Greg Gianforte is not only a Stevens alumnus, but has made a $20 million dollar donation to the university to aid in the construction of a new academic building: the Gianforte Academic Center.
While I understand and appreciate the depth of Mr. Gianforte’s generosity toward the university, he has proven himself to be a man of a character unfit to have this building (or any other on campus) named in his honor. Furthermore, Mr. Gianforte’s conduct and worldview are wholly incompatible with the values of Stevens Institute of Technology. It is my firm belief that the Gianforte Academic Center, as named, would represent a blight on our history, campus, and institute of technology for the following reasons…
The Instapaper service experienced an extended outage between Wednesday, February 9 at 12:30PM PT through Thursday, February 10 at 7:30pm PT. We brought the Instapaper service back up with limited access to archives as a short-term solution while we worked to restore the service completely. Today, February 14, we completed the full recovery of the service.
The critical system that failed was our MySQL database, which we run as a hosted solution on Amazon’s Relational Database Service (RDS). Here we’ll cover what went wrong, how we resolved the issue and what we’re doing to improve reliability moving forward…
TL;DR: What follows is a long (good Instapaper material), highly-technical post about re-building Instapaper’s full-text search feature. I’d recommend at least a rudimentary understanding of Amazon Web Services before continuing. If you’d like to read about the product launch, which should be friendly for everyone, you can read the blog post on the Instapaper blog.
I’ve been embarrassed about Instapaper’s full-text search for some time now…
Last night betaworks and Amazon hosted the first NYC Amazon Alexa Meetup to bring Alexa owners and enthusiasts together to build their first Alexa Skill. For the uninitiated, the Amazon Alexa service is the speech recognition and voice synthesis engine that powers the Echo, Dot, and Tap. The Alexa Skills Kit allows third-parties to create their own Alexa Skills that will then work with any Alexa-enabled devices…
In 72 hours…
It’s amazing how a (somewhat) slight product change can define a whole new set of behaviors. On October 29th 2013, Twitter launched inline image previews directly in the timeline, allowing users to view images without clicking through a link. In the one year since inline images launched, there has been a trend of sharing screenshots of text (usually from mobile devices) to Twitter, which allows the user to share specific parts of an article without exceeding the 140 character limit…
Beta distribution on iOS has always been a pain in the ass. At the end of 2010, TestFlight launched a solution that made iOS beta distribution considerably less painful. TestFlight provided a platform that allowed developers to manage a set of beta testers, upload beta versions of their apps, distribute those betas to the testers, and manage feedback from beta testers. TestFlight was a godsend for iOS developers…
… we just don’t know it yet.
I first encountered the Content Security Policy HTTP header earlier this year when one of our users reported the Instapaper bookmarklet wasn’t working on GitHub. Triggering the bookmarklet, and inspecting element on the page revealed the problem…
Toward the end of January 2014, Andrew McLaughlin (CEO Digg & Instapaper), John Borthwick (CEO betaworks), and I had our first meeting since my promotion from lead iOS developer to General Manager of Instapaper to discuss the company’s roadmap. Since joining the Instapaper team in June 2013, I had advocated internally to eliminate Instapaper’s paid download and, instead, focus on adding value to the subscription. At the time, Instapaper’s subscription was priced at $1 per month, and the primary feature offered was full-text search.
When we built automatic sharing for Instapaper highlights, the team had several discussions about how to properly share a highlight link to another service. Here are two solutions we came up with:
We knew neither of those solutions were great…
The onboarding process for Instapaper is inherently complicated by the fact that the “Save to Instapaper” workflow is split across the mobile apps, desktop browsers, and third-party integrations. However, prior to the Betaworks acquisitions, Instapaper’s onboarding was still not the best experience it could be. For instance, this is what iOS users saw after logging in the first time:
There are some obvious problems with this approach…
This was originally written for and posted on the Listserve 8/20/2012
I worked as a caddie on a golf course during my teenage years. One morning I was working for Rappaport and Haas, two older gentleman that had retired and played golf together every morning. The three of us went through almost the entire round without saying more than a few words to one another. The silence was broken on the tee box of the 16th hole, a 180 yard par 3, while waiting for a group of ladies to finish up on the green. Haas said to me, “So Brian what are you studying in college?” as he swung his golf club lazily against the short grass. I replied, “Computer Science.” Then Haas asked, “What do you want to do with your degree in Computer Science?” I answered, “I’m not really sure, but I know I want to be independently wealthy so I can play golf like you guys.” Mr. Rappaport’s ears perked, he turned, pulled the cigar from his mouth, and interjected, “If you want to be successful it’s very simple: All you have to do is work as hard as everyone else, and then work harder.” And I stood there in silence for he taught me as one having authority, and not as the scribes.