26-02-2021, 11:59 PM
I'd like to talk a bit today about whats in store for the future of SpriteClub, and I'd like to start by talking a bit about the past and my motivations. You see, I'm a programmer that really likes nice and clean code. Bosses no doubt hate me, because I'm more concerned about the code than it doing what they want it to do.
Now how does this tie in to SpriteClub? Well, I do SpriteClub for fun, and even if I'm not around in chat as often, trust me when I say I do have a lot of fun running this place for everyone. But the issue is, some parts, I'm not having fun with. One of these things has been the website's backend code.
About 6 years ago, SpriteClub's development was started while I was still a Bachelor student. I had a strong desire to make SpriteClub work, and for the website I just went with PHP because "that's the stuff most websites run on". It frankly took me a while to get anything functional at all, but eventually, through sheer determination, I made things work.
The problem is, it's not pretty. It's really, really not pretty. I was inexperienced, I just focused on making work what I wanted to work, and ignored important things. Generally, I made a hellscape for myself later on. As a result, it's now hard for me to develop new features, hard to debug existing things, and overall I just detest PHP and the way the site fits together. This, more than anything, has been the thing preventing me from adding features to the website over the past few years. Just a strong desire to not want to look at the code.
A few months ago I did some preliminary work to set up further development on the website, try and force myself over that mental blockade, but frankly, I feel it hasn't worked. I still don't want to work on the website, but I also really don't want to just leave it as-is.
Trying to find a solution for this, a while ago I decided to look into some extreme alternatives. After weighing various options, doing some prototypes, and setting up some basic stuff... I feel like I've come up with something concrete that I can really turn into a reality, and that will provide me with the motivation and ability to deliver a much better product.
The new SpriteClub
I've decided that I will be recreating the website from scratch in ASP.NET/Blazor. This has various benefits to me. I'm well acquainted with ASP.NET, it offers tons of tools to make development easier and faster, I love to work with C#. It's what the runner is also written in, meaning I can share code between the two applications and save myself work. Blazor also makes it easy to perform live updates while browsing, natively and automatically handling the behaviour that I was manually implementing with socket.io in the past.
Serious development into this began a few weeks ago, and I'm happy to say that it's moving along nicely. I have tons of ideas for the new website, and I'm really motivated to throw out that old code and make something amazing. But make no mistake about the scale of this project. The website initially took me several months to make. I'll be able to develop this version faster, but I'm also no longer a student with tons of free time. The new website will come, but be prepared for some waiting.
Goals
First of all, let me just say that I want to keep everyone updated on this over the coming months. For now, I will try to provide you all with a development update every month or so. Right now though, I don't have much to say about the current state of things. I've only really worked on backend stuff: authentication, database management, a bit of general layout, and setting up some services for features further down the line. There's been good progress, but there's nothing I can show besides an unfinished login page.
So instead of that, I want to talk about goals, and provide opportunity for input from viewers. For now, the general goals of the website are:
So, what kind of features would you guys want? What kind of settings? Is there some (live updated) behaviour you'd like to see from the new website? What kind of data would you like to know about your account, characters, matches, etc?
Please feel free to give whatever suggestion you have. Of course I cannot guarantee it'll be included, but there has never been a better time for me to take your feedback into account, so I'm happy to read whatever suggestion you have.
Lastly, I'd just like to thank everyone for their love and support for the website. This redesign has been on my mind in various forms for the longest time, and seeing the continued interest in the site is really what motivated me to push for this redesign despite the major investment required. I really want to give you all a website that I'm actually happy with, happy to continue working on, and most of all that you all deserve.
P.S.: Character update next weekend. I got sidetracked for obvious reasons, but it is still coming.
Now how does this tie in to SpriteClub? Well, I do SpriteClub for fun, and even if I'm not around in chat as often, trust me when I say I do have a lot of fun running this place for everyone. But the issue is, some parts, I'm not having fun with. One of these things has been the website's backend code.
About 6 years ago, SpriteClub's development was started while I was still a Bachelor student. I had a strong desire to make SpriteClub work, and for the website I just went with PHP because "that's the stuff most websites run on". It frankly took me a while to get anything functional at all, but eventually, through sheer determination, I made things work.
The problem is, it's not pretty. It's really, really not pretty. I was inexperienced, I just focused on making work what I wanted to work, and ignored important things. Generally, I made a hellscape for myself later on. As a result, it's now hard for me to develop new features, hard to debug existing things, and overall I just detest PHP and the way the site fits together. This, more than anything, has been the thing preventing me from adding features to the website over the past few years. Just a strong desire to not want to look at the code.
A few months ago I did some preliminary work to set up further development on the website, try and force myself over that mental blockade, but frankly, I feel it hasn't worked. I still don't want to work on the website, but I also really don't want to just leave it as-is.
Trying to find a solution for this, a while ago I decided to look into some extreme alternatives. After weighing various options, doing some prototypes, and setting up some basic stuff... I feel like I've come up with something concrete that I can really turn into a reality, and that will provide me with the motivation and ability to deliver a much better product.
The new SpriteClub
I've decided that I will be recreating the website from scratch in ASP.NET/Blazor. This has various benefits to me. I'm well acquainted with ASP.NET, it offers tons of tools to make development easier and faster, I love to work with C#. It's what the runner is also written in, meaning I can share code between the two applications and save myself work. Blazor also makes it easy to perform live updates while browsing, natively and automatically handling the behaviour that I was manually implementing with socket.io in the past.
Serious development into this began a few weeks ago, and I'm happy to say that it's moving along nicely. I have tons of ideas for the new website, and I'm really motivated to throw out that old code and make something amazing. But make no mistake about the scale of this project. The website initially took me several months to make. I'll be able to develop this version faster, but I'm also no longer a student with tons of free time. The new website will come, but be prepared for some waiting.
Goals
First of all, let me just say that I want to keep everyone updated on this over the coming months. For now, I will try to provide you all with a development update every month or so. Right now though, I don't have much to say about the current state of things. I've only really worked on backend stuff: authentication, database management, a bit of general layout, and setting up some services for features further down the line. There's been good progress, but there's nothing I can show besides an unfinished login page.
So instead of that, I want to talk about goals, and provide opportunity for input from viewers. For now, the general goals of the website are:
- All data will be retained.
- Basic layout will be the same, as well as types of pages offered (e.g. character page, match page, etc.).
- Various pages will be redesigned. At the very least, pages must become mobile friendly.
- This includes the main page for the stream/bets. For this one in particular, the mobile and desktop version will likely work completely differently.
- There will be much better support for live updating of data and settings, as there is a built-in connection to the server (a lot more & better settings).
- For those interested in getting data from the website, the current files such as state.json and stats.json will no longer exist. However, I will be looking to open up an API to access data. This will not be a goal for release, but ideally not long after. I'd also like to motivate the continuation of things like https://mugen.sanso.moe/SpriteclubDatabase/ by making it easy to get the data from the new website.
So, what kind of features would you guys want? What kind of settings? Is there some (live updated) behaviour you'd like to see from the new website? What kind of data would you like to know about your account, characters, matches, etc?
Please feel free to give whatever suggestion you have. Of course I cannot guarantee it'll be included, but there has never been a better time for me to take your feedback into account, so I'm happy to read whatever suggestion you have.
Lastly, I'd just like to thank everyone for their love and support for the website. This redesign has been on my mind in various forms for the longest time, and seeing the continued interest in the site is really what motivated me to push for this redesign despite the major investment required. I really want to give you all a website that I'm actually happy with, happy to continue working on, and most of all that you all deserve.
P.S.: Character update next weekend. I got sidetracked for obvious reasons, but it is still coming.