With Dolphin 5.0 almost here, we have one last announcement to make. In order to improve user experience in Dolphin, we're going to add a way for users to automatically contribute anonymized information about how Dolphin is running.
One of the chief inefficiencies in Dolphin development is that the team really doesn't get much feedback on how Dolphin is performing in the real world. Our dedicated testers can only do so much with limited hardware, game libraries, and time. On top of that, while fifoci is an amazing tool, it only has a small sampling of potential graphical regression cases, and we only add new ones after someone has manually discovered, reported and constructed a fifolog for the problem. With over 3000 games playable in Dolphin, most of the time the developers are completely blind to regressions and other issues that occur from their changes, and can only correct the problems when (and if!) a user informs us.
A massive Skies of Arcadia Legends performance regression almost slipped into Dolphin 5.0.
The Skies of Arcadia Legends regression would have shown up like a sore thumb with statistic reporting. It drops to ~4 FPS every time there is a battle transition. The problem would have been dealt with and handled without us having to rely on and then verify user reports.
People that opt-in to Dolphin's usage statistics reporting will be giving an anonymized version of their exact user experience a vote that can influence the future of Dolphin. For the first time in our development history, we will be able to see what kinds of computers are running Dolphin, how well games are running on that machine. Conversely, we'll eventually be able to see what games are running poorly or crashing on various hardware and operating systems. The realtime information will tell developers what is going right and what is going wrong without requiring a user to manually report it!
The benefits of this are immediate: users that are not a part of our forum or bug tracking community can now contribute without signing up or trying to describe bugs that they may not understand. Beyond that, Dolphin can even look for rare and special features within games that developers are trying to gather information on! In the past month, we've stumbled upon three new games that use a special "3x SSAA" GameCube/Wii output mode despite only knowing of four total titles for the past few years. With usage statistics, we can simply tell Dolphin to look for games that try to use a feature, and users simply using the emulator will be able to provide us with more information in a day than we could have hoped to gather in months of manually searching.
Of course, that's only if that user has opted in. The first time a user runs a build with statistic reporting, they will receive a notice and will be able to choose whether or not to participate before any usage statistic reporting takes place. Users can then control the option at any time within the GUI. If you're not comfortable with this, then you turn it off and will never be bothered again, not even when you upgrade builds. Also note, if you're ever curious about what Dolphin is collecting, Dolphin is an open source project, and the aggregated data will be publically available via a webapp (not currently finished).
In Dolphin 5.0, the stat collecting will be barely more than an infrastructure. Dolphin 5.0 will only collect basic information:
- OS and relevant system hardware
- Dolphin version
- Dolphin settings
- What games are being run via the GameIDs
- Information collected is encrypted during transit
Just with this information developers will get an idea of what we need to do to be better in the future. Do we have a ton of users that don't support OpenGL 4.5? Maybe we need to consider fallbacks on features that require it, such as bounding box. Does some game the team is unaware of have a huge following and tons of a problems? We'll be able to identify that and help our testers get games that need more testing.
On the other hand, Dolphin will never log any files on the users computer or gather any personal information on the user themselves. Later on, we hope to add addition information to the system, such as collecting framerate information and crash reporting. With those, we'll be able to quickly identify performance regressions and crashes if we start seeing problems crop up in a newer build. Whenever there is a change to the statistics reporting there will be information about it in a Progress Report.
Usage statistics reporting could go a long way to helping Dolphin continue to grow and improve in the coming years. We hope to use this feature to make better, more informed decisions that greatly improve the user experience moving forward. With that; be ready. Dolphin 5.0 is just around the corner!