Our use of CFEngine on Amazon Web Services

To inaugurate the New York City CFEngine Meetup, I was asked by the CFEngine team to present how we build our infrastructure at Percolate.

We automate everything and strive to do ops in a way that’s not slowing down the changes of the product team, while keeping things up and cost down.

Take a look at the slides below to see how.


How Percolate uses CFEngine to Manage AWS Stateless Infrastructure from Percolate

If you’re an engineer who wants to work on infrastructure like this, please be in touch.

Want to learn how Percolate can help with your content marketing?

Get in touch and we’ll show you our system in action.


The Demise of the Like and Why that’s a Good Thing

It’s not like pages have carte blanche to assault people with posts. People know their own tolerance for what they consider to be spam better than any algorithm does. It is incumbent upon the brand not to abuse the relationship and cause the person to unlike us. 
-Mark Cuban

Since social’s inception there has been volumes written about how social marketing is fundamentally different. What appears to be true is that social networks as a medium for us to be entertained and engaged is entirely new and incredibly sticky. Social is also a revolution in terms of how people consume information. Flows of information are a fundamental shift from the point of view of the user, but how brands reach that consumer in flow may not have changed.

As Facebook continues to optimize EdgeRank to improve the value of the Newsfeed to its users, brands are having more trouble finding their way into the feed organically. The value of a Like has been deprecated as Likes don’t translate to placement in the newsfeed. Without placement in the newsfeed, there is no value to a Like. This then is the end of the Like as a value of social success. Good riddance.

Likes were false hope. Likes led to bad brand communication decisions. When your goal was Likes the balance of Brands defaulted to two choices:

  1. Get the Word Out – You’re a brand that everyone loves. For you this is simple, just get the word out that you are on the platform. Brands forgot what they did to build themselves up. Brands  expected connection and Likes. So they posted content that had led to them being loved previously.
  2. Buy Likes – On the other hand were brands that were not traditionally liked. These brands saw an opportunity to change that trajectory. The problem was they were not brands the people “Liked”, so they rigged the system. Creating like gated contests, like bait advertising and created content well outside the bounds of their brand in search of Likes.

In each case Like’s led to bad communication choices. So the demise of the Like is a good thing. It will bring brands back to thinking about two things: what is special about my brand or product? and how do I share that specialness in social media?

So let go of Likes and start thinking about research via customer feedback loops. Social maintains the richest customer to company feedback loop ever created. Brands need to use this feedback loop to understand how best to communicate to their audiences. That may mean dark posting to understand audience and content connections. That may mean building content calendars not around events, but around consistent mini-campaigns that build affinity with consistency and clarity. That may mean thinking even more critically about the role of your various social channels.

Social changes how consumers interact with you, but it does not change the fact that you are still selling product to your customers. Use the platforms to make your best sale-that means leveraging feedback loops and communicating at scale to pinpoint audiences. Welcome back to brand building.

Want to learn how Percolate can help with your content marketing?

Get in touch and we’ll show you our system in action.


Learning a New Language and the Vine to Prove It

Have you ever tried to learn a new skill that you know to be valuable, but you can’t find the motivation to follow through? I’m remembering a time when I tried to learn piano and harmonica and guitar, but not only was I mediocre, that’s generous, there was no concert, no group band, no end goal that encouraged me to trudge through the difficulties of learning a new skill. Although, I’d like to argue that I’m simply better at enjoying music more so than I am at making music.

If you read my last post about interning at Percolate, you’ll know that I have been learning about marketing and branding–both new skills with definite end goals of getting better at my job. Since getting hired full-time, I have been assisting in measuring our clients success across platforms, a process that requires an in-depth understanding of the posting and engagement metrics of Facebook, Twitter and Tumblr, of our tools at Percolate, and of the programming design of our tools.

As was true when I started interning at Percolate,  I realized that once full-time I would have to learn a new skill in order to be better at what I do. Fortunately, Percolate is swimming with intelligent people, so I asked our ever-knowing product manager Stacy where I could a) stay updated on the changes made to social platforms’ APIs and interfaces, and b) learn the basics about markup language and coding. She gave great direction.

