Irons in the Fire
Added 2022-06-04 21:21:04 +0000 UTCHey all, hope you’ve been alright. I know I’ve been quiet recently but that’s mostly been because I have felt reluctant to share things before they were finalized. But, well, because I’ve been spread thin and haven’t had as much free time as I’ve liked, progress has been sporadic.
So I wanted to share some of the things I’ve been working on or trialing in their various stages of development. I’ll keep it brief because most of these things could be whole posts unto themselves (and may well do so at a later date) but it should give you an idea of my thinking and what’s likelier to be done sooner rather than later. Some things may not be implemented—at least in the form described—but that’s just the way it goes with development work.
1) Changing how posts are stored and then displayed
The issue: Messages in a post are just raw text with the occasional html tag. This makes it complicated to do more advanced formatting things like indentation, spacing between paragraphs etc
What needs to be done: When posts get processed, things like paragraphs, deliberate spacing and the like needs to be preserved. Not only that but every older post needs to be converted to the new standard.
What has been done: A lot of time has been spent looking for how to convert data without breaking things. The efforts have yielded mixed results with tests done in test environments working after using a lot of regular expressions and very conservative conversion functions. 90+% of posts seem to be fine but there’s still a bucket-load of edge cases that cannot be reasonably dealt with without much more time invested.
What’s next: This idea is on ice for the time being as it would be “nice” to have but isn’t a major quality-of-life improvement. At least not one that justifies the huge amount of time that is required to be invested.
2) Alternative community space
The issue: While THP has an offshoot Discord community, much of the topics discussed, the art shared, and other things may may eventually come into conflict with the service’s rules. If THP is to continue growing, or to use some of Discord’s community features, dealing with this properly is inevitable.
What needs to be done: Basically, a feature-rich chat alternative that is easy to use that’s controlled by THP and does not have to follow others’ rules. To make a long story short, the most viable thing at this juncture is self-hosting a Matrix instance.
What has been done: A lot of research into the alternatives, following of development, reading up on how to deploy and such. Despite a few glaring issues with Matrix that I’ve looked at working around, it is best bet.
What’s next: I’ll probably rent a server and buy another domain and move onto a practical trial later this month. I’ll likely advertise it to patrons and then the community at large, if all goes well.
3) Unifying site navigation
The issue: While THP is similar enough on all screen sizes, there’s still a few special things for mobile users in place.
What needs to be done: Replace board lists, navigation bar, buttons and whatever else into single display that’s uniform and reactive.
What has been done: Figured out what that looks like in practical terms and made a few UI mockups.
What’s next: The basic idea is easy but the issue is that other things on the site also need to be done first, such as a potential board organization or more advanced user features that would need to be integrated into this. Right now there’s a good chance I may partially implement these changes in the coming weeks, regardless.
4) Reorganizing boards
The issue: Location-based boards haven’t worked out well but became entrenched. They are confusing for new users and don’t let people see relevant activity easily.
What needs to be done: Reduce the number of boards. Provide better discoverability for stories and to group together threads instead of them being all over the place.
What has been done: Plans on what this would look like, including the necessary database changes. One of the conclusions has been, however, that changes to the structure of threads also needs to happen otherwise things will be a mess.
What’s next: Getting other things ready first.
5) Changing threads
The issue: Discreet threads for stories aren’t really needed. It’s unintuitive and makes for extra work for writers as well, especially since there’s a good lot of them that forget to add some to the story list or mark as update and the like.
What needs to be done: Make it easier for people to post and to remain in a story thread. Not that difficult to do for future stories but the real headache is converting older stories to display in the same manner.
What has been done: Playing around with ideas in the vein of cupcakes(currently out of date), if you’ll recall that. There’s a new prototype that has yet to be pushed live that should test out some of these ideas.
What’s next: polishing prototype and then pushing it to other for feedback. Probably patrons, some other THP people before going ahead with more changes. Over time, if the parallel way of using the site works, push it to the rest of the site and integrate with a board reshuffling.
6) Optional user accounts for personalization
The issue: While there’s a lot that can be done with localstorage and user settings, tehre’s things like keeping track of stories, “owning” stories and managing them more securely that’s only ever really going to make sense with user accounts. Tripcodes are easy to break, after all.
What needs to be done: Make a proper backend for it, develop features and have it be properly secured.
What has been done: Not much that’s directly practical. Small tests, such as making sure that THP deals with email addresses well have been quietly going on for some time. A small, seemingly-unrelated feature is also partially implemented.
What’s next: I need to start public tests of some of these things that will then be reused. This isn’t exactly high priority but it is fun to do (for reasons that will eventually become obvious) so I’m likely to keep at it whenever I’ve got extra personal time.
7) Database Normalization
The issue: Optimization of the backened of THP, basically. The various SQL database tables are not well organized due to historical reasons and some tables are bloated and information lookup isn’t as good as it could be.
What needs to be done: Devising a reorganization of table structures. Requires not only research in terms of best practices and adapting it to our needs but also, critically, a stable and clear objective in terms of data storage.
What has been done: I’ve read some articles and plenty of documentation. Notes have been made about what could potentially been done and some starting points for reform.
What’s next: If things like the site structure or other features are going to be implemented, optimization ought to be done afterwards in order to avoid wasted effort. So it remains low-priority.
Ah, I think this post is long enough. The above is not meant to be an exhaustive list of things nor does it fully indicate what is likely to show up in the near future. For example, there’s a lot of bugs and small quality-of-life improvements that have also been done while I have been working on all that other stuff. A fair amount of that will be pushed very soon! It just needs to be cherry picked and merged from the different feature branches into the developmental branch and then tested some more before it makes sense pushing onto the live site.
Regardless, I’m bullish about the work ahead and I think that THP will become an even better place because of it. I’ll definitely be sharing things as they come up and will be requesting feedback for some of the more ambitious changes. While I regularly use the site, the opinion of the community at large also matters a lot to me.
Hopefully I’ll be getting back to you later this month with good news and cool new things. Until next time, take it easy!
Comments
Very cool! Can't wait to see what some of these changes look like in practise.
Benjamin Oist
2022-06-04 21:31:35 +0000 UTC