Modern web browsers are massively complex beasts, implementing an evergrowing mountain of supposedly-open standards few can keep up with. So why do I think I can do better whilst adhering to the same standards? Why do I think that’s valuable?
XML, XHTML, & HTTP are all very trivial to parse, with numerous parsers implemented in just about every programming language. HTML wouldn’t be much worse if it weren’t for WHATWG’s error recovery specification most webdevs don’t seem to take advantage of anyways. CSS should be optional for web browsers to support, and most of the complexity there is better considered an inherent part of rendering international, resizable, formatted text. Even if your OS is hiding this complexity from applications.
If it’s not there, where is the complexity? Richtext layout in arbitrarily-sized windows is one answer, which I think is disrespectful to want to do away with. But unlike what some browser devs suggest it isn’t the full answer.
I can back up these claims both qualitatively & quantitatively.
There’s lots and lots of feature bloat we can remove from web browsers before we jump ship to something new.
To many the web is now just a handful of Silicon Valley giants, surrounded by newssites, etc begging you to accept numerous popups before you can start reading. It’s no wonder they want to burn it to the ground!
But beneath all the skyscrapers and commercialization there’s already a vast beautiful underbelly of knowledge and entertainment. Writing that deserves that deserves to be preserved. Pages that, for the most part, works perfectly fine in Rhapsode as validated by manual testing.
It is for this “longtail” I develop Rhapsode. I couldn’t care less that I broke the “fat head”.
Rhapsode supports URL redirection/blocking extensions for this very reason, and I hope that it’s novelty leads people to forgive any other brokenness they encounter. Rightfully blaming the website instead.
Webdevs harm the readability of their websites via CSS frequently enough that most browsers offer a button to replace those stylesheets. So why do I want to let them continue?
I don’t. I want a working CSS engine for my own sake in designing Rhapsode’s auditory experience, and to allow readers to repair broken websites in a familiar language. I think I can expose it to webdevs whilst minimizing the damage they can do, by e.g. not supporting overlays & enforcing minimum text contrast in visual browsers. For Rhapsode I prevent websites from overriding the “dading” used to indicate links you can repeat back for it to follow.
Regardless I believe CSS should be optional. Web browsers shouldn’t have to implement CSS. Websites shouldn’t have to provide CSS for their pages to be legible on modern monitors. And users must be able to switch stylesheets if the current one doesn’t work for them.