We love walls of text here! Compared to the previous ones, this one is written after my vacation, and just after torturing myself by reading research papers for two hours. I’ll decompress by writing a bit about Castagne and one of the subsystems of the editor to allow continuous improvement of the engine!
That’s right, I’m making spyware now. I’m going to gather every keystroke and network packet on your computer to sell it back to LLMs. Just need to find a way to add blockchain in there and raise a gorillion dollars in venture capital. Of course it’s a joke (although I do remember someone asking in the Castagne discord if it was a virus lol, as if I was gonna say “oh yeah dude you got me”), but after talking about communication from me to you and how to handle beginners, this update’s subject is about the communication from you to me!
A big part in improving software is feedback. I love getting multi-page google docs telling me how the software can improve (thanks to those that send them to me!), bringing in new ideas and refining existing ones. What you do with said feedback is another question, but to do that you need to actually have some, which is fairly rare in practice. So, how do we currently get feedback from users? (not counting bugs and the like, which while these are feedback it’s more of a technical kind)
As you can see, getting feedback is not an easy task. There’s a lot of filters, and it requires a constant pulse on the community. There’s also a few MAJOR flaws in these methods:
A lot of this can be traced back to not having an actual plan on this lol, which is honestly very okay. The main aim of the software is to be functional first and foremost. Still, having more data, both objective and subjective, in a more structured way, and at higher frequency would be great, and allow finding out a lot of hidden pain points and paper cuts of the software, or seeing how tutorials help people, etc. An integrated system will also help understand where the silent users or the ones that drop out early go. From what I remember of the stats, there’s like 10-15 new users on the Discord each month (vibes only) while the software is downloaded like 500 times a month (varies but it’s around that part).
Therefore, with that in mind, I want to add software usage metrics inside of Castagne. Stuff like seeing which help rubrics are most used, heatmaps of the interface, what tutorials and genres are used… All of that should give a stronger view into the actual use of the software and its potential improvements, and thus give a third layer after me dogfooding the engine and invested users giving their opinion. However, I don’t want this to be predatory, as it goes against my whole worldview. Data is not going to be shared automatically: this is purely opt-in and respects the user.
This does limit the amount of users that get caught in it, but I hope the more respectful approach will lead to people being more willing. The actual mechanism of sharing leans into this through the upcoming Pulse Survey: as opposed to doing one survey every whenever that takes a long time to answer, a small survey is kept and updated in the engine and prompted for every X weeks. The idea is that the survey takes very little time to answer but also allows space for open ended questions. Answering the form also optionally shares your metrics, putting you in control and allowing both quantitative and qualitative data. Questions are cycled in or out over time depending on what I want to know.
One of the aims here is transparency and privacy: I don’t want to get too much information, the idea is not to be able to track actual games through it. Beyond the fact that some are under NDA, this would be disrespectful and I would not like that to be done to me. I also want to avoid a lot of that personal data management by anonymizing it, I just want to know some details on how the engine is used and can be made better, not see what anyone specifically is doing. Exact details on what metrics to gather in a respectful way and how much information can be had on a user will have to be determined and discussed. One major aspect is going to decide if a user should be able to be tracked from one submission to the next to see their evolution: very interesting data, but might go a bit too far even if anonymous.
Under this system, that means that metrics are going to be gathered in a few key ways:
While just like the tutorials this is very much not a core system for the engine, it’s something I want to implement early to get the best insights and integration with the rest of the engine. Bugs also get caught earlier, and considering how it affects early users, this is important.
What do you think? Does this seem like a proper strategy? What data would you not want to share specifically? Next time we’re talking about the Community itself!