Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

The unreasonable effectiveness of simple HTML | Hacker News https://news.ycombinator.com/item?

id=25915313

Hacker News new | past | comments | ask | show | jobs | submit login

The unreasonable effectiveness of simple HTML (shkspr.mobi)


1064 points by edent on Jan 27, 2021 | hide | past | favorite | 378 comments

ogre_codes on Jan 27, 2021 | next [136 more]

apabepa on Jan 27, 2021 | prev | next [61 more]

jbj on Jan 27, 2021 | prev | next [–]


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.

GoblinSlayer on Jan 28, 2021 | parent | next [–]


Another example: a train schedule site that requires the latest approved browser. If you want to travel, first make sure you're not in the
middle of nowhere.

jbj on Jan 28, 2021 | root | parent | next [–]


Talking about the sun ... We got a variant of those credit card sized NFC cards to check in to public transit, the issuer decided
that they should have an expiry date. From what I remember reading in local tech news, the logic was that people bend/break
them over time, making them have a measurable lifespan.
My card actually expired in the middle of the countryside, and phone support just told me to get a replacement in the nearest
convenience store.
I could have been prepared for this if I had checked the expiry date and put it in my calendar, but how many people do this?
btw, apologies for typos in my post above, it went quick, and was typed on touch screen.

pbronez on Jan 27, 2021 | prev | next [–]


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.

red_hare on Jan 27, 2021 | parent | next [–]


My favorite example of this was when I worked on a B2B product with a daily email report. We noticed the most common usage of this
email report came from native iOS email clients first thing in the morning.
As a test, my team all went home and practiced being the user. We had a test email sent to our email addresses we would open first
thing in the morning and attempt to make sense of it while laying in bed.
The result was a lot less cruft, bigger text, and key takeaways above the fold.

foopod on Jan 27, 2021 | root | parent | next [–]


I love examples like this, I hope you don't mind me tagging on my own.
Our team was doing in home interviews for a TV product. One of the customers subscribed to an expensive sports service and
yet barely ever watched it.
When we probed it was because her two sons had left home in the last year and she knew they would come home when a game
was on if she had the service. She said that she wish she knew when big/popular games would be coming up so she could invite
them around and see them more often.
We trialed a fortnightly email newsletter for people that were subscribed but not very active. And saw a decent uptake in viewing
almost immediately.

satyrnein on Jan 27, 2021 | root | parent | next [–]


Very poignant example!
In terms of dispassionate product analysis, nice job using emails to reengage users at risk of churning out.

1 of 6 7/21/22, 16:56
The unreasonable effectiveness of simple HTML | Hacker News https://news.ycombinator.com/item?id=25915313

allenu on Jan 27, 2021 | parent | prev | next [–]


Years ago I noticed that when I was hungry and tired, I would notice just how much bad design got in the way of completing a task.
Things that I would work around easily when I was well-rested and sated all of a sudden became incredibly frustrating. Unclear
instructions, or buttons that were hard to find, or error messages that were inscrutable suddenly became very obvious.
I posited that it would be an interesting user test to have someone who was in an irritable mood try to use your product. I've never
actually done this, and I still think it would generate interesting feedback.

aembleton on Jan 28, 2021 | root | parent | next [–]


That sounds similar to https://theuserisdrunk.com/
The guy behind the site will get drunk and then test out your website.

cashewchoo on Jan 27, 2021 | prev | next [–]


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).

ratww on Jan 27, 2021 | parent | next [–]


My memories of non-web toolkits are not as fond as yours.
You mention Swing, but I remember lots of my non-programmer friends dreading having to use applications made with Java, since they
were considered sluggish and resource-intensive. They also had a certain look and feel to them that made them stick like a sore thumb
compared to other apps, and a lot of people knew by looking when an app was made with Java.
Java was actually pretty fast even back in the early 2000s, but thanks to Swing et al (and to the JDK requirement), Java desktop apps
had a reputation was much worse than Electron or JS-heavy websites have today. Especially among non-programmers.
Strangely, OTOH, Visual Basic had a terrible reputation among programmers, but most Windows users had no idea about it since it
used native widgets.

kaba0 on Jan 27, 2021 | root | parent | next [–]


Back then, looking native was the most important thing. Today it seems electron apps can get away with looking anything but
native - so perhaps it’s time to resurrect some other desktop frameworks (I just recently started working with JavaFX and I really
like it so far. Unfortunate that it is so niche)

Aeolun on Jan 27, 2021 | root | parent | next [–]


My problem with the default Swing theme, and any theme in Java at the time, was that they were so ridiculously ugly
compared to the system default.
It wasn’t exactly easy to make your own theme either. Something that HTML allows without almost without thinking.