Now, I follow Facebook, Twitter and Tumblr engineering and developer updates, and I take daily mini classes from Skillcrush to teach myself HTML, CSS and eventually Javascript (I have also used Codecademy).

What is most thrilling about learning to read and speak these languages (forgive me for continuing the language metaphor from my last post) is that there is an end goal: delivering report cards to clients. In order to confidently deliver the data on these report cards, I need to understand how Facebook formats a user ID and a post ID in a single URL. If Twitter makes changes to its API, I need to know what effect that will have on the data we can deliver to clients. By understanding basic markup language I can read raw stats on a post or a user. And once I know these things, I can comprehend the capabilities and limitations of our tools in relation to the platforms that are most important to Percolate. When I encounter a problem or a difficulty, I have the resources–both in people at Percolate and in what I’ve already learned–to power through to find the bug, understand it and fix it.

Unlike piano, I’m still learning about changes to social platforms and markup language. The goal of delivering report cards is real, and they keep coming in. So whenever a developer on Team Percolate feigns being impressed by my work, I take a little victory lap to celebrate that I’ve learned a new skill. And I have to say–it’s pretty fun.

Sound fun? We’re hiring. Come join us.


Want to learn how Percolate can help with your content marketing?

Get in touch and we’ll show you our system in action.


Always Be Curious

What can be learned from a long walk? Teamwork.

The Bell Labs research facility in Murray Hill, New Jersey, home to some of the greatest minds, innovations and products of the 20th century was built in 1941.

The facility was designed with a 700 foot hallway connecting the research departments to each other and to the cafeteria. Why a 700 foot long hallway? Because Frank Jewett and Mervin Kelly at Bell Labs knew a longer walk between offices would increase the likelihood co-workers from different disciplines would pass, chat, and collaborate. They also knew communication was important for innovation and improvement, which is why they also adopted a strict open door policy for researchers, regardless of their level or seniority, encouraging entering and asking questions.

What can a team of 15 or even 40 learn from the Bell Labs model which had to accommodate 3,000 – 4,000 researchers? Well, there is a prevalent myth at small companies, particularly startups, as they grow that things were better “back in the day”. “Oh the good old days of working late into the night and doing it the hard way!” The truth is, it wasn’t better back then. As you grow the work gets better, more focused, and (for certain things) easier. Growth means there is a bigger team to rely on; more collective talent, more brain power, more heads for collaboration, more solutions and more hours back in the day. Stop to look around as you grow, there are probably more amazing people around than last year.

But one thing does change, and I’d argue this is the reason fast-growing companies yearn for the past. That thing is communication.

The challenge as companies grow is they require more physical space, and this often puts a real, literal distance between employees and teams. The entire company can no longer lean in at 9 PM and ask “how did we do today”? Teams get bigger and more specialized, decisions are made by teams, not by the company as a whole over lunch or in a rental car on the way to a meeting. So how do you keep the small, collaborative, intimate feel without adding a 700 foot hallway to the bathroom? Build systems which encourage, embrace and create value in cross team communications (particularly with the new guy).

Introducing Percolate

At Percolate we are building systems now to ensure we continue to maintain our open, questioning culture whether we have eight people or 3,000 sprawling across several international offices. In January we launched our first internal product to help solve this: Barista.

Barista Screen 520x390

Barista was built to encourage all staff to ask and answer questions about Percolate, technologies, best practices, the neighborhood around the office, anything in fact. Anyone can ask and anyone can answer. Each question can be tagged with topics which can be subscribed to, you can even tag a question with an individual you feel may be best to answer it. The team also thought through asking questions well, as you write a new question we prompt you with similar questions which were previously asked; perhaps you’re not alone in wondering who painted our bathroom signs (Answer: Erik Dies).

As you grow communication is key, more so than an impressive reception area or a pool table; the systems real and digital that encourage communication, questions and curiosity ultimately matter more. Barista is the first step towards realizing our own 700 foot hallway and open door policy, but in a digital format that provides value to the whole organization and not just those in earshot of a good idea discussed over lunch.

If you’re interested in Bell Labs, I highly recommend Jon Gertner’s ‘The Idea Factory: Bell Labs and the Great Age of American Innovation

