How We Stay Lean While Doing Performance Improvements

As our CTO Sunil has explained previously, we make all our product decisions based on metrics, meaning that we try to launch features early and measure how they impact all our metrics in order to decide which path to follow.

We had the intuition that our current analysis tab in the Buffer for Business area could be tweaked a bit to make the user experience better. And last week Niel, one of our awesome front-end engineers, started drafting out some ideas …

Continue Reading →

Buffer’s Content Suggestions: From Lean Experiment to 20,000 Shares a Day

It’s always a pleasure to see something grow. Especially when it starts out small.

Content Suggestions at Buffer has enjoyed this interesting journey from small to growing, and in the span of eight months, it has quickly become one of our core services.

We love helping people share to social media, and content suggestions started out with this idea in mind.

How can we help users share?

The Experiment

One idea was to help people find fresh content. The first implementation started in the middle of January when our co-founder Leo and …

Continue Reading →

How Buffer Uses MongoDB to Power Our Growth Platform

At Buffer, every product decision we make is driven by quantitative metrics. We have always sought to be lean in our decision making, and one of the core tenants of being lean is launching experimental features early and measuring their impact.

Buffer is a social media tool to help you schedule and space out your posts on social media networks like Twitter, Facebook, Google+ and Linkedin. We started in late 2010 and thanks to a keen focus on analytical data, we have …

Continue Reading →

How We Built Daily by Buffer in Two Weeks

Daily by Buffer is Buffer’s new content suggestion app available for iPhone, allowing you to add content suggestions to your Buffer each day through a simple interface. This is how it was built.

Daily by Buffer

While updating Buffer for iPhone for iOS 7 we launched content suggestions within our web app, which give users a variety of posts each day that can be added to their Buffer queue to help it stay topped up. Towards the end of developing the iOS 7 update a few of us developed the idea of building a similar app to Tinder where you could swipe these suggestions to approve/discard them.

Download Daily by Buffer for iOS

Buffer Labs

Daily is part of a new “Labs” initiative that we’ve started at Buffer, where we take a lean approach to crazy ideas and see if they’ll work.

Joel talks more about “Buffer Labs” and how we stay innovative as a 3.5 year old startup here.

We gave Daily the codename of “Table Mountain,” seen here on our whiteboard, while it was under Labs. It was a stopgap while we thought up a name for the app and also paid homage to our recent retreat to Cape Town.

Continue Reading →

My Ideal Day as a Remote Programmer: Taking Charge of Your Daily Routine

I wrote previously about why programming is a part-time job, where I extolled the virtues of having breaks to allow time for my brain to think about problems I am working on. It seemed to resonate pretty well with people, and it is definitely relevant to fields other than programming. In fact, it’s probably valuable for all knowledge workers to have quality thinking time.

But how do you make the time to step away from the computer? How can you force yourself to think about things without committing yourself to immediately working on something?

I believe that the secret is to have a daily routine. A pretty fixed schedule to the day that hard-codes in those vital breaks to allow the brain to fully function.

In this post, I hope to describe how I try to structure my day to maximize my thinking potential. It’s an ideal day, and I don’t think I have ever achieved the perfection it aspires to, but even a reasonable approximation is extremely valuable.

Continue Reading →

How to Think About Security at Startups: It’s a Never-Ending Job

In late October 2013, Buffer suffered a major security breach. As a startup of 8 people at the time, I’ll admit, security wasn’t a top priority on our minds. Our approach when it came to security was to checkmark the basics like setting up proper firewalls, enforcing SSL, and salt+hashing passwords. Going through a security breach changes your perspective on this. We made a huge mistake by doing the minimum.

Since that fateful day we’ve completely revamped how we approach our application security. My goal for this post is to help other startups and app developers understand that making security a priority doesn’t add much overhead and that the investment is well worth it.

The attack

On October 26, my Twitter and Facebook feeds had gone mad with reports that a magical fruit was helping people lose 15 pounds. I realized within seconds that the spam was coming from our app and affecting many Buffer users. Thankfully, because Twitter and Facebook use OAuth for API authorization, we were able to shut down the spamming ourselves within 10 minutes. Approximately 30k Facebook users had their walls spammed during just these 10 minutes. It took us a full week to understand the extent of what exactly happened for this to occur.

Continue Reading →

What You Might Find in Buffer for iOS 8

Recently Apple announced iOS 8 and along with it many features that will be hugely useful for Buffer for iOS. Here are my initial thoughts on what you might find in our iOS 8 update this fall.

Buffer sharing via App Extension

We’ve sometimes struggled to get Buffer integrated in other applications, with requests coming in almost hourly for us to integrate in X & Y. With App Extensions we’ll be able to provide a composer that is available in all applications that use the Action Sheet.

Continue Reading →

From Android Contractor to CTO: My Story As An Engineer

In August 2012, my cofounders and I decided to pull the plug on Fancite, the startup I had been working on for over a year and half. Making that call was one of the toughest things I’ve had to do.

Sunil and the C-suite, South Africa

Sunil and the C-suite, South Africa

The days that followed were highly existential. Initially, I was relieved and excited about doing something new, however as a few days passed my (perceived) reality hit me: “I wasted all that time building something that achieved nothing.”

I remember being filled with thoughts of embarrassment and a sense of purposelessness. What I worked on for so long and hard didn’t achieve the outcome I was looking for and that was hard for me to accept.

One of the inspirations that I found as I was building Fancite was the approach Joel and Leo were taking at Buffer. I read every blog post that Joel had written as he was documenting his experiences building Buffer. As the product evolved, I felt like I was part of their journey. We used Buffer at Fancite so not only was it an incredibly useful tool for us, but I grew passionate about their vision. When I left Fancite, I wanted to help out in any way I could.

Continue Reading →

How to Stop Procrastinating on Your Goals: The Story of Fighting Alligators and Building Bikesheds

Beware the alligatorWeb apps are great. Really they are – I’m a big fan! Using web apps has been a huge step forwards in so many ways. Productivity has sky-rocketed.

Writing web apps is terrible. There’s so many things to think about that, to be honest, you don’t really need to think about and shouldn’t really be thinking about at all.

But, when you spend an hour just trying to sign up for a web host to put your new world-changing app, you get time to think about other things that would also be amazing to do.

And in no time at all, you’ll be greeting the alligators.

Alligator wrestling

forget, when up to one’s neck in alligators, that the mission is to drain the swamp: To lose sight of one’s initial objective, becoming caught up in subtasks or in tasks only tangentially/orthogonally related to the initial objective.

Continue Reading →

Buffer’s April Engineering Report: New Happiness Dashboard, New iOS App and 20+ Vulnerabilities Patched

Coming off of the momentum we had in March, April was another solid month for the engineering team at Buffer.  We really stepped up our game on the security front.  We’ve also made strides to better scale Buffer, overhauled the ios7 app, and continued making progress with hiring.

Here’s a tl;dr of how April looked

  • Over 20 security vulnerabilities were patched and we released some awesome security features
  • No systemwide downtime (win!) but still had a few hiccups
  • 1 new offer made, and 6 awesome engineers were interviewed
  • Made significant steps to sharding our database
  • Now sending 2.7 million updates a week
  • Started a Happiness Dashboard written in NodeJS and Coffeescript!
  • Struggled with blogging and open source
  • Deployed our new iOS7 version of Buffer and released 2 Android updates

Continue Reading →