SakeTami
Touhou-Project.com
Touhou-Project.com

patreon


The 5 Ws and a How of a Box

Hey guys, hope you’re doing well. This time around I wanted to talk about the latest updated stories tracker, probably better known as the mystery box. Specifically, why it took so long to roll out, especially given its relatively primitive current state. I'll be making this post available publicly in a few days, because it may interest non-patrons to peek behind the curtain a bit.

I have to start with some possibly uncomfortable honesty: the main reason it took so long to get done was that there was little incentive to get it done. I’ve been virtually alone in managing the site and dealing with issues for many years. I was paying for its upkeep out of pocket while at the same time juggling actually using the site and managing the community while dealing with far more pressing real life things. The dozens of hours needed for conceptualizing things, reading up on required programming knowledge, writing code, testing, altering and finally deploying are much harder to justify when you’re doing it as a hobby with limited time and other competing interests.  

In that sense, donations/this patreon page has been the main catalyst for a lot of the change we’ve seen in the past year. It’s allowed me to allocate resources towards all that necessary work. Sure, it’s not nearly enough for full-time coding but it’s enough to pay for some code auditing by third parties as well as time (mostly that I’ve) spent working on refactoring code and doing new features. Not to mention that covering basic site costs is something of a relief for me in the long term. With donations the level that they are, we’ll be able to keep the momentum going for necessary code improvements a while yet. I’ll likely talk about the workflow and why things take so much time to do properly some other time in more detail.  

With that point covered, it’s also important to note that the state of the site’s codebase also played a big factor. I’ve likened things to tangled knots in the past with one thing depending on something else. Worst of all, it’s not clear how things are dependent due to poor quality of comments and no design document to reference. For the sake of imposing some order and logic into things, a lot of groundwork in (mostly) unrelated things had to be undertaken. There’s a lot of refactoring that I’ve done as well as outright removal of old, useless code. It’s still an ongoing process, believe it or not, and something I’ll still likely be doing even as more features are rolled out in the near future.  

Another reason for delays was that I outright gave other things priority. The simplifying and restructuring of code was one of them but, most notably, improved mobile accessibility took precedence. A large amount of the user base uses their mobile devices to access the site and it was a truly awful experience for them before. Coming up with a plan, prototyping stuff and testing it took a long while and, to be frank, the feedback I got from users was pretty lacking. This experience has convinced me wholesale that only thorough testing by me is reliable when it comes to developing new features, so that slows down the whole process.  

This also has to be understood to be contingent on my own abilities. From the onset I’ve been honest that I’m more of a systems administrator than a programmer. This has meant that I’ve had to do a lot of reading and exercises when trying to do anything new. It’s impractical to hire a professional for most of the heavy lifting given the rates demanded, so we’re stuck with me slowly but (hopefully) steadily getting a better grasp of what to do. I really couldn’t have built the mystery box the way it’s done now a year and a half ago, before the patreon. I just didn’t have enough know-how to do it in a sane manner without possibly breaking everything else.  

Design scope also played a big part. In my original vision, the initial implementation of the updated stories would have been much bigger, with more features and an actual different area of the site with other interaction activities. I  protoyped a few things and changed things, came up with a few other ideas before finally settling on an entirely different vision of what I felt was possible (and prudent) to do.  

An example of one of the early design struggles was deciding how to even mark something as an update. Who should be allowed to do so and when? In an anonymous image board it’s not clear how you can offer flexibility without it being open to potential abuse. There were a few solutions I worked on or thought about before simply settling for a tripcode that matched the OP. It means that associating a story broken up into multiple threads with an ‘account’ that associates writers to stories and thus automagically marks updates  and related threads in the backend is basically impossible but I think it’s an acceptable trade off for keeping the code simple and the way users interact the site more or less the same.

Some of the things I’ve envisioned I probably will never implement into the current board software because it’s too impractical or messy. Other things, however, will be worked in gradually. I’m not ready to tell you what those are because they’re still subject to alterations and shuffling around as priorities are decided, but it’s definitely something I’ll be working on. There’s a lot that can be done when there’s information in the database as to which posts are updates. I’ll leave that to your imaginations for now.  

Lastly, I had some concerns about the effect that having a centralized spot for checking updates would have on the site’s activity and spirit. You may think that being able to tell at a glance what’s active and updated might generate more activity. The problem is that we’ve had an incredibly segregated user base for a long time. There are many people who don’t really check other boards (or stories) at all. Through the stats I see that sometimes these people do read or vote elsewhere, but it’s likely a result of a particular vote that catches their eye. That is to say, scrolling past a thread and seeing an interesting comment or vote may get them interested in a story. I know this is sort of tenuous and hard to quantify but I’m a believer in the human element. It’s something you see on IRC at times, too, people talking about something makes people curious to find out more and that creates something of a snowball effect. This is why I’ve come out for recommendations in the past and encouraging activity in general outside of voting.  

I know that that’s not an ironclad theory and there’s much to be criticized but it aligns with my observations over the years. I’d rather things be slightly less convenient if there’s a chance that some of that very human element is fostered. But, ultimately, things are not just about my feelings and personal observations and there’s definitely something to be said for having access to clearer information at all times. I’m not yet sure if seeing what’s updated will provide an incentive for people to actually read the actually active stories, but I can only hope that it does. We’ll see for sure either way in the coming months.

I’ll probably talk about some of the small features that I’ve been adding next time around, sometime soon. So, until then, have a good one!


More Creators