Want to learn how Percolate can help with your content marketing?

Get in touch and we’ll show you our system in action.


Where Flow Influences Stock

At Percolate we think a lot about how brands must live at the intersection of Stock and Flow when it comes to creating social content. Brands need to be engaged in conversations based on topics and subjects that are culturally relevant and aligned with their values. Aspirational content that represents what your brand stands for will help elevate these conversations to a higher level and allow the brand to position itself as a magnet and not just a mirror.

Once brands begin producing diverse and engaging Flow content, they bring the story of Stock and Flow full circle by incorporating inspirational themes and topics from Flow content into Stock.

Flow no longer only complements Stock content; it now informs and influences it as well.

Here’s an example of how the most forward-thinking brands are taking cues from their social world and leveraging those concepts into their big budget, shiny Stock content.

AT&T is a brand that has built a business on connecting people and distributing content for decades. AT&T took a viral piece of content which was culturally relevant to their social audience and acted quickly by incorporating it into their latest Stock television commercial:

Remarkably, the ad was on air within the month which is incredibly fast as compared to the traditional 21 week production cycle:

The proliferation of social platforms provides many exciting opportunities for brands to connect with their audience. It also provides new challenges. One of the challenges of this fast-paced, real-time environment is brands have to be ever more nimble at creating both Flow and Stock content.

Going back to AT&T, if the commercial hasn’t made it to broadcast  within the first four weeks of the viral video gaining popularity it may not have been as relevant or timely. While many brands are spending time and effort to manufacture a viral video, AT&T capitalized on an organic viral video and weaved it into their story.

AT&T isn’t the only brand incorporating culturally relevant themes into their Stock.

Taco Bell did a great job of this with their recent Doritos Locos Tacos launch. Knowing that they target a younger, technologically savvy demographic, Taco Bell not only took a cue from relevant content, but they also incorporated an entire trending social platform into the content of the ad.

The trend for sharing food photos through Instagram was a key theme behind this Taco Bell commercial from this summer:

Brands might be faced with different challenges in this new media landscape, but they’re also presented with interesting opportunities to tie all points of engagement together in real time.

At Percolate we’re building technology solutions to make this process easier and more efficient by systematizing a brand’s content strategy with our interest graph and surfacing high level social themes through content briefs.

We know not all brands have the resources on-hand to create well produced YouTube videos in real-time response to tweets like Old Spice:

We’re working to get them there.

Want to learn how Percolate can help with your content marketing?

Get in touch and we’ll show you our system in action.


Rethinking Our Company Pages

After almost two years in business, Percolate has undergone lots of change: new employees, new spaces, new products. With that, we wanted our company pages to better reflect who we are as a organization. Today you’ll see new pages outlining our business, how we work, our culture, new job opportunities and a place to showcase our clients.

Here’s how we got there.

Our first round of company pages were a collection of facts and job descriptions, which worked well for a time. But as the company culture has taken root and become an inextricable part of how we do business, the new pages aim to give visitors a real sense of what we’re all about. The pages are designed to be that initial conversation on the Percolate story: from the story of our founders and mission to our clients and the immense change in brand marketing we help tackle.

Here are the questions our new online headquarters will answer:

Is the company solving an interesting problem?

1. Our Business: Here’s the company mission and an interview capturing the founders’ vision and passion. As we continue to build Percolate, we’ve included a timeline of the company milestones to date.

What are the team’s values and how do they work together?

2. How we work: Percolate is built around two teams: product and business. Our professional values, our thoughtful technology and content set the tenor for the entire company.

What are the people really like and how happy will I be at Percolate?

3. Our Culture: We love the culture we’re building and demonstrate that with a tour of the office and day-to-day life. Our people are crucial to maintaining a healthy and happy place to work, so here’s where you’ll meet the team, too.

What opportunities are available?

4. Jobs: The company is growing and fast, so we’ve included here the many opportunities to join the team and define the future of brand marketing. A career at Percolate means helping build a lasting culture and developing professionally.

So, have a look around. Stay awhile, get to know us and maybe we’ll see you (or your resume) some time soon.

Want to learn how Percolate can help with your content marketing?

Get in touch and we’ll show you our system in action.


