Reconciling master and

Posted by gina

ThinkUp’s open source developers and users have noticed that the downloadable, run-yourself version of ThinkUp doesn’t look like the version running on You can see the difference for yourself: here’s my install-yourself ThinkUp and here’s ginatrapani on

Indeed, the code that runs on (in the public branch called is several commits ahead of the master branch. We haven’t merged the changes we made in back into master yet, because in order to launch we cut several features and heavily redesigned what was left. The code we produced runs a non-admin’s ThinkUp with basic Twitter and Facebook functionality, but that’s it. Install-yourself users know that ThinkUp does much more, especially if you’re an admin, but the code doesn’t support it. In short, it’s not ready for everyone.

Of course, anyone is free to download and run the branch, but since it’s not release-ready, a lot of the design and some functionality will be broken. For that reason, we don’t recommend regular users install the code in the branch.

We do ask community developers to pitch in and help us integrate the look and feel and optimizations into master. To give you an idea of what needs to be done, some of the open tasks include:

  • Redesign registration, login, and forgot password to match
  • Redesign all the admin settings pages.
  • Redesign all of the plugin settings pages beyond Facebook and Twitter.
  • Re-enable search, Facebook pages, and Twitter keyword search.
  • Fix and re-enable web-based crawling.
  • Re-enable browser notifications of new insights.
  • Migrate all the application’s tables from MyISAM to InnoDB.

In order to minimize conflicts, we rebase the branch on master on a regular basis, so any changes that happen in the master branch while this work is in progress will also get included in

Our goal is to get all ThinkUp users running the same code and enjoying the same great user experience. We’ll be working on syncing up these branches in the weeks to come, and we hope you can help.

Frequently asked questions

When will the code get released to install-yourself users?

We don’t know; we haven’t settled on a release date yet. So far, the core team has spent most of our time building and improving the hosted service. Now that it’s launched, we’re turning our attention toward merging that code back into master so everyone can benefit from it and build on it without fear of conflicts. In the coming weeks we hope to spend about 20% of our time syncing the branches.

What code should I run?

If you’re a ThinkUp user who wants to run the app yourself, download the latest stable ThinkUp release (built from the master branch).

If you’re a developer who wants to play with the newest code and you’re prepared for the app’s design to be inconsistent, misaligned, awkward, and some buttons and features to be broken, check out the branch.

How can I help?

If you’re a PHP developer/CSS lover/HTML composer/JavaScript wrangler and any of the tasks on the todo list above sound like fun, please pitch in! Git pull the ThinkUp repository, and switch between master and to get a sense of what’s different between them and what needs to match. Then roll up your sleeves and submit a patch. You can read more about how to help build ThinkUp on the Developer Contributor page.

If you’re a designer, writer, UX expert, or a regular user who wants to help, we need you. Get in touch on the community mailing list to help out fellow ThinkUp users, let us know what you think of ThinkUp’s current insights, discuss what insights and other features you wish ThinkUp had or handled differently, and document any bugs you encounter using either hosted ThinkUp or the install-yourself version. Every feature discussion, bug report, and bit of user feedback helps.

Thanks in advance.

User Experience is a commitment to developing products and services with purpose, compassion, and integrity. It is the never-ending process of seeing the world from the customers’ perspective and working to improve the quality of their lives. […] It is the perfect balance between making money and making meaning. […] UX is mindfulness.

- Whitney Hess, UX coach

When I talk about the point of ThinkUp I often use the word “mindfulness”, a raising of awareness about how you spend your time online. A big part of our transition from open source project to consumer product was a focus on the user experience over the tech or the code or a multitude of settings or integrations, so I loved that Hess’ 200-word description of what UX is included “mindfulness.”


Start with the first moment a user might learn of your product — maybe it’s an email invite, or a text from a friend, or a notification of a forced install from their IT department, or they heard about the app from someone. Then show what that first-user experience looks like.

Better yet, invite us ahead of time so we can see it for ourselves. Let me explore, and in our demo ask me questions, delight me with elements I’ve missed, or tell me about other users doing cool things.

We think about this a lot for ThinkUp. Our assumption is that new members come to us because they saw someone share a link to their ThinkUp account, or they saw a mention of ThinkUp on a blog or a news site. And then they saw it again. And then maybe a third time. Once it’s come up enough times, someone might take the time to go to our homepage and say, “What the heck is this thing?”

We’re building toward having a good answer to that question, a path where people can discover for themselves, on their own, in the natural course of clicking around the web, why ThinkUp might be of use to them. That’s the “growth hack” we want to enable as we build our company and our product.

Not there yet, but we’re thinking about this idea a lot.

On the Hunt!

Posted by anil

Today, we’re over on Product Hunt, the great community site for people who like to check out new apps. We’ll be answering questions from the community about ThinkUp, but if you’re already a member, do us a favor and vote us up! We’d really appreciate the help in getting the word out about what we’re up to.

[Bonus: I put this pretty picture in the comments there. Should we make a wallpaper out of these colors?]

There’s got to be more than just blue.

Posted by anil

Most of the time when we’re using social apps, we’re stuck with whatever shade of blue a particular social network has picked as its only splash of color.

But we’ve been working on ThinkUp for a long time, and realized we wanted something that was a little more fun, something that had a little more soul. Perhaps no set of choices helped define ThinkUp for the better than the rich palette of super-saturated colors that define its user interface. Since you seldom see them all in one place in the app, here’s a look:

The colors that make ThinkUp look like no other app were smartly chosen by Matt Jacobs and Khoi Vinh, and they picked some fun (and mostly pretty tasty) names to go along with them. (We use these names we’re planning out parts of ThinkUp’s design, but they’re mostly arbitrary.)

We also spent a good bit of time debating among the team whether the individual colors should be assigned to particular meanings for the insights ThinkUp displays. Right now, the colors aren’t tied to any specific meanings. Or are they? Hmmm…

llo0o0oll asked:

Regarding the "enough about me" feature: perhaps consider only tallying tweets which aren't tweeted to other users? Talking about one's self is obviously normal in conversation, but talking about yourself to no one is what's off putting.

Great point! We’re definitely looking at ways to make insights like this smarter. The goal with giving you insight into how much you mention yourself isn’t to make you feel bad (as we talked about in “Our best feature is our worst feature”) but to give you enough information to make a decision.

Maybe what we can move toward is letting you know if you were talking about yourself in a response to someone else or just unprompted. The key is just to offer you the perspective you need to make your own choices.

A thousand no’s

Posted by gina

Over on Quora, a user asks, “Why doesn’t Chrome have an option to put tabs on the bottom?” Chrome developer Evan Martin answers:

Broadly, “why doesn’t Chrome do [x]” can almost always be answered by “because [y] and [z] were considered more important and we don’t have time to do everything.”

We don’t have time to do everything. This is the toughest thing. When you’re making software, the possibilities around what you can build are endless, but the list of things you must build is what matters.

Apple’s product marketing puts it a different way:

There are a thousand “no’s” for every “ yes.”

In order to ship an app, you’ve got to be a ruthless editor. Intellectually I knew that, but launching was a special challenge.

With five years of development behind it by almost 100 open source contributors, ThinkUp is made of hundreds of thousands of lines of code and dozens of plugins. Instead of deciding what to build and shelving the rest in the planning stages, we had to cut actual, working code—features that had been discussed, built, tested, and that I’d personally pored over, approved, and deployed.

In other words, we had to kill my darlings.

It wasn’t a short list. doesn’t have search, export, invitations, user role management, per-user dashboards, RSS-based crawling, reCAPTCHA, thread embedding, crawl pausing, browser notifications, reply filtering by most frequent words or ordering by geographical distance, a Chrome extension, Twitter search keywords, or Facebook page tracking. doesn’t have Google+, Foursquare, YouTube, Instagram, Bitly, or Google Maps support. doesn’t have a free trial or monthly pricing.

Heck, for the first few weeks, users weren’t able to change their passwords when they were logged into We cut as far down to the bone as we could.

In Lean parlance, we launched our Minimum Viable Product. Then we listened. The funny thing was, the things our members wanted—like richer email notifications and better stories—didn’t overlap with the features we cut. Other items—like a free trial and monthly pricing—are getting attention in the coming months.

From the start, Anil and I knew that to turn the open source project into a consumer product, ThinkUp had to undergo a massive redesign and simplification, a brutal pruning of every single thing that wasn’t absolutely core to the most useful, simple, and delightful experience.

We’re proud to have shipped on time. Still, it’s not easy to hear users say they like your app but wonder why it doesn’t have something and speculate why. For the most part, the reason is simple—we didn’t have time to do everything.

So, our promise to you is twofold. First, every single thing you do get in ThinkUp represents a thousand others we omitted or delayed after thinking long and hard about it. Second, we’re using the time we do have building ThinkUp to make the insights, add the features, and fix the bugs that matter the very most. We’re not near done—in fact, we’ve only just begun. In the meantime, we’re always listening.

If you haven’t already, join ThinkUp and let us know how we’re doing.