Happy 12th Birthday, Flashii!

Oops, being late with this post is becoming a trend. I wanted to get a couple things done before actually starting to write this, and those things are done now so here I am once again! Just like every other one of these I'd like to take this post to do a little bit of reflection on the past year in comparison to the year prior, as well as talk about the things I have in store for the upcoming year. If you can't be bothered to go through all that, your loss but thank you for your continued use of the site anyway!

Starting off lets talk about the visible progress, or lack thereof probably again. For the past couple years I've mostly been focussed on creating a backend code library that can be shared across multiple website to speed up the process of updating and maintaining them, the downside to that is that in the mean time things have had to grow a bit stale. All of that has finally paid off, I think I'm finally done building it for the most part and am finally ready to get back to work on the site itself. I've decide that the first step of this is to revert a decision I made in the past in regards to the architecture of the website.

Way back in 2021 when I moved my servers over from DigitalOcean to OVH, I ran into an issue where I thought that this process caused way too much downtime. The main site (Misuzu), the upload server (EEPROM) and the chat were way too cross dependent on one another. This made me decide to see if I could double down on the pseudo-micro-service architecture that was already forming, with EEPROM being a separate entity, and splitting things out as much as possible, this was also a motivating factor for creating the library I mentioned in the previous paragraph. Fast forward to now and to some degree this has come to fruition, with the Torrent tracker and Minecraft subsites etc. also joining the ranks. I've come to the conclusion that it's not as nice as I thought it would be after all. It's probably the way I chose to go about it and also the incomplete state it's all in currently, it brings a bunch of complexities with it, especially when setting up a development environment since you have to basically replicate the entire infrastructure. I don't regret the decision to make the aforementioned backend library as I can use it for non-Flashii related projects as well, but most things will end up being merged into Misuzu aside from the things where it doesn't make sense, such as the metadata lookup service which is still set to be rewritten in an entirely different programming language.

One of the things I wanted to have done first before making this post was to merge the redirect/url shortener service hosted on fii.moe into the Misuzu codebase to prove that it was viable, and it ended up being a success! Even without having to do annoying debugging steps on the live site, it just worked! Things like that rarely happen in general.

In 2021 I also decided to move away from Github to my own self-hosted Gitea instance (the predecessor to the Forgejo instance that now runs on Patchii that you are free to use for your own projects as well!!!!!). For some reason when I did this I also created a new source repository for the Misuzu project, pretty much losing like 5 years of commit history. Last week I spent some time using both repositories to reconstruct a single one with all history and I'm happy to say that seeing "8 years ago" on the main file listing makes me feel a certain way, mostly for the better though. It's really cool to see how far just this project has come (although reliving my commit comments from the late 2010s and 2020 itself was less pleasant) and I'm hoping there's many more to come.

Finally moving on to the next topic, perhaps the biggest semi-launch of last year, Flashii ID is finally functional to a certain degree! It's still not ready for public use unfortunately but I hope to make it available in the coming year alongside a public API for the full website. Kind of circling back to the previous topic (HAH GOT YOU WE WEREN'T DONE JUST YET!!!), the Flashii ID project is currently also one of those micro-service type things that exists separately, but just like the other things I mentioned, its also going to be moved back into Misuzu. This shouldn't cause many delays so don't worry about that, if anything it might even speed things up more because initially there was going to be a whole account data migration behind the scenes as well but that's not the case anymore!

Reviewing the changelog, I spent the first half of last year mostly working on the chat client. Much like everything else it has mostly been behind the scenes stuff in terms of how the chat client handles talking to the chat server so there's unfortunately not much exciting to share about that. I've managed to clean things up a bunch to make it easier to work with for myself but it's still far from where I want it to be. During the latter half I spent most of it just maintaining the existing websites and working on Flashii ID. There was also a bunch of work on Satori, like making her not require a hidden internal website for features like the exchange rates or booru lookups.

