Refsheet / refsheet-site

Refsheet is a place for character and world builders to attach assets related to their characters in one unified format, allowing artists and story writers to access the specific details of a character, maintaining synchronized dynamic canon.
https://refsheet.net
GNU General Public License v3.0
20 stars 1 forks source link

Site requires JavaScript #283

Open AppleDash opened 2 years ago

AppleDash commented 2 years ago

"Refsheet requires Javascript to work properly. Please check your browser settings, and enable Javascript if it is not already turned on."

This site is not a whole lot more than a page with some images on it. It should not require allowing arbitrary code execution on your computer in order to see those images. Not everybody is willing (or indeed, able) to use this unfortunate technology.

Would be happy to do some of the work myself to make this happen. Just let me know!

MauAbata commented 1 year ago

I'm not even sure what to do with this issue. I could make a fully server-side rendered version of the site, duplicating all its functionality as a series of distinct and individual static pages, which would indeed satisfy the 2% of users (higher than I thought) who prefer to browse the internet without JS, but given how much I'm already taxed maintaining what's currently happening, the overhead on this would be massive.

I'm working on a compromise, so that I don't seem like an absolute turd who insists people run an entire dynamic UI framework in their browser, and to support old mobile phones, etc, that prerenders the page server-side, which with a little extra work could probably serve static pages without JS enabled in the browser.

But then I'd have to rethink my entire UI paradigm. I mean, a lot of what I did is based on user expectations. The way the forms, dialog boxes, fav/unfave buttons, etc. work, it's all asynchronous. So I can't recycle the UI code, either. Not to mention realtime profile editing is gone, so each widget would need its own page with its own form. I could enable all the forms on the same page, but then you'd submit one and blow away the other changes, I can imagine the Discord ping on that now...

Hmm... I could, to please the 2% of JS-less browsers, only make character pages accessible. I mean, I don't want to be this horrible person who forces you to use JavaScript if you don't want to! It's just that, it was the fastest and most ergonomic way to build this website in a way that aligns with 98% of User's expectations, and I don't have a team of other developers I can task with duplicating the functionality.

I'd accept a PR I guess, but not against this repo's main, I'm removing the frontend entirely from this repository and putting it somewhere else, making the backend purely dish out an API. So, for a frontend only build, we can make an API consumer. Probably in PHP, Ruby feels too new for this. Or, Perl-CGI?

I mean, Refsheet pretty much is just a page with some images on it, if you disregard the forums, chat, profile editing and widgetry, color schemes, activity feed / following / favorites, etc. But if all you wanted was a page with some images on it, why the hck are you using Refsheet and not something like Carrd?

Actually, never mind. I just tried editing my Carrd page without JavaScript and it appears they, too, are curmudgeons that require you to drink the forbidden coffeecode. Oh for it to be 1994 again~~

[PS: Any snark here does not apply to cases of actual accessibility, such as visual assist and screen reader programs, which is a thing I am actively trying to improve in future iterations of the UI, and pages which purely render as annoying modals even though they could have a full page view (images, specifically), which can then be server-side rendered and served statically without a lick of JS to view them.]

MauAbata commented 1 year ago

THAT SAID --

I do like old and outdated technology, so as a purely academic venture I will entertain the idea of a JS-free view-only experience for this website, if it can be done without increasing my already massive overhead and debt to this site.

Did you know I'm currently paying $450/mo in addition to donations to keep this site alive? That's like, $6,000 last year! I've rented apartments for less. And this is with half the code running in the browser! So my absolute #1 priority is to grind down the amount of code running so I can shove this thing into potato box servers, and that means removing all the UI rendering from the server, so it runs only on blobs of JSON.

Right now the website has 114,700 users, 1,694,000 images, and 1 developer. C: I'm dyin' over here.