kaba0 on Jan 28, 2021 | root | parent | next [–]


Yeah, I agree. But Swing has some cool themes nowadays. (And JavaFX is pretty easy to theme, but I have not
yet tried it extensively)

ratww on Jan 27, 2021 | root | parent | prev | next [–]


I think the issue with Swing was that is was in a bit of an uncanny valley. If all controls were custom it wouldn't look
strange.
Visual Basic was very... well, "basic", so it looked normal. Some tools like CCleaner and a lot of Antiviruses had fully
custom looks, but didn't look out of place, because they were too different.
JavaFX looks fine, though.

tpxl on Jan 27, 2021 | parent | prev | next [–]


> It's just unfortunate that nobody would be able to use it because nobody downloads programs off random websites anymore
But they do, just in javascript format! I still am bitter such a poor technology won.

2 of 6 7/21/22, 16:56
The unreasonable effectiveness of simple HTML | Hacker News https://news.ycombinator.com/item?id=25915313

nabla9 on Jan 27, 2021 | prev | next [–]


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.

exporectomy on Jan 28, 2021 | parent | next [–]


Somehow we've regressed to 2000s levels of aggravating websites. When I want to buy a thing from a retail chain, I go to their site
ready to search and have to click through multiple pop-ups first. No I don't want to subscribe to whatever bullshit, no I don't want to allow
access to location data, no I don't care about stupid cookies, no I'm not wasting time talking to a chatbot that interleaves computer
generated and human generated text with unpredictable delays. Just get out of my face and let me buy the thing I'm here for. I could
understand all that for, say, a news site where they need to suck you in to subscribe for them to make money, but not a retailer where
you're obviously there because you already want to buy something!

MaxBarraclough on Jan 27, 2021 | prev | next [–]


> 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.

lovelyviking on Jan 27, 2021 | prev | next [–]


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.

grishka on Jan 27, 2021 | parent | next [–]


Oh, YouTube. I'll never understand how they made it such that when you open your subscriptions page it first loads the list of videos,
and then, 5 seconds later, shows their durations. Or how the player UI is unresponsive for several seconds after you open a video. That
took some special talent apparently.

hbn on Jan 27, 2021 | root | parent | next [–]


>you open your subscriptions page it first loads the list of videos, and then, 5 seconds later, shows their durations
Every time this happens I have this horrible feeling that they just removed showing video durations entirely. Which wouldn't even
surprise me, I could imagine them doing some stupid A/B testing to discover they got more people clicking around when
durations were removed.
But regardless, it's insane that one of the biggest sources of internet traffic on the planet is software that can render a bunch of
images (thumbnails) but it takes several seconds to display a few characters of text on them. I don't know if they're grabbing
durations as a separate API call, or if that's just how slow their JavaScript is. Either way, it's pathetic.

dgb23 on Jan 27, 2021 | parent | prev | next [–]


> It was never intended to be overweighted virtal machine and not a good one by the way.
Citation needed. It's been two and a half decades since people started using the web as more than just a delivery mechanism for text
and images.

chrismorgan on Jan 27, 2021 | root | parent | next [–]


As an example of this, forms were in the HTML 2 spec of 1995, and you’ll recognise every last part of it as still working exactly
the same way: https://www.w3.org/MarkUp/html-spec/html-spec_8.html. (<input type=image> has fallen into disuse and <input
type=reset> is rare and generally discouraged, but all the rest is still universally used.)

mtrower on Feb 8, 2021 | root | parent | prev | next [–]


longstanding use != intended use

samoa42 on Jan 31, 2021 | root | parent | prev | next [–]


> It's been two and a half decades since people started using the web as more than just a delivery mechanism for text and
images.
I still do (mostly)

3 of 6 7/21/22, 16:56
The unreasonable effectiveness of simple HTML | Hacker News https://news.ycombinator.com/item?id=25915313

JoeAltmaier on Jan 27, 2021 | prev | next [–]


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.

simias on Jan 27, 2021 | parent | next [–]


I concur. I wrote a web interface for a crappy 20yo DSP last year, the thing doesn't even have an MMU and only 32MB of RAM. I
basically put all the code in the browser, on the device there's only a very simple C HTTP server that serves the static files and blobs of
data. In the end the UI looks fairly modern and responsive even though the backend is potato hardware.
I wouldn't say that client-side JS is underrated though. If anything I'd argue that the modern web heavily abuses it. Try browsing twitter
or youtube with Javascript disabled for instance. The site simply won't work.

iforgotpassword on Jan 27, 2021 | root | parent | next [–]


