Via Meri Williams on Twitter I heard about Gina Trapani and Anil Dash’s new app, ThinkUp, a couple of days ago. It calls itself “a social data insights engine” which, as far as I can tell, translates as: “Klout, but useful.” They are currently soliciting donations in the form of yearly subscriptions to the service, in an App.net, users-should-pay-for-stuff-they-find-useful kind of a way.
However, the system itself is actually open source and available to fork on GitHub so you can host your own install. That’s what I did on my MediaTemple (gs) shared server; here are some of the issues I ran into and how I fixed them.
Install this and this and this
Forking the GitHub repo and then cloning it on my server was easy enough, but the installation process immediately complained about a couple of missing components. Firstly the session.save_path wasn’t set; this MediaTemple Knowledge Base article explains how to fix the problem (and this one tells you how to edit your php.ini file if you haven’t done so before).
The second issue was a little trickier. ThinkUp requires that PHP has the ZipArchive class installed; okay, no problem, this Knowledge Base article explains how to install PECL modules on (gs), and this blog post includes some more pointers. The ZipArchive class is actually named “zip“, by the way. However, when I downloaded and tried to install the module, it threw a bunch of parsing errors during the make step. Bugger. Eventually I figured out that 1.12.1 is a beta version of the module, so all I had to do was delete what I’d downloaded and try again with the stable version number (1.10.2 as of this writing):
With that it compiled correctly, the ThinkUp install process was happy, and I was able to get it all up and running.
One more issue cropped up when I tried manually running the data import tool from the command line:
Warning: curl_setopt(): CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set in <redacted>/ThinkUp/webapp/plugins/expandurls/model/class.URLExpander.php on line 113
That cURL option tells the cURL request to follow any ‘Location:’ headers returned by the request. I’m not sure whether it has any effect on the quality of the data it gathers, since I don’t know whether any API calls would return a redirect (and it seems unlikely), but maybe someone will come along who knows more about this sort of thing than I do and can explain.
Once I got it all going and the “insight generation” script had done it’s thing, you’re left with a ton of imported data from the various services it supports out of the box (and they plan to add more), plus some interesting ‘insights’ into what you’ve been doing on social media.
I kind of suspect that it will be of most use to people who 1. have a lot more followers than I do, and 2. are a lot more active on social media than me; but it’s still an interesting alternative view of the loosely joined pieces of yourself online.