Building with Minimum Viable Product

I’ve been doing a lot of thinking about product development processes lately. We’re working on a bunch of new stuff around here and the team has been growing pretty rapidly (we’re up to 14 total, with nine on the product side).

Recently I was asked a question about how we think of minimum viable product and where design fits into the process. It’s not the first time I’ve been asked the question, though it usually manifests itself more as “how do you know when something is ready to be launched?”

Anyway, here was my recent answer to the question around how “designed” a minimum viable product (MVP) should be:

I think of MVP as applying to functionality more than design. We have a design baseline that must be accomplished with every product, no matter how limited. For us that’s about looking good, making sense and eliminating complexity for our users. We’re even applying these same standards to our backend interfaces for managing clients. With that said, it’s not about perfection: Something not perfectly aligned, as long as it adheres to brand guidelines, might make the cut (though I don’t imagine it would because our designer and frontend engineer are very much a sticklers on that stuff, plus we use Bootstrap, so it pretty much deals with that problem).

So what does this actually mean?

When we’re thinking of new products (which we’re doing pretty frequently) we’re always trying to figure out how we build it as quickly as possible. Sometimes that means we can do it without any code at all (a notification email can be tested by sending it out manually) and sometimes it means bolting something onto the site rather than doing a full integration. With the latter we know this isn’t where the feature would live long-term, but it makes it much easier to get live and get feedback (as a SAAS company we can pretty easily reach out to our clients directly and ask them to try something).

The process, then, starts to look something like lots of different components at lots of different stages of maturity. I’d say at all times we try to have a few MVP-like products out there that we’re testing and experimenting with.

Everyone has a bit of a different take on this sort of stuff and we’re still a very small team, so obviously we can do things pretty quickly, but I’ve been very proud of our approach and ability to ship a lot of product (we pushed a lot of major features in the first quarter of the year). I’m sure it will continue to evolve, but it seems to be working pretty well for now.

As always, I must add that if any of this sounds like fun we’re hiring on the product team. We’re currently looking for engineers and designers. Come join Percolate.

Want to learn how Percolate can help with your content marketing?

Get in touch and we’ll show you our system in action.


Data visualization: moving beyond pretty pictures

Many data visualizations are very pretty, but don’t present the viewer with all that much information (or at least not any new information).  And while it is true that confirming what you already know is a great way to test and see if the way you are organizing the data has any merit, that it is an important first step. But for a lot of projects, that process of confirmation seems to be the final step.  The data are collected, something visually cool (but not all that useful) is built, and the creators promise to work on it more.  A few months later, the visualization is even cooler, but the utility has not improved; what I would suggest is the most important part of the process has been left to wither.

We have to consider not just about how to visualize a data set but the virtue that the visualizations has.  I used to be dismissive of a good number of visualizations and infographics that made their way onto the web, but organizing them into categories helped me appreciate that different types of data representation have their place.

In my mind I roughly categorize visualizations in the following way (the organization is only roughly hierarchical):

A rough hierarchy of data viz - by Erik Dies

The chart above shows levels of data visualizations. At the lowest level is a pretty picture or animation that can be used to impress visitors to your office/site/etc, but which doesn’t really contain any information.

Next up would be a pretty picture that does contain information, but just confirms what you already know.  If you have a visualization of geolocation data which illustrates that people go to work during the day and bars at night, you haven’t gained anything.  It isn’t quite useless, because if things were the other way round it would be a good indication you are crunching the data incorrectly, but no decision is going to be made or affected by that information.

The next level up is where the visualization improves understanding or comprehension of a system, often by offering a top down view.  These are terrifically effective when a system is too large to comprehend, often because the numbers have become so big that they can’t be understood well on an absolute basis.  Great examples of this kind of visual are the death and taxes poster and the spending grams at information is beautiful.

Next, or perhaps additionally, is a visualization that contains information that affects decisions or causes decisions to be made that would not have been made otherwise.  Visualizations of this type can still be largely qualitative in nature.

Next is where the visualization yields quantitative information.

The final level, the brass ring, is where machine actionable quantitative information can be extracted from the visualization.  The computer can generate it and the computer can use it.  The visualization is important to letting a person see what is going on, and to check on what is going on, but the person is no longer important.  These are an accomplishment.

