Two years ago this week, ThinkUp was born. Our first year we moved from alpha into beta, and our second year we graduated out of beta to great response.
Today I’m thrilled to report that over 15,000 social media accounts are registered on over 5,000 ThinkUp installations around the web. ThinkUp’s most well-known users include the White House, Martha Stewart, Steve Martin, Disney, and Pixar.
Our birthday is as good a time as any to do an honest assessment of where the ThinkUp product, community, and code currently stands. Here’s where we are.
Product
Turning an open source, install-yourself web application into a consumer product with broad appeal isn’t easy. This past year, tackling the challenge with ThinkUp was fun, educational, frustrating, and never as fast-moving as I would’ve liked. There is still much to do, but this past year, we:
- Launched ThinkUp’s new application documentation, which is searchable, community-written, and way more attractive than GitHub’s wiki. ThinkUp’s current corpus of documentation weighs in at just over 42,000 words.
- Redesigned ThinkUp’s application interface and project homepage, published a sneak preview of ThinkUp 2.0’s look and feel by Mule Design, and produced a new promotional screencast.
- Added support for Google’s new social network, upping ThinkUp’s network support to the Big Three: Facebook, Twitter, and Google+. A Foursquare plugin is in development now.
- Added one-click cloud hosting options on PHPFog and Amazon EC2 for users who don’t have a web site host or don’t want to futz with one.
- Offered a ThinkUp API which powers three projects: ThinkBack, The Federal Social Media Index, and the Social Timeline.
- Created a “GitHubless” experience for non-developers. New users with no interest in the source code can download, install, and search ThinkUp documentation without ever leaving thinkupapp.com.
This is just the start. ThinkUp still has a long way to go in terms of ease of setup and use, and we’re working hard on getting there.
Community
Our community is our best feature, but building community is hard work. So is shipping version 1.0. Doing both at the same time was tough for me this past year. Happily, our community is self-sustaining. On the days I was heads-down coding ThinkUp 1.0 features and fixes, the community continued to grow, support itself, and contribute to the product via GitHub, our mailing lists, and social media. In the past year:
- We successfully organized a peer mentor program and awarded our first bounty. Three teams of veteran/newbie mentor/mentee pairs had code accepted into ThinkUp’s master branch.
- 22 people made changes to ThinkUp’s codebase, increasing our total to 75 all-time contributors.
- 337 developers have forked the ThinkUp repository on GitHub, and 1,782 users are watching it.
- ThinkUp’s community mailing list grew to 870 subscribers, and hosts an average of 8 conversations a week. ThinkUp’s developer mailing list grew to 75 subscribers.
- Both mailing lists have hosted zero flame wars.
- On Twitter, @thinkupapp gained 1,972 followers for a total of 4,916. On Facebook, 1,754 people “like” ThinkUp’s page. On Google+, 235 people have added +ThinkUp to their circles.
- Ten episodes of the community-run, call-in ThinkUp podcast broadcast.
As always, our goal is to make participating in the ThinkUp community and contributing to ThinkUp code, documentation, and design as easy and accessible to everyone as possible.
Code
Over the past year, ThinkUp’s codebase grew considerably, but its data structure and object architecture scaled well. For new contributors, understanding ThinkUp’s architecture in addition to the git/GitHub workflow can be daunting, but experienced developers have begun creating tools that make it easy for newcomers.
In the past year:
- ThinkUp’s source code changed 522 times, an average of 1.4 commits per day.
- 1,182 files in the codebase changed: specifically, there were 85,112 lines added and 20,421 lines deleted. (The extra-large leap in total lines of code is partially due to the addition of our documentation to the git repository.)
- ThinkUp had 13 releases: 9 betas from February 2011 until November, 1.0 in November, and 3 1.0 patches, an average of just a little more than 1 release per month.
- ThinkUp’s automated test coverage increased 150% to 8,898 passing tests.
- Out of 1,262 items in ThinkUp’s issue tracker, 107 are open, and 1,155 are closed.
- ThinkUp spawned another open source software project, Isosceles, which I’ll describe more in a future post. That ups the total to 3, including the GitHub pull request email bot, and the Fixture Builder library.
- ThinkUp includes 2 developer tools which auto-generate starter code for new contributors: a ThinkUp plugin maker, and model maker.
As with product and community, there’s much work to be done in ThinkUp’s codebase. Developers, we hope you’ll fork the project on GitHub and help us make it even better.
It’s hard to believe that a 2009 weekend project which scratched a personal itch has grown this much. Thank you to the community and to Expert Labs for making it happen. Happy birthday, ThinkUppers.