For YouTube I kind of still see a point, if only to not make scraping videos dead simple by not just having the plain URL of the
video file in the html (yes there are still tools out there).
But twitter is so ducking ridiculous in that regard. At its core it is a web site to share 280 character long strings, but as of recently
you cannot do this anymore without JavaScript! They shut down the legacy page at the end of 2020 that was blazing fast and a
pleasure to use. And what irritates me the most about their modern Js based mobile page is that it frequently happens that I tap
a twitter link on HN which takes forever to load, then it shows two blue spinners one at the top and one in the center and then
after another eternity it says "this content isn't available". Then I hit reload, the whole thing repeats and this time the 280
characters display just fine. How? Just how do you end up with this?

simias on Jan 27, 2021 | root | parent | next [–]


I would argue that the fact that video content is often so frustrating to scrape is symptomatic of the massive cultural shift
the web has seen over the past decade or two.
In the "old" web you could basically right-click -> save anything you want (ignoring plugin blobs for the sake of making
my point more compelling). Meanwhile I tried manually scrapping a video from reddit the other day, I succeeded but it
was quite the puzzle. First you have to find the right element in the DOM, then find the source which is a playlist for the
various qualities available, then there was a 2nd indirection I think, then finally I got the URL of my video file.
My browser obviously knows about all of this but it won't expose it easily. No "Save video as" menu. For some reason I
don't expect that Chrome will implement it any time soon...

chrismorgan on Jan 27, 2021 | root | parent | next [–]


Firefox exposes this stuff just fine: its context menu on videos has “View Video”, “Copy Video Location” and
“Save Video As…”. (I thought that Chrome did too, but maybe my memory is faulty or maybe they removed it at
some point.)
But sites can easily prevent all of this stuff from happening by putting something transparent on top of the video,
so that you’re not actually right clicking on the video, but on another element.
And here’s the thing—there’s a sound technical reason why they all do that, and it’s not just legal nonsense.
Those operations only make sense if you’re playing one video file, but as you remark, there are all the various
qualities available, and all of these platforms are designed to be able to switch seamlessly between sources, so
that the browser never does get told “play this single video file, it’s the whole thing”, but rather “here, play this
(1080p) chunk”, then “here, now this (144p) chunk”, then “and now this 360p”—with the JavaScript monitoring
everything and trying to make it flow as smoothly as possible at each step.
So… no, your browser actually doesn’t know about all of this, and that’s the reason that YouTube and the likes
have stopped it from exposing it even in browsers that are otherwise willing to.
(You could still easily say that there’s a culture shift in this: in the distant past, the web valued simplicity and
openness at the cost of performance and effectiveness; but as the internet went more and more mainstream,
more and more developers broke ranks and insisted on unbreaking things for their users and improving
performance and effectiveness, even at the cost of openness and simplicity.)

simias on Jan 27, 2021 | root | parent | next [–]


> Firefox exposes this stuff just fine: its context menu on videos has “View Video”, “Copy Video Location”
and “Save Video As…”. (I thought that Chrome did too, but maybe my memory is faulty or maybe they
removed it at some point.)
You're right, I never noticed that. Although I just tried on youtube and the option are there... but greyed
out. Not sure why.
As for the various formats, if the web wasn't a javascript shitfest that would be exposed to the browser
and it would decide what format it wants to use. That would help with all these websites with a crappy
streaming implementation. That would also make downloading very easy, you could just select which
format and bitrate you want.

chrismorgan on Jan 28, 2021 | root | parent | next [–]


Greyed out because there is no video location for you to view or save. It’s playing a stream, put
together from many pieces, so that it performs and functions better.
Switching between sources mid-play is a lot harder than most realise, because random seek is
expensive in videos. So instead you tend to treat it as a large number of files of a few seconds
each that get glued together as you play it, and you can switch between them as you go.
The web platform could be extended to cover multiple-bitrate streaming and let the browser take
control, but that’s a pretty complex affair, and I suspect that it still wouldn’t be enough to make

4 of 6 7/21/22, 16:56
The unreasonable effectiveness of simple HTML | Hacker News https://news.ycombinator.com/item?id=25915313

these operations work—the browser would need a way of putting it back together again into one
file.

moonchild on Jan 28, 2021 | root | parent | prev | next [–]


> greyed out. Not sure why.
DRM, maybe?

userbinator on Jan 27, 2021 | root | parent | prev | next [–]


What's most ironic is that HTML5 added a <video> element specifically to make videos as easy and convenient
to manipulate as images.

scaladev on Jan 27, 2021 | root | parent | prev | next [–]


I would imagine it's the result of inventing some busywork the keep the frontend team occupied after the product is
"done" and the only thing it really requires is low amounts of maintenance.
That, and pushing more useds to the mobile application.

