Plastic Love
Added 2022-01-15 18:25:42 +0000 UTCHey all, hope you’ve been well and that 2022 has been good to you thus far.
I originally wanted to hold off on updating the site and writing one of these until I got a few particular things done but found myself unsure of how to proceed with those things. I’ve taken some decisions that will make it easier to get those things sorted but, in the meantime, I was still hard at work at a few other things.
Starting from most boring to least, the tagging system has gotten a little bit more love. I modified some of the code in the management side of things, making it so that it’s easier to reference to the full tag list while adding tags. It’s a little page which anyone can access but it’ll appear in convenient popup form for any would-be tagger in the interface with but a click. I thought about adding tag definitions but, let’s be honest, most of them are pretty self-explanatory. If it’s an issue in the future or there’s clamor for it, I’ll revisit the idea.
The “stories missing tags or synopses” list likewise got a little smarter, with stories remaining there if there isn’t at least a tag from each category (character, genre, technical) and the tagging page itself now reminds people to try to fill in a tag accordingly. There’s a few subtle bugs that have been dealt with as well, making it unlikely that our volunteer taggers will run into significant issues. Overall, these are nice quality-of-life improvements. Oh and feel free to pitch in with tagging or writing a synopsis or two if you like, just let me know as there’s still hundreds of stories without proper information.
A couple of database issues were also dealt with and I cleaned up some mangled data while I was restoring a thread that wasn’t archived properly. These things happen and, since there’s so much text in our database, I’m sure there’s still plenty of other cases that have yet to be reported to me. A few story statuses and author names were fixed as well. And several dead non-story threads were deleted from the server.
It’s no secret that I’ve tried to make the site more accessible for newcomers. That’s really a work in progress and I’ve haven’t done as much as I would have liked yet. Mostly because I a lot of prep work has to be done before I can fundamentally change some things. A full on hand-holdy experience will have to wait a while yet. That said, I did take the time to clean up many pages. The rules, FAQ, privacy etc pages have seen an overhaul. There’s now clearer text, less inanity and even advice for both new users and prospective writers.
I have no idea if people will actually look at it but it’s there. I do plan to make that more obvious and to steer new users towards easy-to-understand resources in the future. However, since a lot of that depends on a more fundamental UI-overhaul… well, it’ll be a while yet. I generally prefer to do incremental changes, refining code and making sure that it’s a stable and bug-free(ish!) experience for users rather than be too radical at once. The experience I’ve gained via patience and incrementalism has made it easier in the long run to do things properly instead of a hacky way.
That’s a good segue for the most obvious part of the changes I’m talking about today: the front page. Yeah, it’s gotten an overhaul. It’s not drastically different in appearance but there’s a lot under-the-hood that makes it better.
As a quick aside: I plan to overhaul it even more in the future. Some of the stuff I wanted to do would be meaningless, for the most part, if I didn’t do other things first. So instead of putting it off indefinitely I just went with a partial overhaul.
I wanted to make the front page more consistent across devices. So it now looks roughly the same on a phone and on a proper computer. Gone is the floating image box on the left and it has instead been pushed onto the bottom, with a scrolling bar that shows even more images. Our poor phone friends will now be able to see all of their waifus at a glance.
I’ve generally taken to adopting newer tools in standards like HTML and CSS and have done away with some of the older, less-flexible, elements on the page. This primarily concerns lists (ul element) and the many workarounds that were needed to be applied in order to get things looking just right. Flex boxes and items, with more dynamic resizing and ordering depending on the display size are the way to go. Whenever I start from scratch I use all these newer toys but, for existing content, restructuring or translation of things is often necessary. Often I have to rewrite chunks of template or pages to accommodate for newer things.
The stylesheet for the front page is basically brand-new, with only a few rules surviving without at least a tweak. I tested things on a variety of screens and resolutions and made sure that things like the consolidated activity box looked fine even if you had, say, larger fonts enabled on your computer. Sure, it’s not perfect but I think I did a reasonably good job on making sure that the vast majority of users will have a nice experience.
It was very much the case that I had to rewrite other things on the front page. Not only the obvious graphical stuff but also how information is processed; the functions that served, for example, the recently updated stories and whatever were completely redone.
Paradoxically, the new implementations were a little more complex to write and get just right, but also markedly quicker. Take the recently updated threads: my newer implementation is 30-50 times faster than the old one for processing the thread information. Yeah, that sounds like a lot, the difference is an order of magnitude between several ten-thousandth of a second and thousandths; it would be relevant in high-demand environments were THP a really popular site, however. Accounting for the real blockers in the page serving process, the front page is still delivered 2-5 times faster on average for real world loads (I tested this on the site using special secret pages) and those speeds are measurable to users. I’m pleased on how that worked out and this unglamorous and unsexy work is still something that’s worth caring about when it comes to development.
I’ll stop tooting my own horn for a moment to mention that the logic behind how some information is served has also changed. The “updated threads” bit now includes the full story title, regardless of the thread number. I want to gradually move away from the idea of “threads” for any given story and just have the latest and greatest available with easily accessible pages for the rest of the story. Threads and their updates will all have to be marked as updates to show up properly here. Lazier writers who know better but don’t add their stories/threads to the story list right away will only have their threads show up in the bumped threads portion for the time being.
Though part of this is my desire to outsource work to the people who create content, there are also technical considerations. The story list and editing system are tacked onto an imageboard and are relatively cautious in how they process information; it would be a great annoyance for a thread to be added to a story list and then deleted or an update transformed during, let’s say, an artistic display of temperament. This is why we have our limits (30 minute or thereabouts for editing, no deletion after) and the “easy” solution of making someone choose between adding to the story list right away and giving up their ability to edit isn’t something that pressing. Most writers add their stories and even add tags or a synopsis to their story. It’s only really a minority who doesn’t bother (and even fewer who are wholly unaware).
I’ll mention something else in passing: in an effort to simplify the front page, some boxes can now be dismissed by clicking an “x” in the corner. These will not appear again unless there’s a change to them, like a new news item.
There’s still a lot of work to go in changing the site for the better. A lot of the thread and board UI will be overhauled at some point and I do have a solid idea of what I want to do with some things. Still, I’ll be taking it slow and doing things methodically rather than rushing. While I’d like to strike while the iron’s hot, truth be told there’s other reforms that are no less pressing that I might get to. Not to mention that I still wish to create a chat space alternative to discord by hosting our own matrix instance. There’s also unfinished stuff to do on the front page (like see about a new default color scheme).
I’m not sure what comes next. I have a lot to think about in the coming weeks and I’ll see if I can finish up some of the work-in-progress things I have pending. I’ll be paying attention to any and all feedback, however, be it from the patrons or other users of the site. It is, after all, a space that’s shared by all of us.
Until next time, take it easy!
Comments
New front page looks good to me. Can't wait to see what else comes down!
Benjamin Oist
2022-01-15 19:14:17 +0000 UTC