Building a Perfect Mobile Share Flow

UPDATE: We’ve launched our iOS SDK. READ MORE HERE. It doesn’t include integration yet.

Screenshot 2015-04-28 12.38.05

We’re building something new at YesGraph, and we wanted to let you know early because you can get involved. It’ll be 100% open source.

Mobile apps have a choice for share and flows: build their own or choose the native flow. The native flow is a pretty horrible experience, but building your own is a lot of work.

We also want to make it easier to use YesGraph. We want to make using our API easier than doing anything else. Our standard is the native share flow — it needs to be just as easy but with far better performance.

So we’re going to build an SDK for iOS that manages the sharing and invites. We’ll have connecting to a mobile address book, and we’ll use YesGraph contact ranking to drive a huge performance book there. This is the next step after building a Python SDK to use YesGraph.

It turns out our friends at Branch Metrics have already built a flow that has a lot of things we like. So we’re going to enhance it with YesGraph’s API. Go see the fork here on Github. The original repo is here. This means all the links sent can be wrapped with Branch deep links. Bonus!

We’ll also optimize the experience for sharing with a few design changes. This is going to be a work in progress that gets optimized with behavioral data over time. We’re following a pattern started by Stripe, who made an optimized embedded checkout flow. We love using that, and want to make a similar flow for sharing. You can expect Android, web, and mobile web versions too.

We need your help. We want feedback on how to package up our API wrapper and on how people want to customize and tune this flow. Please get in touch on Github or at if you’re interested in helping.

We’ll also publish a few posts on this blog related to the effort. We’ll talk about the design patterns of what makes this flow work really well. Subscribe to get future YesGraph posts here.

Finally, we’re hiring for a mobile focused engineer. We think this effort is so important that we want someone on the team dedicated to building the best share flow ever. Email me at if you want to help.

Why You Must Store Your Own Analytics Data

monk3Many companies get their analytics systems backwards. People love looking a graphs and performance dashboards. But analytics isn’t data porn. The fundamental purpose is to answer questions to help your business succeed.

At a young company, you probably don’t have all the analytics pipes setup. You should store your own data even at the very start. In this post I’ll explain why and the default way to get it done.

If you start sending event data to a tool like Mixpanel or Google Analytics, it means you can answer lots of questions. If you don’t need to write any code to answer a question, awesome! I love these tools and you should be using them.

Unfortunately. this doesn’t cover all cases. If you don’t control your analytics data, you’ll be left with a choice: answer with the tools you have or don’t answer at all. This is a poisonous problem for product teams — not just because you can’t answer the question immediately. It also changes the way you think about your data. You start to fear asking questions for the cost answering might incur. Your organization avoids answering hard questions, instead focusing on what is easy to answer. Poison.

If you have your own data, you can write a quick script to answer the question. Parsing analytics data with a targeted question isn’t the same as building a complicated dashboard. Building dashboards is a much harder engineering and design exercise than most people appreciate. So don’t do it — just answer your question directly with your analytics and user data. Once you do that a few times, you’ll start to build institutional know-how and tools around processing your own data. This is a virtuous cycle for startups.

I’d estimate around 50% of the questions I ask at YesGraph can’t easily be answered by our hosted analytics tools.

The Default Way To Store Data

There are lots of ways to get this done. I want to help you choose the most obvious way so you can get back to work. If your boss asks you, just tell them the growth experts at YesGraph told you to do it.

First, use Segment. They will help you structure your analytics events correctly. Segment lowers the cost of trying new tools, which can help you avoid. So you’re going to win by choosing them.

Next, implement their webhook. They’ll pipe data back through to your systems. You don’t need anything fancy at the start. A simple relational database can store your data. You only need to worry about scaling once your queries get really slow. Again, fear of the cost of answering a question will poison your culture into avoiding asking them.

If you have deep pockets, pick their enterprise tier and store the data in Amazon Redshift directly. Then Business Intelligence tools like Chartio and Looker can work directly off that data. You have your data, and better tools to analyze it. It’ll cost you money and save you engineering time.



Subscribe to get future YesGraph posts here. We routinely write about growth and issues around data and analytics.

How We Built ClickShareLove at YesGraph’s 1st Hackathon

YesGraph just finished our first hackathon. Hackathons are fun events where you try to build something in a really short time. We had around 30 hours, and even with my high expectations, I was very impressed with what the team was able to produce.

There are a few projects to announce on this blog, starting with Click Share Love.


It’s About Love, Not Ads

Promoting content on Twitter has had a mixed history. Third parties started playing in the space before Twitter locked things down. I always hoped that truly native ads on Twitter would leverage the interest graph that is inherent to asymmetric following. I love lots of stuff, and I’d be willing to help that stuff because I love them so much. Getting paid needn’t be part of the equation.

