The unreasonable effectiveness of simple HTML(shkspr.mobi)
shkspr.mobi
The unreasonable effectiveness of simple HTML
https://shkspr.mobi/blog/2021/01/the-unreasonable-effectiveness-of-simple-html/
378 comments
I am not a front-end developer but looking at it from a distance I really don't get modern web design. Sure some sites might need fancy javascript single page features, like if your webpage is an interactive map or realtime game, but most sites are just text and some pictures. Whats with all the javascript? Your site looks just like the next one anyway! It feels like an "Emperor's New Clothes" situation or maybe more likely I just don't understand the allure as an clueless user.. I am almost tempted to make a webpage to see what the big fuss is about!
Made me think of a time I didnt do adequate research before buying an expensive flight ticket: I was in Changi Airport and had a cheap return ticket to Malaysia, when I got back I was going to travel in the east coast of Australia for a few weeks as the end of my study abroad in Asia.
It dawned to me that I never actually checked the Visa rules for Australia, but just pressumed that they would be like any othet commonweath country I had previously visited. Turned out I was lucky and didnt need a paper visa, but could do with an e-visa.
As my HTC Desire Android phone had died in the humiddity, I only had the cheapest nokia I could find, X-1 ... Armed with a 2011 public internet kiosk of internet explorer, I tabulated through the australian immigration forms and found the correct form, filled it out while my browsing session of the kiosk expired, after a few tries, I knew exactly the way around the static site, and was what some would call "speedrunning" through their website. After sumbitting I just had to hope for the best. If that site had been required any more than it did, I am not sure I would have been able to submit my application through that public internet browser.
Love this:
> Go sit in an uncomfortable chair, in an uncomfortable location, and stare at an uncomfortably small screen with an uncomfortably outdated web browser. How easy is it to use the websites you’ve created?
It's so easy to get disconnected from the real-world applications of our technology. Build user empathy.
> Go sit in an uncomfortable chair, in an uncomfortable location, and stare at an uncomfortably small screen with an uncomfortably outdated web browser. How easy is it to use the websites you’ve created?
It's so easy to get disconnected from the real-world applications of our technology. Build user empathy.
As someone who did a lot of desktop application development prior to the web just totally gutting native app development, this is my take:
The problem is that people want to make dynamic applications that have a rich UX and deep system integration while being highly portable.
Unfortunately, it turns out that "portable" is basically a Great Filter for applications. If you can't run it, you can't use it and the rich UX and deep system integrations don't matter.
So developers cast about looking for alternatives to Qt and GTK and friends. Flash and Java (and Silverlight....) all had browser plugins and offered vaguely convenient APIs for building applications with rich UXs. Unfortunately those plugins had inherent technical issues and died (or were killed, as it were).
So what platform remained that had super easy distribution and portability? A XML document format that supported directives for styling xml and some rudimentary scripting language that could dynamically change that xml and styling.
So that's what ended up getting built upon. And now, since abstraction can do anything, we finally have things resembling what we had 30 years ago in desktop applications but built on top of a standardized runtime with a JIT and a sandbox and a nascent assembly language. So that's finally what people use.
I really had nothing but disdain for web applications built with javascript/jquery soup for the longest time. They worked, sure, and printed money and all that, but I was bitter that such poor technology was what won, instead of some evolution of the existing desktop app paradigm.
Now with React et al it's finally getting bearable again. But I still find myself wishing I could just say forget all this web junk, I could write this as a Swing or JavaFX program in 10% of the time.
(It's just unfortunate that nobody would be able to use it because nobody downloads programs off random websites anymore except Putty and nobody has an (independently-installed) Java runtime anymore. Which brings us right back to the initial problem).
The problem is that people want to make dynamic applications that have a rich UX and deep system integration while being highly portable.
Unfortunately, it turns out that "portable" is basically a Great Filter for applications. If you can't run it, you can't use it and the rich UX and deep system integrations don't matter.
So developers cast about looking for alternatives to Qt and GTK and friends. Flash and Java (and Silverlight....) all had browser plugins and offered vaguely convenient APIs for building applications with rich UXs. Unfortunately those plugins had inherent technical issues and died (or were killed, as it were).
So what platform remained that had super easy distribution and portability? A XML document format that supported directives for styling xml and some rudimentary scripting language that could dynamically change that xml and styling.
So that's what ended up getting built upon. And now, since abstraction can do anything, we finally have things resembling what we had 30 years ago in desktop applications but built on top of a standardized runtime with a JIT and a sandbox and a nascent assembly language. So that's finally what people use.
I really had nothing but disdain for web applications built with javascript/jquery soup for the longest time. They worked, sure, and printed money and all that, but I was bitter that such poor technology was what won, instead of some evolution of the existing desktop app paradigm.
Now with React et al it's finally getting bearable again. But I still find myself wishing I could just say forget all this web junk, I could write this as a Swing or JavaFX program in 10% of the time.
(It's just unfortunate that nobody would be able to use it because nobody downloads programs off random websites anymore except Putty and nobody has an (independently-installed) Java runtime anymore. Which brings us right back to the initial problem).
I suspect there is a growing web developer conspiracy to fight overconsumption and climate change.
I see slow websites with carousels of large images with big texts. They link to value statements, mission statements, experiences, goals, community bullshit. If you want to know products, prices, or even what the site is all about, you must squint your eyes and really concentrate, maybe scroll down to the bottom of the page. I save €1000 per year in impulse buys because of these sites.
I see slow websites with carousels of large images with big texts. They link to value statements, mission statements, experiences, goals, community bullshit. If you want to know products, prices, or even what the site is all about, you must squint your eyes and really concentrate, maybe scroll down to the bottom of the page. I save €1000 per year in impulse buys because of these sites.
> I asked about the PSP – a hand-me-down from an older brother – and the web browser. Her reply was “It’s shit. But it worked.”
This is particularly high praise for simple HTML as the shit part is likely the PSP's UI, which is of course out of the control of the website, whereas the it worked part is due to the PSP's browser and the website both working adequately.
Good on GOV.UK for doing it properly.
This is particularly high praise for simple HTML as the shit part is likely the PSP's UI, which is of course out of the control of the website, whereas the it worked part is due to the PSP's browser and the website both working adequately.
Good on GOV.UK for doing it properly.
Those are not ‘crappy browsers’. If we call it “Browser” it should be browser, isn’t it? It should brows pages. It was never intended to be overweighted virtal machine and not a good one by the way.
Past 8 years or so Youtube has nothing really more to offer then it was offering back then. The only new things it offers for me is overweighted dumb slow shit that fails to perform what it was perfectly doing 8 years ago, and all those slowness added for no particular reason that I could appreciate.
All of this ‘comfort’ is getting on the way or doesn’t work at all. Perfectly capable IPad Pro now is struggling to load even Youtube.
Almost every site I visit is bloated with idiotic unnecessary things that do not not even work properly.
And once you see some new idiocy appearing on some big site, the first thing you think is :‘oh no’ because you can be pretty sure that every “designer” would copy this bullshit and it will appear on every site very soon for no reason. If that is not a dumb design by definition then what is? I would not call it even design. Those are layers and layers of garbage piled on top of each other and at this point when I see simple HTML I just wish to thank the author for lack of so called “design”.
It’s not crappy browsers - It’s crappy sites overloaded with useless features. I didn’t see One big site lately that did become better ... not one! I wish to see one, show me one please. I wish to be mistaken there but I think it simply doesn’t exist.
Past 8 years or so Youtube has nothing really more to offer then it was offering back then. The only new things it offers for me is overweighted dumb slow shit that fails to perform what it was perfectly doing 8 years ago, and all those slowness added for no particular reason that I could appreciate.
All of this ‘comfort’ is getting on the way or doesn’t work at all. Perfectly capable IPad Pro now is struggling to load even Youtube.
Almost every site I visit is bloated with idiotic unnecessary things that do not not even work properly.
And once you see some new idiocy appearing on some big site, the first thing you think is :‘oh no’ because you can be pretty sure that every “designer” would copy this bullshit and it will appear on every site very soon for no reason. If that is not a dumb design by definition then what is? I would not call it even design. Those are layers and layers of garbage piled on top of each other and at this point when I see simple HTML I just wish to thank the author for lack of so called “design”.
It’s not crappy browsers - It’s crappy sites overloaded with useless features. I didn’t see One big site lately that did become better ... not one! I wish to see one, show me one please. I wish to be mistaken there but I think it simply doesn’t exist.
Client-side javascript is underrated. We put simple websites in embedded devices with shockingly low memory/flash. They're for configuring the device. The pages are pretty serviceable with html controls, color schemes, logo etc. Embedded javascript to make them responsive. A couple of kilobytes total html.
Not really the point of the article, but I've been moving to plain HTML for a while now for certain types of personal documents. It's a great feeling to open a file in the browser and know it's going to work. Make a change and all you have to do is refresh the page. Markdown, org-mode, etc. have good intentions, and they work for super simple documents, but in the end the flexibility of html and its closing tags pays off.
Warren Buffett said one of his greatest assets is the ability to "no" without fear of social pressure and retribution.
Too many bosses and customers want fancy eye-candy without knowing and/or caring about the carrying cost of this bloat. Staff feels obliged to make them happy. All primates love "shiny red things", even humans, even if it's not rational.
K.I.S.S. is dead in IT. Fads and toys won.
Too many bosses and customers want fancy eye-candy without knowing and/or caring about the carrying cost of this bloat. Staff feels obliged to make them happy. All primates love "shiny red things", even humans, even if it's not rational.
K.I.S.S. is dead in IT. Fads and toys won.
My undergraduate thesis has been hosted by my undergrad institution, UCSC, https://compbio.soe.ucsc.edu/papers/thesis_rafael/thesis.htm... for 26 years.
It was rendered using Latex2HTML. The "next page" images don't work since they were links to a website that doesn't serve those assets any more, but the thesis is still completely readable.
It was rendered using Latex2HTML. The "next page" images don't work since they were links to a website that doesn't serve those assets any more, but the thesis is still completely readable.
I'm embarrassed to say that “It’s shit. But it worked" is a fair assessment of many web projects I've worked on over the years.
Reminded me of https://motherfuckingwebsite.com/
The simple HTML of Hacker News is one of the reasons I love it so much. What a breath of fresh hair compared to modern Reddit.
The worst web browser I have access to is the "experimental" one on a Kindle 4. Most web pages that one might want to visit will not load in this web browser—because it does not support modern versions of TLS.
For the reasons mentioned in this article—it's probably a good idea to keep plain HTTP access available on your websites.
For the reasons mentioned in this article—it's probably a good idea to keep plain HTTP access available on your websites.
I,ve been working on a hyper-compatible web forum system. With some tweaking, I,ve been able to achieve compatibility with Netscape 2.x, IE 3.x, Mosaic 1.x, Opera 3.x, and everything since then, not to mention Lynx, Links, w3m, etc. I still have some advanced JS stuff, but it,s behind feature checks. 25+ years of various client compatibility, for people with older devices and retro fans. Amazing tech we should not throw away.
> Go sit in an uncomfortable chair, in an uncomfortable location, and stare at an uncomfortably small screen with an uncomfortably outdated web browser. How easy is it to use the websites you’ve created?
This is such a quotable paragraph. It also reminds me of this:
"Do what you can, with what you have, where you are." - Theodore Roosevelt
This is such a quotable paragraph. It also reminds me of this:
"Do what you can, with what you have, where you are." - Theodore Roosevelt
Making things work on crappy browsers is definitely important. But that doesn't always mean "simple HTML", and it definitely doesn't mean avoiding react or jQuery or whatever HN framework hipsters are complaining about this week - if anything, those popular, "bloated" frameworks are more likely to have been tested on these obscure browsers and have whatever workarounds you didn't think of. It might not even mean following "web standards"; frankly I've found writing HTML3 with no CSS, table layouts, and maybe even the occasional <EMBED> works a lot better on these old browsers than flexbox, semantic tags, or whatever the overengineers are trying to push these days.
The bottom line is right; rather than posturing, test your site - actually test it - on one of these browsers.
The bottom line is right; rather than posturing, test your site - actually test it - on one of these browsers.
Different solutions for different problems. You have a different design requirement when you are designing something for use by the most vulnerable and those without access to reasonable technology. This absolutely needs to be factored in when choosing how to build something, however, this is a tiny subset of users, and this is for essential life-is-in-the-balance types of service.
The vast majority of users will have even a rudimentary smartphone (some years ago I visited the Calais jungle to donate food and supplies, and whilst people were struggling to eat, they knew that a smartphone was a cheap, key thing to obtain and hold onto because they make accessing help and communicating with their support network possible) and or laptop that can handle some lightweight JavaScript and benefit from an enhanced experience.
The vast majority of users will have even a rudimentary smartphone (some years ago I visited the Calais jungle to donate food and supplies, and whilst people were struggling to eat, they knew that a smartphone was a cheap, key thing to obtain and hold onto because they make accessing help and communicating with their support network possible) and or laptop that can handle some lightweight JavaScript and benefit from an enhanced experience.
This is a good article, but I have to differ with this bit:
> If your laptop and phone both got stolen – how easily could you conduct online life through the worst browser you have? If you have to file an insurance claim online – will you get sent a simple HTML form to fill in, or a DOCX which won’t render?
Assuming my laptop & phone got stolen, I'd have a hell of a time getting through 2FA to my email and password manager. I can get other non-crappy devices. And I'd never log in through an untrusted device anyway.
> If your laptop and phone both got stolen – how easily could you conduct online life through the worst browser you have? If you have to file an insurance claim online – will you get sent a simple HTML form to fill in, or a DOCX which won’t render?
Assuming my laptop & phone got stolen, I'd have a hell of a time getting through 2FA to my email and password manager. I can get other non-crappy devices. And I'd never log in through an untrusted device anyway.
> The unreasonable effectiveness of simple HTML
If website owner gone wild he would just disable simple HTML frontend and would bloat you to download hundreds of JS-sripts.
Still curious, why Nitter CAN provide usable & modern looking simple HTML frontend for Twitter[0], but Twitter itself can't (guess, probably won't) do that.
[0] https://nitter.net/app4soft/status/1335199292701761538
If website owner gone wild he would just disable simple HTML frontend and would bloat you to download hundreds of JS-sripts.
Still curious, why Nitter CAN provide usable & modern looking simple HTML frontend for Twitter[0], but Twitter itself can't (guess, probably won't) do that.
[0] https://nitter.net/app4soft/status/1335199292701761538
Part of the problem is that once you expand past a single read-only document, things like navigation, routing, user input/forms- get complicated. Devs want friendly URLs, static sites for easy deploys (ie no backend for form processing).
Excellent story. It's true that sometimes we should go back to the origin of the web, when it was mostly grey. I miss that web. I feel that it was an art to make it that ugly, but for me it was beautiful to the eyes.
[deleted]
Hmmm, starting out with a description of what the plebes do in the housing benefit offices. Then mentioning in passing that his "old car" is a BMW i3 (can I have that old car? Oh, he was only test driving it...). This juxtaposition doesn't really endear the author to me. Ok, maybe I'm not getting the British sense of humour... he does have a point however!
Nah I think I'll just keep rendering text in my 20M SLOC virtual machine thank you.
Ads need JavaScript, in general.
Rich logging/event tracking needs JavaScript, in general.
Native Apps tend not to be HTML-powered, they're powered by APIs that can also power Web sites that use JavaScript, again, in general.
A lot of these corporate-ey features rely on JS.
Rich logging/event tracking needs JavaScript, in general.
Native Apps tend not to be HTML-powered, they're powered by APIs that can also power Web sites that use JavaScript, again, in general.
A lot of these corporate-ey features rely on JS.
I loved this article so much. For real. I hope web designers will follow the advice, and focus all their efforts on html+css.
It's more complicated, I know. But it's better.
It's more complicated, I know. But it's better.
This article has a lot of good points. I went to my county's covid page to sign up for the vaccine wait list. It could have been one page of about 10 questions and radio button (and other basic controls) and a submit button. But nope, it had 500k of god knows what javascript being downloaded for transitions and fancy buttons and 5 pages of really nice looking questions. All I wanted to do was register for a wait list! Imagine older people (who I'm all have surely filled out simple online forms) with older computers going through this stuff. Or someone who is blind. It's ridiculous.
The standard widgets are all accessible, people with screen readers, limited mobility, poor vision, etc, all rely on pages being written so the devices they use to read the web can function properly. People who choose to eschew these standard components very frequently end up with a site which is unusable for disabled people.
Very few people have the skill to turn a div into an effective button, yet over and over I see web sites with rows of buttons which are in fact just divs with javascript behind them.
Making your site accessible isn't just a good practice, in the US, it is the law. Courts have ruled that the ADA applies to web sites along with any other type of business. A small sample of sites where people thought they could smash together super-fancy sites without concern for basic needs of users: https://www.atilus.com/top-10-ada-lawsuits/