I feel that discussion was valuable for not merely pointing out issues but thinking of solutions as well.
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!
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.
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.
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.
Even if they do think about it, do they know why they are short?
If the user doesn’t know that Slack eats battery and therefore doesn’t make any changes regarding Slack, it doesn’t matter to Slack.
unfortunately, this is also why climate change doesn't get fixed.
That's because most people are clueless about tech. They don't know what is possible, or how fast software can be, so they just accept the norm of bloated apps. If they even think about it, they usually blame hardware instead in my experience.
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.
They do a lot better than just trusting .exes from the web.
Unless you're downloading the source code, reviewing it thoroughly and compiling it, you're blindly trusting someone.
You do still need to trust someone, but the parent never said you didn't. They said that store apps do better than trusting random .exe's from the web, which is true.
The fine grained permissions system (giving camera permissions on a temporary basis etc) is something executables don't have, and PC operating systems are only retrofitting now.
The sandboxed data storage model on mobile apps is stronger than the default PC model.
It isn’t perfect, but you are trusting someone you share a mutual interest with rather than a random stranger.
That is a better model than older OSes which give access to anything that user has access to.
The browser sandboxing model has a huge attack surface, as proven by the hundred vulnerabilities found.
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
I don't see Firejail wrapping all of the apps coming from the AppStore any time soon.
Not even speaking about bugs, guess what will this cause in combination with users conditioned to blindly click OK on security warnings:
You might want to re-evaluate your threat model there.
Note that all these problems apply to Firefox, Safari and Blink as well.
And most (all?) of them apply to other platforms (cite: TikTok, plenty of viruses on every platform).
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?
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!
It is almost that an attempt was made to hide complexity by adding more complexity.
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)
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.
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.
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.
[Edit] I'll take the downvotes as evidence you can't.
For example, I use 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/ 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.
- 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.
Assuming that's true, if the vast majority of those developers don't do it well, isn't it a problem with the platform?
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.
Trading ram & cpu vs. my time spent building the thing is the right tradeoff for me.
I'm not going to download an app for everything
HN front page: The modern web makes me want to throw up
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.
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.