
The modern web makes me want to throw up (2016) - _ttg
https://josephg.com/blog/the-modern-web/
======
sbergot
I fail to see what this article brings to the conversation appart from an
unpleasant metaphor.

~~~
baicunko
Agree. I'm getting tired of everyone saying that everything in the 90's was
super duper fast and now everything is sluggish with RAM-hoarding tendencies

~~~
norswap
The point of the article is web vs native.

------
hn3333
I don't see what the big issue with installing vs. not-installing is. When you
start an app you copy code into RAM and then start executing it. What does it
matter if the code is coming from your hard disk or from a webserver.

Secondly, of course the browser is like an operating system. It's a virtual
machine abstracting away the underlying machine for security (a point the
author completely forgot) and convenience reasons. And it's great at that.

What I personally dislike is the tooling available for modern web development.
I neither particularly like the programming languages nor the frameworks and
tools. Actually some of the setups I've seen do make me want to throw up a
bit, too, that's why I am a happy native programmer (c++ and swift) most of
the time!

~~~
Xelbair
>I don't see what the big issue with installing vs. not-installing is. When
you start an app you copy code into RAM and then start executing it. What does
it matter if the code is coming from your hard disk or from a webserver.

Persistence, and idempotency.

Code you run from your local hard drive will work as expected every time you
run it.

Code grabbed from remote repository(website) might, and usually will, be
updated/changed and it might break your workflow. It might not exist anymore.

~~~
jacquesm
And the simple fact that it is still there tomorrow morning even if the
'service' decides to shut down.

------
kindly_fo
Current web situation is understandable. First you add 1 thing then another
and suddenly you have chrome eating all resources. Same goes for Windows.

I'd like to see some cutted version of html, smth like rss feed, so it will
have very small amount of stuff it could do but be blazingly fast.

And I'd like all os producers create group that would make some framework for
cross platform desktop gui, with separation of gui and logic.

~~~
enriquto
> I'd like to see some cutted version of html

gopher!

~~~
cybernabjo
Gopherspace / tildespace / sdf are fun little rabbit holes.

------
mrweasel
The argument about people not wanting to install anything is a little
puzzling. Is that actually true? I would assume that most people, even on
phones install the majority of applications they need on day one of getting a
new device.