The worst kept secret in graph theory is that the most effective tool for pattern recognition is the human eye, so replicating any part of that is to be commended.  As an example I would consider clustering of nodes in a graph.  After coming up with a measure (the hard part) and selecting a graph layout, clustering can give you lists of groups that can then be used for other purposes.  It even might be more apropos to call this last level information processing that has an obvious visual representation.

I think all of these types of visualization have their place, and by recognizing what a thing is you can avoid being disappointed that it doesn’t do more, or being overwhelmed with considerations of how much effort you should put into it.

When the amount of raw information you are dealing with exceeds your ability to digest it, a good visual representation can make the information comprehensible.  Bad data visualizations just dazzle; good ones illuminate; great ones allow for discovery.

Want to learn how Percolate can help with your content marketing?

Get in touch and we’ll show you our system in action.


Stock & Flow Disclaimer

Every time we write a blog post about stock and flow (as we did yesterday) someone on Twitter asks/accuses us of stealing the idea from Robin Sloan. Rather than bothering Robin with a tweet every time asking him to clear up the confusion, I decided we needed one definitive blog post explaining our position and his support. This is that post.

In 2010 Robin Sloan wrote a great post outlining how he felt like stock and flow were the perfect metaphors for understanding content on the web. Stock, Robin explained, “is the durable stuff. It’s the content you produce that’s as interesting in two months (or two years) as it is today. It’s what people discover via search. It’s what spreads slowly but surely, building fans over time.” Flow, on the other hand, “is the feed. It’s the posts and the tweets. It’s the stream of daily and sub-daily updates that remind people that you exist.”

Lots of people found Robin’s post helpful in thinking about the web and we have run with it to help brands think about how to approach content creation on the web. Like any good idea, we are trying to continue to build on top of it. And Robin knows and approves:

Want to learn how Percolate can help with your content marketing?

Get in touch and we’ll show you our system in action.


Working with an API

The easiest way to decide whether to write about something is to just see what you end up talking about. For me, at least, that seems to be a good barometer. Obviously I spend a lot of time talking about what I’ve been doing, but specifically I’ve been chatting with people lately about how we’re working and I thought it might be worth sharing.

In early December we released version 1.0 of Percolate (whatever version numbers really mean these days). Beyond the feature updates and focus on the brand dashboard, 1.0 also brought us to a point where we were running (almost) the whole site off our API. This isn’t anything new, really, lots of companies are running the product off their API (Twitter being the most famous, probably). There are lots of advantages to working this way, but the one I’ve found most interesting is the effect it’s had on the way we develop.

At Percolate we don’t have a strict methodology. Between myself and the team we’ve read and experienced lots of different ways of developing products and we have landed on the one that feels most natural to our product, our team and the sort of features we’re building. The way that plays out is short sprints of a week or two where everyone jams a bunch of small and large additions/fixes into a .1 release (is that the proper notation??).

While we’re still generally taking that approach, one very big thing has changed since we moved to our new architecture: Everyone works at the same time. One of the really neat things about running everything off an API (and again, apologies if everyone else already knows this) is that once the feature team has defined what they’re building, backend, frontend and design can all happen in tandem.

We start by sketching everything out and finalizing flows. Once that happens everyone gets to work: Backend writes some Python, frontend writes some javascript and design finalizes interaction and visual design. Because it’s all just data being passed around, no one needs to wait for anyone else. As long as the data is modeled, we can write all the frontend code before the actual endpoints are complete (and before the visuals are solidified).

Then, once everything is finalized, we can essentially hook all the pieces up and flip the switch. Obviously it never works quite that simply, but the basic gist is all there. Because everyone is just passing around standard structures of data they can all work pretty independently, allowing us to push through releases pretty quickly. Obviously it means that the whole team needs to be very familiar and bought off on designs and trust the designer to not do anything crazy, but with a product team of six that’s not too tough.

Hopefully that’s relatively interesting. As always, we’re we’re hiring product managers, designers, engineers and sales people if your’e so inclined.

Want to learn how Percolate can help with your content marketing?

Get in touch and we’ll show you our system in action.