Occasionally, we humorously refer to ourselves as a "customer driven development team", because a subset of our team's direction is given to what our customers want.
As a small open-source project, we have been dealing with early adopters and other tech-minded people, and so most of the time, requests and feature suggestions were in-line with our own eventual goals.
For decisions related to the NodeBB core, we often take our cues from our community support forum, and that has worked out pretty well so far. In addition to bug reports, the community forum often contains some very insightful discussions on NodeBB's feature set, and has in many cases changed our minds on how we implement a given feature (or whether it is implemented at all).
After all, developers aren't users, and what somebody like myself would find easy-to-use and frictionless, somebody else might find hopelessly confusing!
Reflecting on this got me thinking about how we could improve our signal-to-noise ratio, and get a better idea on what needs to be improved.
Conversely, what would a forum owner want that we don't have already, that would help them make better decisions?
More data in the Dashboard
Regarding the latter, we've often heard requests for better data collection or analysis in NodeBB's ACP Dashboard. While we have a long way to go, we've now added the ability to change the main graph to show page view trends across a larger block of time.
Prior to this change, it was only possible to see page view and unique user count data on an hourly basis, going back 24 hours, but we've now added a set of alternate views to show daily pageviews for the past two months:
These new ACP graphs ship with NodeBB v0.9.1, which has been released yesterday.
What other graphs should we show? User registration trends across time? Let us know in the comments!
Package Manager Metrics
Did you know that whenever you load the "Plugins" page in NodeBB, you're actually querying our service to show available plugins?
We use this service to send curated lists of plugins for each reported version of NodeBB, in order to increase compatibility. In addition, plugin installs also query the package manager to grab the best version for your NodeBB, as sometimes upgrading too far past your NodeBB version may not be recommended either.
In the past, we did notice that plugins were being made to replace existing functionality in NodeBB. Occasionally, some of these plugins' features make it back into core, but it is difficult to judge which plugins were created and used by one person, and which really solved a deficiency found in NodeBB.
By examining some of the query data collected by NodeBB, we can begin to see some trends in terms of plugin installation:
- Everybody really likes polls
- While I expected higher usage from China, I did not expect so many queries coming from Germany
- Youtube embedding, analytics via Google, emailers, and third-party image rehosting plugins also make an appearance
But you didn't think we'd keep all this data to ourselves, did you? Sharing is caring, so here's a summary page for you to bookmark:
Tinfoil hat time!
But wait! What is this mythical "metadata" you're collecting anyway? Should I be concerned?
Don't worry, we don't receive much data from you besides what you normally send over the internet anyway, and what is absolutely required in order to function.
By inspecting NodeBB's source code, you can see exactly what data we're sending:
- When retrieving the plugin list, we don't actually send anything
- When determining which package is best suited for your NodeBB, we send the package name, and your NodeBB version
- We also get the IP addresses from these requests
By observing this data and taking note of any trends that occur, we can better predict which aspects of NodeBB to pursue going forward.
Happy Data Analysis!