From a brand perspective, getting out your message is notoriously difficult. Love – Ads + Promotion = Click Share Love. ClickShareLove allows your current fans to help spread your message to their network. It works like this: you ask for support from your fans. They choose how frequently to support, up to daily, weekly, or monthly. Then you can promote a tweet to trigger retweets from all the supporters. That’s it, but structurally, you’re sending a message through your fans to their followers, and this helps grow your fan base.

How about an example? When we published this blog post, we tweeted about it and then promoted those tweets on ClickShareLove. Our message was promoted by 9 supporters, who have thousands of followers. What if you had 1000s of supporters? Go try ClickShareLove today.

Oh, and you should go support YesGraph on Click Share Love!

Hackathons: A Ton O’ Hacks

Building something that can be launched in a few hours is actually pretty easy: you need to ruthlessly cut corners to get something coherent out. This might mean some thing are done manually. It might mean the design or infrastructure won’t scale. It most certainly means that you cut features until you have something reasonable to build.

A good example here is that there is no background processing in Click Share Love. For a service that needs to pull your recent tweet history and also schedule promotions, this is a horrible engineering design. Why cut it? Because fuck it, we’ll do it live: it’s simpler and already done, so move on. Another example: none of the interactions in the app are asynchronous, meaning each click triggers a page reload. This is horribly unscalable and inefficient, but for such a baby app, it just doesn’t matter.

In contrast, the design of Click Share Love is actually really awesome. If it were just me, it would be unstyled HTML, but because YesGraph’s designer, Guillermo Torres, got involved, we have a beautiful and delightful visual design. I especially love the logo, which really captures the idea of sharing what you love, and it is an unintentional play on the retweet icon.

logo If you want to get updates about what else we worked on, subscribe in the footer to get future blog post in your inbox.

2 Tools To Make Social Media Management Less Daunting

A pillar of social media management is finding valuable content and sharing it via a variety of social platforms.  But with so much information online how do you find the right content?  How do you maintain a consistent flow of meaningful posts?  This process can be both overwhelming and time consuming.  Our solution at YesGraph is to use the online tools Inc and Buffer to collect information and create posting schedules.

Everyone on the YesGraph team finds great content online and we needed a place where we could share, store and collaborate on all of it.  Sure, we could copy a link and send it via email, but that information is easily lost in email threads or chat sessions.

Collecting Content With Inc

We use Inc to maintain an accessible library of interesting content over time. When a team member finds an article that they feel is valuable to our online community, they use the Inc Chrome extension and instantly upload the content to our Inc library with the comment #newsletter (the overarching hashtag for our social media posts).

I search #newsletter daily and see what articles have been shared and curate them for all of our social platforms. Team members can also leave comments and instruction. For example “please tweet @bobbrown with this article”. This allows the whole YesGraph team to be a resource for sharing valuable content.

We use this process for more than social media. Some links are great for #engineering, others help with #onboarding new employees. We use hashtags like this to help organize all this great content.

Posting Content With Buffer

With all of the content collected I turn to Buffer to help make posting easy and efficient.  I am able to take the information straight from our Inc library to Buffer where I can upload posts for all of our platforms at once. The custom scheduling allows me to tee up multiple posts in the future.

Inc + Buffer

With a full library of content and a schedule, I can layout my social media posts days in advance which takes away the stress of always updating in real time. Once I have shared an article I comment #shared on my Inc feed so that I can track what articles have already been used. I also use the Buffer analytics data to see how my posts have performed. Here is what that looks like, ample whitespace and all:

Overall, I spend around 30 minutes to curate the content that goes out through the week. Thanks to the awesome teams making Inc and Buffer!

No Secret: the Demand For Mobile Engineers is Absurdly High

Screenshot 2015-11-03 12.46.45

I have a secret. Well, not for long. I’ve been using the awesome new app about sharing anonymously with friends called Secret. It lets you post messages to friends without revealing who you are.

Because I’m building YesGraph, a referral recruiting tool, I naturally thought about what kinds of conversations would happen on the platform related to talent and HR. I’ve seen people post their salaries and net worth, which are obviously private.

Then I tried a different experiment. I claimed I was a iOS engineer and designer looking to leave my startup. A half dozen people posted contact info to get in touch. Continue reading

What Design at a Startup Actually Looks Like

Screenshot 2015-11-03 12.46.45

We recently recorded a design review at YesGraph. We share these discussions internally with the team to help build shared context for a project. The result is an interesting snapshot of what design actually looks like at a startup. We decided to share an example, and if people enjoy it, we can continue to openly share how we build YesGraph. Continue reading

3 Surprising Social Design and Engineering Challenges in Enterprise Software

It wasn’t until I first started working on YesGraph that I appreciated the design and engineering challenges in enterprise software. When you think about enterprise software, you probably think “bad software”. Think about getting expense reimbursements, signing up for benefits, or using a VPN. In a word: cumbersome. This makes the deep challenges even more surprising. Continue reading