Honestly I don't think people care how their applications are developed or
installed (assuming it's sufficiently easy). Resource also isn't something
people think about, until they don't have enough. I don't see an argument from
the customer side for web applications or Electron apps. It's easier and
quicker to develop, but that's a business/developer argument.

Application development, especially on Windows and Linux seems like a lost art
at this point.

~~~
neoberg
It's true for me at least. I try to avoid installing anything and look for a
web based alternative first. If I can't find anything then I fall back to
native. I'm looking forward to the day where web based OSes are a viable
solution for my needs.

------
raxxorrax
Agreed. We should just be allowed to run native apps. Yes, yes, I know that I
can jailbreak my phone even today...

But store apps didn't solve the malware problem, it just handed large
companies a near monopoly for software distribution. That is far worse than
the threat of malware. That MS tried to release an OS where only store apps
are allowed wasn't really due to security concerns. They wanted to push their
ecosystem.

~~~
MattGaiser
> But store apps didn't solve the malware problem

They do a lot better than just trusting .exes from the web.

~~~
krapp
Do they? App stores are literally just trusting executables from the web with
extra steps.

Unless you're downloading the source code, reviewing it thoroughly and
compiling it, you're blindly trusting _someone._

~~~
MattGaiser
You are trusting a company in Apple or Android to review it as they have a
reputation to protect with you.

It isn’t perfect, but you are trusting someone you share a mutual interest
with rather than a random stranger.

~~~
krapp
The random stranger has more to lose than the big corporation, though. Apple
or Mozilla can weather a security breach or exploit because and suffer minimal
loss, whereas the random stranger's entire reputation might be destroyed in a
few bad forum posts.

------
ummonk
There is a third big advantage to web apps over native apps - they're run in a
hardened sandbox designed to safely execute untrusted code.

~~~
eeZah7Ux
Native apps can be sandboxed much better e.g. with firejail.

The browser sandboxing model has a huge attack surface, as proven by the
hundred vulnerabilities found.

~~~
ummonk
The findings of vulnerabilities are a product of all the effort invested into
testing the browser sandbox and hardening it.

In contrast, native app firewalls are only starting to get developed and are
far less battle-tested than the browser sandbox. Heck, just look at one of the
other threads on the current HN front-page for how weak native app firewalls
can be:
[https://news.ycombinator.com/item?id=23689364](https://news.ycombinator.com/item?id=23689364)

------
pochekailov
Author also forgets #3: instant availability of the user's data on each of his
devices in the proper format.

As a user who has to work with several devices simultaneously (several laptops
in my laboratory, each managing some equipment), I find it very critical to
have my data immediately available between all the devices.

Also, how will it be possible for a 19 year old to become a billionaire unless
they can build their stuff on top of the other frameworks?

------
skrebbel
A friend of mine had the same emotion some 7 years ago and just switched jobs.
He's now a system programmer mostly doing C++ and Go. No web.

And I quite like the modern web and I think none of his objections (or the
author's), while true, are really that terrible.

And none of us are throwing up! Life hack!

------
sebazzz
Modern web frameworks are also too complex. What I can achieve in Knockout.js
in a few lines of code, and need many wrapped layers of complexity or
libraries for in React and Angular.

It is almost that an attempt was made to hide complexity by adding more
complexity.

------
mkaymalright
It should theoretically be possible to run native apps through WASM in the
browser requiring no installation and have native speed, no? I'm sad to see
this not being more popular among "regular" web apps.

------
aogaili
This article is attention seeking, unconstructive and makes want to throw up.

------
mattlondon
Perhaps the "slowness" of web-based technologies like Electron et al is just
the price we pay for truly universal cross-platform development?

Sure there are native options on each major platform that are faster, but they
are generally not universally cross-platform. Web-tech may be slow in
comparison, but it is _universal_.

The question though, is it a price worth paying?

Many other things have tried to be a universal cross-platform solution for
apps but I don't think anything has come as close to web-based technologies
(maybe only Java? And that is not exactly everyone's favourite tool for
creating great cross-platform UIs and it is arguable if Java is even "native"
anyway)

~~~
krapp
>Perhaps the "slowness" of web-based technologies like Electron et al is just
the price we pay for truly universal cross-platform development?

No. That implies Electron is the best possible model by which "truly universal
cross-platform development" could be achieved. We could do better, but we just
don't bother trying because the web was already ubiquitous when Electron came
along and web developers were already dime a dozen.

------
sixhobbits
(2016)

~~~
dang
Added above. Thanks.

------
bstar77
Too bad this article has virtually no substance as I’d really like to read
something more than web apps suck, native is great- news flash, both have the
potential to be implemented poorly, except one has the potential to be
censored. I have a completely different opinion on this topic... I think
single page reactive apps are incredible and will give native apps a run for
their money if architected well, they follow open standards and do not require
curation.

The criticisms with Chrome may be valid, but that’s a completely different
discussion... you can run Chromium to get a lighter experience and even
Firefox has become much more light weight these days. Safari has done an
incredible amount to reduce system resource usage and suspend tabs in the
background. It’s true that web apps are becoming more demanding of memory (for
a few reasons), but so are native and desktop apps. The advantage of using
something like React and Redux is undeniable.... it will increase the memory
footprint, but you are also should be getting more responsiveness in the UI as
a trade off.

I can argue this further, but it’s unlikely that I’m going to convince someone
still using a netbook that this isn’t a problem. Moving some I’ve the
processing to the client side has moved web development forward monumentally,
the client can now do things like process dates and cache user data in the UI
and not depend on massive server side resources to do that.

Poorly implemented web sites will always be a problem, but understand that is
usually due to the inclusion of egregious tracking libraries and ads, both of
which are more tightly controlled in app stores- this is something I would
argue is the biggest problem on the web. Additionally, some web developers can
get library happy and just include far more than are necessary. I never hear
people complain about the initial app download process, but often times they
are too large to do unless on WiFi. The web doesn’t have this problem and will
cache resources much more progressively.

Many people will call for a “no script” web, but the reality of that is
horrifying. The last thing I want is to have to go through walled gardens for
every kind of computing I want to do. Turning the web into a collection of
glorified documents with hypertext puts far too much power in the hands of the
curators and would open users up to far more vulnerabilities if everything
needed an install.

------
twoslide
The problems with the modern web (over-complicated cookie consent,
advertising/ad-blocker arms races) are not those the author describes
(performance of native web apps). Functionality of most downloaded apps with
good performance should be easily possible in a browser. If that's not the
case, developers of those apps are not doing it well. Native apps allow them
to continue this bloat without such a strong performance hit.

~~~
lifty
> Functionality of most downloaded apps with good performance should be easily
> possible in a browser.

I don't understand how someone can make such a statement. Maybe I am more
sensitive to subtle slowdowns but I rarely see web applications that can match
the responsiveness and feel of native applications. And when I say native, I
don't mean electrons apps. While there are some web apps that manage to
squeeze out decent performance out of a browser but those are few and far
between.

I don't know if you used computers in the 90's, but they felt really snappy.
We lost that with modern OS's, but even those are much better than the
glorified virtualised OSs that the browsers are.

~~~
stupidcar
Can you provide some examples of complex web apps you consider to be
substantially slower than their native equivalents?

[Edit] I'll take the downvotes as evidence you can't.

For example, I use [https://app.diagrams.net/](https://app.diagrams.net/) for
diagramming. I don't find it to be any slower than native equivalents like
Visio.

I use [https://www.figma.com/](https://www.figma.com/) for UI design. I don't
find it to be any slower than native equivalents like Sketch.

I use Google Docs for word processing. I don't find it to be any slower than
native equivalents like Word.

~~~
lifty
Ok, I think there really is a difference in how people perceive slowdowns.

\- Google Docs is substantially slower than MS Word, especially when you have
more content inside.

\- app.diagrams.net seems to be quite good with the few shapes I added

\- gmail is much slower for me than the native Mac email app

\- Slack is very slow compared to something like Telegram native on the mac,
or even Zoom.

\- VS Code feels worse and worse with every release. They are adding more
feature but I feel its less and less responsive.

\- Google Calendar is slower than the native Mac calendar app.

These are a few apps that I heavily use on a daily basis. I won't say the web
apps can't get decent performance. But I think on average you get better
performance on native, and if you put the same amount of effort in performance
tuning, the results you get on native are unachievable on web apps.

------
MattGaiser
The reason you can install instantly from the web and just pull in code with
reckless abandon is because you are essentially running a sandboxed
environment. Browsers are built to not trust.

The technical limitation is that you want the instant loading (which can’t be
secure as it doesn’t allow for you to verify you actually want to run
something nor does it let antivirus scan it) without the protective sandbox.

------
Antoninus
I disagree, I really enjoy the tools we have today. gRPC microservices,
containers, React (16.8+), on top of that we many languages to choose from and
utilize. Building services at scale has never been easier.

------
sod
I wrote my latest project as a web app because it runs effortlessly on my PC
and my iPad. And updating it cross device is instant.

Trading ram & cpu vs. my time spent building the thing is the right tradeoff
for me.

------
jslakro
why an old and insipid article becomes popular on HN? a case of nobody reading
past the headline

------
jack_riminton
Nah I'd rather web apps become faster and more efficient

I'm not going to download an app for everything

~~~
algesten
Isn't half the blog argument that this could be solved for native apps too?

------
outadoc
Nobody:

HN front page: The modern web makes me want to throw up

~~~
jslakro
xD what a loss of time and money

------
thanatos519
I upvoted this before reading because I already agreed!

~~~
jpkeisala
I thought it was about SPA vs. Multipage application on which I would have
agreed but using web technology instead of native on mobile app development is
completely fine by me.

------
stupidcar
It's perfectly possible to write a performant app with the web. If the author
thinks it isn't, the problem is their ignorance, not the web.

------
mywacaday
I've recently being using the web version of sketchup having used the desktop
version several years ago. I was not hopeful when starting but after a few
hours I'm impressed. I've found the performance good and didn't notice any
slowdown. It's the first webapp I've seen that I've though this might actually
work.

~~~
dalacv
considering that Google no longer owns it, it actually might be around for a
while longer.

------
nl
I suspect people who write stuff like this never used the 90's web with 90's
browsers on 90's computers.

It wasn't lightening fast. It was crashy and shit.

I mean, as a random example: tables wouldn't render progressively unless they
had the number of columns and rows set in the table header. So the whole page
had to load before the table could be seen.

And as someone who has shipped an app in React Native I'm 100% sure I'm never
ever going to do that again. The principle is nice, the implementation is
horrible.

Browser have lots of lines of code because they offer lots of features.
Features are useful - we want general purpose computers because people want to
do lots of things on them.

------
wyattpeak
I don't know if people who lament having native applications for everything
had a completely different approach than me or if their memory is very rose-
tinted.

I used to have a folder of several dozen applications I'd move from PC to PC
whenever I got a new machine. When I'd poke around my computer I'd find five
utilities all doing the same thing like PDF conversion, which I did
infrequently enough that I wouldn't remember it was there next time I needed
it. I'd have to give full system privileges to an company I'd never heard of
who'd built the only freeware tool to do xyz.

I understand not wanting to, say, do your emails or document processing in-
browser. But these are problems which are still well-served by native
applications. I think the fact that all those little utilities are now webapps
is an absolute blessing.