mattl on Jan 27, 2021 | parent | prev | next [–]


And what if the device can't or won't run JavaScript?

JoeAltmaier on Jan 27, 2021 | root | parent | next [–]


I didn't make myself clear. The embedded device is the web server in this setup. The browsing device (phone, tablet etc) runs
javascript. You're right, no way a tiny embedded device runs javascript.

Twirrim on Jan 27, 2021 | root | parent | next [–]


"And what if the device doesn't run javascript"
You've still got javascript requirements there on the browsing device, eating up more CPU/Memory/Battery than a
straight HTML page would.

wayneftw on Jan 27, 2021 | root | parent | next [–]


"Embedded javascript to make them responsive"
That sounds optional and a bit of JS for making things responsive certainly doesn't automatically create a
CPU/Memory/Battery drain.

kwdc on Jan 27, 2021 | root | parent | prev | next [–]


Javascript is available for microcontrollers within various ram footprints.
Here's one mentioned recently on HN https://jerryscript.net/
There's even benchmarks for them. https://bellard.org/quickjs/bench.html

JoeAltmaier on Jan 27, 2021 | root | parent | next [–]


Cool!

DHPersonal on Jan 27, 2021 | root | parent | prev | next [–]


The PSP does, but it's pretty limited.

tshaddox on Jan 27, 2021 | root | parent | prev | next [–]


What if a device doesn't have a web browser? Or a display? Or a network connection? At some point you have to make some
basic assumptions about the platform you're targeting.

mattl on Jan 27, 2021 | root | parent | next [–]


There are many web browsers that don't support JavaScript, and JavaScript is something that can be quite easily turned
off in many browsers that support it. Harder than it used to be, if anything.

godshatter on Jan 27, 2021 | root | parent | next [–]


Then there are those like myself that run NoScript or something similar where the author of the website has to
entice me into allowing them to run javascript code on my computer. If I can find the correct one to enable out of
the dozen or so that most websites seem to use.

forgotmypw17 on Jan 27, 2021 | root | parent | prev | next [–]


At some point it,s time to give up. But before I do, I will bend over backwards twice to try to accomodate the user. Maybe
it,s because of all those times some arrogant asshole website told me my browser isn,t goos enough.

forgotmypw17 on Jan 27, 2021 | root | parent | prev | next [–]


My several years iPad with iOS 9, an otherwise capable device, locks up regularly on many js sites. JS is a global toggle which
takes 30 seconds to switch.

5 of 6 7/21/22, 16:56
The unreasonable effectiveness of simple HTML | Hacker News https://news.ycombinator.com/item?id=25915313

theandrewbailey on Jan 27, 2021 | parent | prev | next [–]


> Embedded javascript to make them responsive.
We must have different definitions of 'responsive'. You don't need javascript to make a website look different due to different screen
sizes.

dvdkon on Jan 27, 2021 | root | parent | next [–]


They might have meant actual responsiveness, as in the absence of lag. On low-end embedded devices, rendering a template
with something like PHP could easily take high units or even tens of seconds, whereas JS on a much more capable client device
can respond to the user's input immediately.

JoeAltmaier on Jan 27, 2021 | root | parent | next [–]


Right. Populating pulldowns, updating dynamic lists (available APs after a scan) etc.

fouric on Jan 27, 2021 | root | parent | prev | next [–]


What if you do, though?
Flexbox is a CSS 3 feature. Support appears to have been implemented in FF and Chrome around 2012-2014 and still doesn't
fully work in IE[1].
The fact that a site uses CSS and HTML instead of Javascript does not imply that it's easier for older browsers to display.
Javascript 1.0 was released in 1996.
[1] https://caniuse.com/flexbox

leephillips on Jan 27, 2021 | root | parent | next [–]


You don’t need CSS to make a website look different due to different screen sizes.
In other words, plain HTML is responsive by default. You can improve things with CSS. But if your site is unusable on
small screens, you’ve broken something with your “design”.

giantrobot on Jan 28, 2021 | root | parent | prev | next [–]


Flexbox is by no means necessary to make a responsive web page. Media queries have been supported by mobile
browsers for over a decade as has the viewport meta tag. Between the two it should be straightforward to make most
page designs responsive.
Old browsers (old IE especially) that don't handle those features aren't a problem because they'll just fall through to the
screen style. Trying to use JavaScript to help old browsers is a worse solution as you're more likely to run into JavaScript
incompatibility problems than CSS.

lmm on Jan 28, 2021 | root | parent | prev | next [–]


Fortunately there's a practical way to do properly responsive layouts that will work in any browser even from before 1996:
HTML tables.

126 more comments...

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search:

6 of 6 7/21/22, 16:56

You might also like