Now for the things I'd like to get done this year:

  • Forum Rework: I'd like to modernise the experience on the forum a bit. It won't be an overhaul that will make it completely unrecognisable, I think people will definitely enjoy them. Because the forum has a much higher complexity compared to a lot of other parts of the site, it has a lot more maintenance baggage from things changing throughout the years that also need cleaning up. Especially the forum editor is a big mess, the full editor will likely just be on the topic page alongside the posts to also make it easier to view the context of what you're replying to while you're replying to it, as well as just making the experience more dynamic in general. During the brief period that my personal site, flash.moe, had a forum, events such as locks and stickies were also broadcast in the topic view alongside the posts, I've been wanting to "backport" this to Flashii for a while now as well, so that will also be coming. The editor reworks will also include that editor rework for the Private Messaging system that I promised would be a thing "before 2025" (whoops), doing both together will allow me to use the same code for both.
  • Merging things back into the main site: I've already explained this in the first half of this post so I won't do so again, including it in the list for the sake of completion :).
  • Rewrite the BBcode and Markdown parsing by hand and make it as consistent as possible between the forum and chat: A mouthful. I say "as consistent as possible" because certain features that I want to be available on the forum, make no sense in chat and vice-versa. The [img], [video] and [audio] BBcodes will definitely be removed in chat in favour of autodetection, and markdown syntax will likely take precedence there because it's easier to type by hand without the assistance of editor buttons.
  • Make significant progress on rewriting of legacy C# code: This is the language both the chat server and the Satori are written in. C# was a wonderful tool in easing into non-web programming for myself but I'm growing tired of having to deal with its shortcomings. For the chat server (currently known as SharpChat), I plan to move to the lesser known D programming language with the Mikoto project, name chosen to complement Misuzu, originally it was going to be called Railgun, but that name has taken on a different life in the mean time. For Satori I'm still not entirely sure what direction I want to go in, she's definitely a backburner type thing as the current codebase works okay and doesn't need maintenance super often. I'm unsure if I want to go with C or D as the language, what I do know for certain is that I want to write the commands as Lua scripts for the most part to make it easier to add commands and maybe even make contributions from members of the site more possible.
  • Whatever else comes along the way: Let's be real, I'm not a roadmap person, at least not when it comes to Flashii as a project. I think this is fine since this is still a solo hobby project. I can't guarantee that I'll have time to work on things and I can't guarantee that the things I do feel like working on, are ones that I've lined up in these posts. So bear with me, things will exist eventually! Even if eventually means 10 literal years as with the API promises.

I've had "Redesigned Home Page" on this list for the past couple years as well but I'm going to omit it this time. I'd still like for this to happen but it's pretty much been blocked from happened by the forum reworks. Maybe it will happen as a part of those?

I feel a little bit bad that these yearly posts tend to primarily focus on the technical side of things but that is just where my expertise lies. I've made it no secret that I don't consider myself the best community manager, which is not meant to be some form of self-deprecation since I've had several major blunders in the past year or two regarding that role. Because of that I'd like a brief reminder that if you have issues you'd like to be address in that regard, don't hesitate to bring it up in chat, make a topic in the Community Relevant section on the forum, or yelling at me directly if you don't feel comfortable discussing it in public for whatever reason. Thank you for putting up with me ^^;

Lastly, I'd like to ask you, the reader, something. I always feel that the fact that the only news articles that ever show up are the "Happy xth Birthday, Flashii!" ones. Do you have any suggestions or ideas for what other kinds of content could be posted to this section? Should we just deal with it given the mythical homepage redesign will deemphasise them somewhat anyway? If you have ideas, be sure to also include examples from past events that could've hads posts like the kinds you have in mind as a suggestion so I have a point of reference, if possible of course. I think in 2023 I had the idea of doing quarterly or half-yearly project status update posts, but because I usually end up doing most work in the latter half of the year, that quickly fell by the wayside before one even happened...

Geez... that may have been the longest one so far! Closing this out finally, along with the suggestions described in the previous paragraph, if you have ideas for anything you'd like to see on the site, be sure to make a topic in the feature requests section and if you've run into any oddities, errors or anything else that doesn't seem quite right let me know through a topic in the bug reports section. Even the most seemingly smallest of things is welcome and even just letting me know where on the site you ran into the issue is enough (how to report bugs)!

As always, thank you all for your continued use of Flashii! It wouldn't be here without you.

P.S. This is the first news post to also be automatically linked on our Bluesky profile. Be sure to give it a follow if you haven't yet!

Comments
Please login to comment.
There are no comments yet.