Influence Networks is a project that lets journalists and web-users map and visualize relationships between public figures. The video below provides you with an overview of the way it works.
As the project has already launched, we already published backgrounder articles like this one about the rationale behind the app’. In this post, we explain the experience we’ve gained since the project launched, in the hope that it will be useful to other Uutisraivaaja finalists.
Release soon, release often
It sounds obvious, but it’s really the single most important phrase when leading a project online. In less than 50 days, InfluenceNetworks.org has reached its 12th release. Over 25 bugs have been fixed, and @pirhoo improved countless less visible flaws.
The prototype was barely stable when we launched. Unicode support was patchy, permalinks were nonexistent and even the URL wasn’t right (we launched on app.owni.fr/influence-networks). Going public early allowed us to quickly spot the most important shortcomings. For one thing, we hadn’t included a relation type to describe memberships and people were adding these in droves using other descriptions.
Providing a quick fix for such problems is easy. Plus, it feels rewarding when you see that the bug you spotted in the morning is fixed in the evening’s release. Working on long-term projects can feel frustrating – agile development is a great cure for that.
What’s more, it helps you see what’s important from a user perspective. Like most other Uutisraivaaja projects, Influence Networks aims at becoming a great product that users love. To do that, focus on user experience is the one thing that matters.
Prioritize and prioritize again
We want users to feel like they’re contributing to a project that’s relevant to them and that will help people. At the same time, we want them to have a great experience.
Since @pirhoo and I are both nerds, we focused a lot on our innovative Trust rank system of assessing trustworthiness. Thing is, the system is designed so that it works without users having to think about it. On the other hand, what users really get a kick from are the cool visualizations. It turned out that users focused on famous people, like Nicolas Sarkozy. As you can see from the embed below, when you factor in all his relations, you don’t see much.
That pointed us to a problem we hadn’t foreseen at all: We need to let users filter visualizations. The inside-the-box solution would have been to filter by relation type, but that’s not relevant from a user perspective. Rather, we’ll use the URL that was provided as source to gather context about the relation that was input. Using a natural language processing API such as OpenCalais to extract tags we’ll build a taxonomy on that. In a few weeks, you’ll be able to filter out Sarkozy’s connections by broad themes, such as energy or media.
(Quick aside for the dorky type: We could and will probably use Freebase’s semantic nature to extract tags. For instance, we know that Angela Merkel is a politician and lives in Germany, from which we can infer that Sarkozy’s relation to her has to do with politics and Germany. This approach is better but it would run into usability issues, as we would need to do nested queries to Freebase. This would take up to 3 seconds a pop: too long for your average, lazy user.)
We would have loved to cull our original, nerdy to-do list, which was to switch from MySQL to a graph database such as Big Data and to focus on building better ontologies. But we know that, at the end of the day, no matter how cool your technology is, user experience is what matters.
Gather insights from your analytics
A great way to learn about your users is Google Analytics. If everybody tells you that they love your project and that your bounce rate (the proportion of users who leave the website after just one page) is sky-high, you might have a problem.
So far, stats look good for Influence Networks. The bounce rate is below 50%, which is kinda good for a news-related app. Time spent is North of 3 minutes, on average, and returning users amount for 40% of all visits. What’s more, our daily average is about 10% the amount of visitors we had on peak day at the beginning. Long story short, and given the experience we have at building news-related apps: Users like the product.
Saying that doesn’t help much, though. You need to take an ‘actionable’ analytics approach (i.e. formulate a hypothesis first and use numbers to validate or invalidate it). It means you have to stop looking at your analytics in a numb, self-satisfied kind of way (what I just did above) and focus on a precise metrics that will help you improve your product. On Influence Networks, we want users to contribute to the database. What we see from our Analytics, for instance, is that 30% of the people on the review page actually review something (the others move back to visualizations).
When we introduce features to improve that (e.g. gamify the app big-time), that’s where we’ll look at to assess the success of the new release. If the figures don’t budge, we’ll scrap that and start over.
As an aside, be aware that using lots of AJAX in your pages means that Google Analytics won’t track everything by default (it only registers page loads). You’ll have to spend time optimizing it to your needs.
Talk to people
This goes without saying. Being afraid that somebody is going to steal your idea is pure nonsense, especially as we’re talking mostly about barely profitable ventures here. If nobody has had your idea before, chances are it’s not good. What makes the difference is execution.
To execute in the best of fashions, you’ll need to gather as much advice as you can. We started pitching the project approximately 5 minutes after the idea popped up. Talking to all kind of people led us to using a semantic approach to store content. After an attempt at teaming up with a group of semantic buffs to manage data about entities, we changed directions and opted for Freebase. Another semantic expert told us not to worry about ontologies and to develop our own. A friend of a friend who’s worked with big semantic data advised us on which graph database to use. And so on.
Plus, seeing reactions will help you design your product. It’s like running a focus group, for free. When I pitch Influence Networks to my friends (who belong to this share of the population that thinks that Java is an island), they immediately ask about such and such personality. That’s a clear sign that we need to buff up our database and automate content collection before we make any move towards the non-geek public.
Believe in your idea
Finally, and most importantly, you need to keep believing in your idea and remember the 30 minutes of excitement you had when you first thought of it. As was to be expected, Influence Networks has been hugely popular among conspiracy theorists. Needless to say, that wasn’t our target group. False information has also been input (none of it reaches above a trust level of 2.4 out of 5, though). Support from peers can be faint.
On the other hand, some people we never met, like Ivan Begtin in Russia, wrote that Influence Networks is the application they’d been looking for. Some white-hair investigative journalists have been enthused by the concept. Over a thousand people took the time to register and contribute.
That’s why we’re tirelessly continuing to iterate, to learn from our mistakes and – hopefully – we’ll provide journalists and citizens with a great tool that will make a difference.