8 ms·
The modern web makes me want to throw up (2016)
- thanatos519 6y agoI upvoted this before reading because I already agreed!
- jpkeisala 6y agoI 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.
- kindly_fo 6y agoCurrent 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 6y ago> I'd like to see some cutted version of html gopher!
- cybernabjo 6y agoGopherspace / tildespace / sdf are fun little rabbit holes.
- sixhobbits 6y ago(2016)
- dang 6y agoAdded above. Thanks.
- sbergot 6y agoI fail to see what this article brings to the conversation appart from an unpleasant metaphor.
- baicunko 6y agoAgree. 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 6y agoThe point of the article is web vs native.
- jrsala 6y agoThe author states what he feels is holding native apps back: they’re harder to build in a cross-platform way and they have to be installed. Then the author discusses the current state and the future of those two issues. I feel that discussion was valuable for not merely pointing out issues but thinking of solutions as well.
- raxxorrax 6y agoAgreed. 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 6y ago> But store apps didn't solve the malware problem They do a lot better than just trusting .exes from the web.
- krapp 6y agoDo 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 6y agoYou 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.
- raxxorrax 6y agoDidn't seem to have worked with TikTok and I don't trust either to make the decision for me. Be that as it may, it should still be normal to run your own programs without anyone needing to sign them off.
- nl 6y agoNot really - you see the permissions requested by the app when it executes and are promoted to allow it. That is a better model than older OSes which give access to anything that user has access to.
- mywacaday 6y agoI'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 6y agoconsidering that Google no longer owns it, it actually might be around for a while longer.
- hn3333 6y agoI 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 6y ago>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 6y agoAnd the simple fact that it is still there tomorrow morning even if the 'service' decides to shut down.
- ummonk 6y agoThere is a third big advantage to web apps over native apps - they're run in a hardened sandbox designed to safely execute untrusted code.
- enriquto 6y agoTrusted by whom? I find it easier to trust a random github repo author than the developers of chrome.
- MattGaiser 6y agoBased on what? Google has no reason to steal your credit card. A random Github user might.
- rini17 6y agoThe problem is upstack, Google does have incentive to put everything and kitchen sink into the browser. Such byzantine code is impossible to fully secure. It is also much less understood than usual operating system API you'll deal with in stuff pulled from github. Not even speaking about bugs, guess what will this cause in combination with users conditioned to blindly click OK on security warnings: https://www.fixyourbrowser.com/browser/google-chrome/google-chrome-native-file-system-api/ https://www.fixyourbrowser.com/browser/google-chrome/google-...
- nl 6y agoChrome is one of the safest pieces of consumer software ever produced. You might want to re-evaluate your threat model there.
- techntoke 6y agoSafe by what measure? If you mean safely track your pixels movements, fingerprint and identify your OS/browser version/etc, allow WebRTC to leak your IP address and download torrents or mine crypto in the browser.. then yeah I guess it is safe. Safe for advertisers and malicious actors to exploit users.
- twoslide 6y agoThe 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 6y ago> 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 6y agoCan 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 6y agoOk, 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.
- jslakro 6y agowhy an old and insipid article becomes popular on HN? a case of nobody reading past the headline
- jack_riminton 6y agoNah I'd rather web apps become faster and more efficient I'm not going to download an app for everything
- algesten 6y agoIsn't half the blog argument that this could be solved for native apps too?
- mrweasel 6y agoThe 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.
- chii 6y ago> Resource also isn't something people think about, until they don't have enough unfortunately, this is also why climate change doesn't get fixed.
- MattGaiser 6y ago> Resource also isn't something people think about, until they don't have enough. 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.
- neoberg 6y agoIt'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.
- Narishma 6y ago> Resource also isn't something people think about, until they don't have enough. 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.
- outadoc 6y agoNobody: HN front page: The modern web makes me want to throw up
- jslakro 6y agoxD what a loss of time and money
- MattGaiser 6y agoThe 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.
- pochekailov 6y agoAuthor 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?
- deleted 6y ago[deleted]
- stupidcar 6y agoIt'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.
- skrebbel 6y agoA 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!
- mattlondon 6y agoPerhaps 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 6y ago>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.
- deleted 6y ago[deleted]
- sod 6y agoI 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.
- nl 6y agoI 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.
- aogaili 6y agoThis article is attention seeking, unconstructive and makes want to throw up.
- wyattpeak 6y agoI 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.
- bstar77 6y agoToo 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.
- mkaymalright 6y agoIt 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.
- Antoninus 6y agoI 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.
- sebazzz 6y agoModern 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.