As a software creator, what's so great about Web and mobile apps is that you can see how people are using your software and then make changes based on this genuine data. In other words, if your customer base finds a use for one of your tools that you had never thought about, you can tweak the code accordingly to support this new approach.
Twitter offers up some fine examples: both @replies and #hashtags were features originally brought over from messaging boards by Twitter users, not features added by Twitter developers. They're both now officially supported, of course, and are integral parts of the service. Just lately, Twitter CEO Jack Dorsey has come out in favour of extending the minimum number of characters allowed in a tweet — another 'unofficial' feature that users have already been finding their own solutions for.
Fortunately there's a whole host of tools available for this kind of data analysis and feedback when it comes to software development — here are some of our favourites:
- Google Analytics — everything you could want to know about traffic to your site, including who's visiting, where they're clicking, how often they turn up, where they're from, how long they stick around for, which browser they prefer to use, and so on.
- Kissmetrics — another analytics solution designed to show you which parts of your website are working and which aren't. The data provided by Kissmetrics helps website owners optimise both layout and content, and engage users at the right time.
- New Relic — similar analytics tools, but for software rather than the Web, opening up data feeds that can spot trends, troubleshoot issues and make sure end users are getting the best experience possible. Code, server and plugin support is included.
- Mixpanel — mobile and web analytics combined, Mixpanel offers a range of services covering user behaviour, app and site interaction, predictive analytics, and everything else you need to get a better picture of what your users are doing inside your apps.
- Crazyegg — Crazyegg is dedicated to understanding where on your site your visitors are clicking. Find out which parts of particular pages are attracting the most attention and which are going ignored, and use that data to optimise both layout and interactions.
- Airbrake — a bad bug can have users leaving your app or website in droves, which is where Airbrake comes in: the service helps you quickly spot when something's going wrong and work out the reasons why, and it's one of the best tools for this job there is.
- Papertrail — like Airbrake, Papertrail makes the error-spotting process easier, managing the endless logs coming from your servers and piping them into one central hub that's easy to navigate around. Browser, API and command line access is available.
- QueryTree — for exploring custom databases and extracting whatever kind of data you need. QueryTree is able to help with preparing database reports, testing software, making informed marketing decisions and improving the process of troubleshooting code.
There's only one downside to this intense analytical approach: a daunting amount of data. The way to make the best use of these tools is not to just dive in and start clicking around — instead, move away from the keyboard and think about the questions you need answering. These products work most effectively when used with specific, measurable questions, otherwise you run the risk of falling into a state of analysis paralysis.