19 ms·
Living without the modern browser
- wickerman 7y agoI remember disabling Javascript for a couple of months in Chrome some time ago and it barely broke anything. Had a great browsing experience. This might be because of my own personal preferences when it comes to sites, but I don't think that JS is a necessary evil in today's modern web.
- hprotagonist 7y agoa browsing experience without noscript is painful
- geggam 7y agoadd pi-hole and it gets even better
- snazz 7y agoIf you’re already adding extensions, uBlock Origin does a better job than Pi-hole (client-side is more powerful than DNS). Enable advanced features and then you can use the uMatrix-esque dynamic filtering panel to prevent 3rd party or all JavaScript. I recently learned to use its power and now no longer feel the need to use uMatrix or NoScript.
- TeMPOraL 7y agoWhy not both? A client-side adblocker can obviously do a better job at blocking, but DNS-level blocking removes crap from most applications on any device, not just from browsers.
- latexr 7y agoIf you enjoyed navigating with JavaScript turned off, why did you stop doing so (or so it seems)? Chrome even has (what I consider) a great interface for minimally controlling JavaScript and cookies, by placing an icon on the omnibar when either are blocked, letting you enable them on a per-site basis.
- wickerman 7y agoI changed OS, had to reinstall, then forgot about it. I also don't browse as much as I used to? I'm mostly working on personal projects when I'm home, so I barely spend time outside of podcasts or youtube videos.
- chrismorgan 7y agoA few months ago I decided to try uMatrix out, which defaults to blocking third-party JS, but allowing first-party JS. It broke a lot of things. But I persevered, and manually whitelisted various things as time went by; I decided to always whitelist by individual third-party for each domain, rather than just throwing in the towel and letting a site do what it wants. Some things were very painful to get working; Dropbox login, which I occasionally need to use for work, was excruciating. More recently I’ve been playing around with heading in the other direction: when things break, I try blocking first-party JavaScript instead. This has often been successful, so that I’m considering disabling all JS by default and only turning it on when needed. All this definitely speeds things up. I installed NoScript on my fairly slow phone (Firefox for Android) a month ago, which I don’t use for much, but do a little web reading on sometimes. Disabling JS definitely sped things up a lot. A few sites do stupid things like visually hiding all content if you don’t have JS. Those I don’t use, use reader mode or once or twice have added a user stylesheet for if I’m going to touch them more than once but decide not to whitelist them for probably capricious reasons. But this disabling-JS lark is definitely not for the consumer.
- timw4mail 7y agoSites don't "visually hide all content" without JS, they are using JS to render content in the first place, thus no JS, no content.
- codedokode 7y agoNo. Many sites have a style like "display: none" on body element, to hide content until JS is loaded. But of course they have content in HTML for search engines optimization. So they show content to Google robot instantly, but the human user has to wait. Google also uses this trick in search results if I remember correctly.
- chrismorgan 7y agoExactly. Here’s an example I encountered today: https://status.digitalocean.com/ https://status.digitalocean.com/, all the content is in a div that is affected by `.layout-content.status.status-index { opacity: 0 }`. JavaScript code then sets `.style.opacity = 1` on the element to undo that. This is a bad technique. If you really want that effect, something friendlier would be this in the head of the document: <script>document.documentElement.className+=' js'</script> … then prefix that earlier selector with `.js`. Or another approach: remove the `opacity: 0` from the stylesheet, and immediately inside the element to be hidden while loading, add <script>document.currentScript.parentNode.style.opacity=0</script> Remember that external JS is never guaranteed to load; even on normal people’s computers, networks are not reliable and even first-party resources can fail to load, though it’s ones on a different origin that are the least reliable.
- asdff 7y agoEverything was fine for me until I noticed all my bank and cc and utility websites broke without JS.
- practical_lem 7y agoAfter a workday, I used to be repelled by using a computer. I started to use it again when I uninstalled Firefox. Now I just use elinks for basic stuff and I'm happy again to hack or just use a computer again, instead of a bloated web browser. If I want to do "fancy" things, like book a flight, I just do that on the iPad.
- postit 7y agoI used to have access to the Amadeus API, and the experience to book flights `curling` it was very interesting :P
- Nextgrid 7y agoBooking flights via curl sounds like it’s a much better experience than navigating the endless choices, options & dark patterns on a typical airline website.
- orcdork 7y agoDon't check this checkbox if you want to miss out on not getting amazing promotional emails, great poems and the occasional bobcat.
- leetbulb 7y agoIf you use your browser for media consumption, this is a great shell addition (add to ~/.bashrc): function streamer() { youtube-dl -o - "$1" | vlc - } Then: $ streamer <just about any media url> Of course you need youtube-dl and vlc
- LukeShu 7y agoA while back I migrated from VLC to `mpv`. I much later learned from an HN comment that `mpv` automatically calls `youtube-dl` if it's installed; you can run $ mpv <just about any media url> without setting up any aliases or functions or mucking with calling youtube-dl yourself.
- leetbulb 7y agoVery nice, I will give this a try!
- ScottFree 7y agoThanks for suggesting mpv! I had never heard of it, but I'm not too happy with VLC or smplayer on MacOS so I gave it a shot. It's fantastic. Fast, responsive and it plays everything I've thrown at it.
- shadowoflight 7y agoTo anyone on MacOS who wants the efficiency of mpv with a nice GUI: IINA [1] is a slick video player for Mac, with minimal UI, web browser plugins, and gesture-based controls, and it's FOSS with mpv and youtube-dl on the backend. [1]: https://iina.io/ https://iina.io/
- ScottFree 7y agoI gave IINA a shot. It has a nicer UI, but it's not nearly as fast or responsive as mpv. No sale.
- 7y ago
- string 7y agoOn the subject of JavaScript and NoScript. I'm a JS dev working with some relatively large institutions building single page web applications using JS frameworks. Unfortunately I have seen there is often an unwillingness from both management and some developers to invest in server side rendering of SPAs. There is always a willingness to support users who have visual or other accessibility requirements, yet users who want or need to disable JS are often left out in the cold. I love JavaScript but I still believe it is important to provide alternatives for those that don't.
- gruez 7y ago>There is always a willingness to support users who have visual or other accessibility requirements, yet users who want or need to disable JS are often left out in the cold. Because accommodating disabled people is mandated by the ADA. No such requirement exists for noscript users.
- _0o6v 7y ago> yet users who want or need to disable JS are often left out in the cold. Isn't that just a preference of the user, that has repercussions? In fact the WCAG 2.0 specifically says that a JS fallback is _not_ a requirement for accessibility - a common misconception is that disabled users disable JavaScript - this isn't actually true. Fair enough if you want to turn off JS for tracking reasons or whatever, but you have to accept that some things might not work without it.
- string 7y agoExactly! Whilst I understand the reasons, it is nevertheless a shame that the willingness is born from requirement rather than the want of actually making things accessible for as many users as possible.
- spookthesunset 7y agoThe marginal benefit from making a site available to the relative handful of people who refuse to run javascript is miniscule. The marginal cost of doing so is huge.
- jakecopp 7y agoI've started using Brow.sh[1] occasionally - it runs headless Firefox and pipes the output over a terminal. Try `ssh brow.sh` for a 5 minute demo (`ssh brow.sh -t https://maps.google.com` https://maps.google.com` is pretty cool too) I really need to try out the experimental vim branch[2] to emulate Vimium/Tridactyl. Firefox rendered to a shell with Vim keybindings would be so amazing to use! [1]: https://www.brow.sh/ https://www.brow.sh/ [2]: https://github.com/browsh-org/browsh/pull/264 https://github.com/browsh-org/browsh/pull/264
- snazz 7y agoIf you want to make brow.sh usable over a network connection, I would highly recommend using mosh. Also, a couple of relatively basic things don’t work, such as file uploads (somebody made an issue a while ago but there’s been no activity on it since November of last year).
- jakecopp 7y agoAgreed - Browsh over mosh on a cheap VPS is good fun! Also, some commands interfere with Tmux I think, such as closing tabs. I need to figure that one out!
- tombh 7y agoBrowsh author here. I feel so guilty about not having merged that branch :( It's been there 8 months or so. It's by far the most requested feature. I'm just so overwhelmed with other things to do. I'd love Browsh to be my main focus, but I've got to earn money. There's so many more things I want to do with Browsh. So basically I just wanted to say sorry to the people that have submitted code and not had it merged and sorry to the people that really want this feature, like a handful of blind users that keep emailing me about full keyboard support. I haven't forgotten about Brwowsh, I've just got to earn some money first.
- IggleSniggle 7y agoAre you willing to cede some control and let someone help you maintain it?
- void_nill 7y agoMost of the time I use my own browser [1] because I set this javascript to False and can therefore "roughly" do without an adblocker. Unfortunately no social media or other login services work. For Youtube, Twitch and other video services I also use mpv which turned out to be a very good and fast solution. The author is right when he says in the conclusion that it is really difficult to do without Firefox. Although many services can be fixed with external programs, these are often only emergency solutions. But I also learned to distinguish between the "information" web and the "entertainment" web and since I do a lot of research, programming and reading in data sources I don't need Javascript to 95%. Other points are important to me, e.g. fast loading times, low CPU and minimalist design. But you have to do without many features. Text-based web browsers are cool, yes. But if you're not in the Linux scene and ride on (e.g. Manjaro I3) it's incredibly cumbersome and exhausting. [1] https://voidnill.gitlab.io/cosmic_voidspace/alligator.html https://voidnill.gitlab.io/cosmic_voidspace/alligator.html
- chewxy 7y agoI used to do this many years ago. Then I added JS to upvote and downvote on HN and reddit. Then I gave up. Now I just use umatrix on Chrome or FF
- pmarin 7y agoYou don’t need javascript to upvote and downvote on Hacker News.
- void_nill 7y agoWhoa! And as I just notice by your comment, not for the login either. I only tested the HN search function once and it only worked with Javascript. Therefore I assumed that this is the case with all other functions. Thank you.
- icebraining 7y agoYeah, it uses a service called Algolia, and unfortunately their frontend depends on JS. But you can use http://hnapp.com/ http://hnapp.com/ for JS-free search. (I'm not affiliated)
- euroclydon 7y agoI now use a dedicated Chrome profile for a handful of sites I trust like my banks and gmail. The profile has cookies and JavaScript disabled by default and I have to opt in to let each domain use them. Then I do all other browsing on a Chrome Guest session. It's cut down my web usage a bit as I have to log in to sites like HN or LinkedIn, Facebook, in the guest session to use them.
- ktpsns 7y ago> JavaScript, captchas, and logins, are the main “gotchas” for text-based browsing, if the functionality of a site (or part of the site) relies on any of these then most likely it will not work. Really, there is no reason why a form should require JavaScript. When jQuery was hip, the js community celebrated "Graceful degradation". I frequently have the feeling this attitude is lost. That's super sad because it also excludes all the handycapped people. Does even anybody remember the good old HTTP basic acess authentification? This is one of the most accessible ways of protecting ressources, it can be consumed by any HTTP client (!), and it is just reduced to the basic. One of the worst things are these terrible captchas everywhere. I wonder why we cannot come up with a web standard interface in a way the captchas could be offloaded to customizable and adaptable GUIS rendered by the browsing client. This way, clients (users) could even declare what kind of captcha they can solve (blind people obviously cannot read images).
- skybrian 7y agoIt's doable, but filling out forms with no immediate feedback about whether you entered your data correctly doesn't seem great from a UI perspective. Consider how useful a calendar picker is for travel. Also, no JavaScript means no Google Maps.
- ohithereyou 7y ago>I wonder why we cannot come up with a web standard interface in a way the captchas could be offloaded to customizable and adaptable GUIS rendered by the browsing client. Because then Google would lose a large free pool of labor for training its machine learning.
- notinversed 7y agoThis is a great read. I spend so much time fighting the web. If you want to maintain a shred of privacy you then have to regularly read about all the latest trackers, dns monitors, browser fingerprinting techniques, shady vpns, blocking social domains, etc, and even then you're probably not very anonymous or private. I hadn't ever really considered just giving up on the browser before. But I think yeah, maybe it's time. The web has become such an awful cesspool of surveillance capitalism, I'm tired of fighting it all.
- Chirael 7y agoWhen traveling, to keep bandwidth usage down I exclusively use Firefox as my iPhone browser because of its ability to turn off images. Turns out most web pages are actually a lot better with only text.
- scottndecker 7y agoIf "the most effective thing is going to be an ad blocker" then I'd encourage people to check out the Brave Browser (https://brave.com/ https://brave.com/) which has ad blocker built in and will actually pay you for viewing ads.
- superkuh 7y agoI agree. But you don't need completely abandon the GUI. There are modern browsers like Pale Moon that reject the idea of the browser as the new OS layer and don't implement all the new attack surfaces and CPU wastes. Combined with NoScript temp whitelist only you can browse normally but without most of the resource wasting (ie, ram usage from multi-process, web(gl/etc), and the like. I regularly do hundreds (ie, 300+) of loaded tabs with less than 2 GB of ram used. That said, I still use tools like youtube-dl on most of my computers and IRC and RSS and all the rest.
- bigato 7y agoAgreed on not abandoning the GUI, I'm writing this from dillo for example. Also agree on the idea of not having the browser as the new OS and not expanding attack surfaces so much. But Pale Moon seems to be a far cry from that, specially seeing as it keeps NPAPI plugins support.
- megous 7y agoOne way to avoid the browser, is to scrape. These days I mostly use nodejs for that. I tend to do that for websites that I would otherwise visit often, or websites that have terrible UI, yet simple data model.
- _0o6v 7y agoRecently, there seems to be this ever-growing, romantic vision of turning the clock back to a time when the browser was simpler. Certainly, in terms of accessibility, the JavaScript (and Browser) landscape has never been better than it is now. General awareness and tooling for building online experiences that consider disabled users has led to an infinitely better time for these people when using the internet, overall. Sure, some people build shitty products that make your fan spin and ignore disabled users. But that's because they've built a shitty product, not because of the 'modern browser' itself. > The web can be a resource hog, sometimes devouring CPU and memory. But it doesn’t need to be that way. It also doesn't mean returning back to horse and cart!
- hn_throwaway_99 7y agoWhenever I see lines like that, "the web can be a resource hog, sometimes devouring CPU and memory", I really want to respond "no one cares". OK, not no one. And people certainly DO care if a site is very slow, or user interactions are bogged down and choppy. But there is this somewhat weird (IMO) belief, very common among developers and tech-savvy users, that heavy use of resources is a bad thing in and of itself. I certainly understand where that belief comes from, but it's just not relevant to 98%+ of people if it doesn't get to the point of being heavily noticeable in user interactions.
- codedokode 7y agoIt is bad because if browser uses too much memory then it swaps out other programs like gnome-shell to the point that you cannot use Alt-Tab because the code responsible for it got swapped out. It would be better if poorly designed sites (for example newspapers or TV channel sites) were slow or displayed without images and iframes with ad rarher than situation when browser swaps out everything else to help this poorly designed site run faster.
- zonidjan 7y agoHeavy use of resources IS a bad thing in and of itself (if it's not necessary for the task being done - I fully expect a game to eat up my CPU and GPU). We're not on DOS with only one application running at a time. If all my resources are being eaten up by bloated websites and Discord and Atom and other crappy Electron apps, that's less resources for other programs that might actually need them.
- Panino 7y ago> Probably the most effective thing is going to be an ad blocker. If for some reason I was unable to use an ad blocker then my web browsing would drop to such an extent that you could say I no longer used "the web" but rather a handful of sites. Similarly, if my only TV option was cable with commercials, I'd just stop watching TV altogether. I normally browse without JS, and JS-only sites are increasingly common. 95% of the time I just close the tab, even if I'm researching local businesses. From the other 5% of the time, requiring JS to read some text has become such a reliable predictor of regret that the choice (to just close the tab) is easy and immediate. On the flipside, people here often complain about not being able to view a site or that its format is unreadable, when it works great without JS, so it goes both ways. You only ever hear that blocking JS makes things fail, but not that it makes things work.
- codedokode 7y agoWhat I don't like that modern browsers tend to trade memory for performance, i.e. get slightly better numbers in benchmarks by using significantly more memory. For example, have you heard about image decoding cache? A browser can waste as much as 20 or 30 Megabytes to store uncompressed bitmaps, although a better solution would be not to store them at all. If the website uses too much images, then it is not a browser's problem. Well, wasting 100-200 Mb for one tab is fine, but what if I have many tabs opened? Browser quickly uses up all available memory and starts swapping out other programs including a shell. I think that browser could at least reduce memory consumption for background tabs: they don't need to run when they are in background. A browser could free everything that is not necessary, including: image decoding cache, caches to speed up DOM and CSS, canvases, compiled JS bytecode (it takes more memory than source code) and JIT'ted code, any network caches, SQlite cache. Also they could gzip text resources in memory like CSS or JS code. Note that this approach is better than simply unloading a page like mobile browsers do. But if the user didn't input anything into a page, I think it should be fine to unload it completely after some timeout (for example, 30 minutes). The same approach could be used with iframes. Typically they are used mostly for ads and analytics. There is no need to waste precious memory for slightly better animation of an ad banner. I remember that many years ago Opera could handle tens of tabs with 512 Mb of memory and not get swapped out.
- saagarjha 7y ago> I remember that many years ago Opera could handle tens of tabs with 512 Mb of memory and not get swapped out. Tabs back then weren't full page SPAs, though.
- reshie 7y agothere are many websites that are fine and good in a console browser. i hear about captchas and such and i never get them but my web browsing behavior may be different. that said i do still need a browser for specific purposes but not captchas but script specific that console browser can not simulate yet that is very rare. this is coming from some one who uses a console browser as their main browser. i do have a phone that i use for browsing on the go and other wise but do not consider it my main.
- codedokode 7y agoAlso, when I was using Chromium, I disabled JS by default and enabled it only on a number of sites that really need it. But now I don't want to support Google by using Chromium and Firefox cannot disable JS without installing heavy memory-hungry extensions.
- KryDos 7y agoActually if you install NoScript it should not eat your memory too much. Even if it eats something it will save your memory by blocking javascript which is pretty good trade off.
- xvilka 7y agoI hope something like elinks, but on top of Servo (the parsers and JavaScript interpreter parts) would appear soon. While able to process modern Web, it would "render" in the console instead. And disable a lot of features.
- hestipod 7y agoWhat would be the leanest linux browser option if one HAD to use Google Docs. I am assuming there would be no practical way for a typical user (read "not a software engineer") to do that in a text only environment.
- carapace 7y agoJust to give a head's up in re: Dillo browser: https://www.dillo.org/ https://www.dillo.org/ On modern hardware it's effectively instantaneous. Click the icon to start it and it's up and rendered the homepage before I release the mouse button. Many sites don't work well in Dillo, but then many sites do.
- mftrhu 7y agoThere's also NetSurf <https://www.netsurf-browser.org/> https://www.netsurf-browser.org/>, which is in active development and which is almost as lightweight as Dillo, while having better support for CSS3. It doesn't really support JS yet - it's included and you can compile it in, but there's IIRC no DOM still - and 3.8 behaves a bit weirdly with word wrapping and fonts (I think the latter is because they are compiled in the executable), but it works pretty well, and it works even outside X: it has a framebuffer version.
- chaoticmass 7y agoI never knew about the YouTube RSS feed. As someone who watched 36 hours of YouTube last week and has hundreds of subscriptions, this combination of RSS aggregator + MPV looks like the way to go.
- Arnavion 7y agoYeah, I used to rely on subscription notification emails, but those are uselessly unreliable. If I didn't watch one video of an uploader, Youtube would stop sending emails for some of that uploader's new videos that I would have wanted to watch. So when I discovered the RSS feeds, I just unsubscribed to everything from the website and added the feeds to my feed reader instead.
- asdff 7y agoinoreader at least opens the links in line with full description, shielding you from having to go to the website at all.
- Fnoord 7y agoThis post is a bit short on information. I like the take is instead of "living without GUI" (hence CLI/TUI) it is living without the modern browser. But you'd be surprised how much stuff is flying over HTTP(S). For example consider VLC, and use the download subtitle extension. You could think of Beautiful Soup 4 or similar clients (didn't check if it uses that but as a Python example). Which leads me to the question: when is a browser considered modern? If it has a GUI? If it supports Web 2.0? If it supports Web 3.0? If it supports JavaScript? If it supports all JavaScript by default? "There are multiple text-based browsers to choose from. The oldest and maybe the most well known is Lynx. Personally I use Links instead, which provides a similar experience, but also includes a “graphical” mode that is capable of displaying images, and the default background color is black as opposed to gray (only for the non-graphical mode, though the background color can be changed in graphical mode). Here’s a list of text-based browsers from Wikipedia (not all of them are maintained)." Every once in a while I check this out. They're all either horribly out of date, or they do not work with current technologies, or they have some experimental features but they're out of date ports from Firefox (with security vulnerabilities!). Hence I recommend Browsh instead which is based on Firefox. But I would not say it fits the narrative of "living without the modern browser" as it is Firefox under the hood. It fits better in the living without GUI narrative.
- dredmorbius 7y agoWhile I use GUI JS-enabled browsers, when at a real keyboard, with a shell and terminal enabled (or even on Termux in Android), fast command-line lookups are useful. Unfortunately, much of the Web formats poorly (HN included). I have locally defined bash functions for DuckDuckGo (ddg), the Online Etymological Dictionary (etym), weather, and stock quotes (well, plus extensive cruft-stripping for the latter). DDG + bang searches gets me numerous other services, particularly Worldcat, which wins the award for least-useful web design: it breaks on both mobile GUI and console devices, though at full screen rendered by w3m it's passable (I'm considering how to extract and present useful info bypassing the web design entirely). Third-party utilities give further resources: surfraw for a whole slew of sites, rvt (no longer maintained :-( ) for Reddit, and a set of Wikipedia tools. There's dict/dictd for dictionary lookups (including forwarding OSX queries to my Debian Linux box which has both a server and far better dictionaries). For RSS I wrote a far-too-complex "rsstail-pretty" which reads from a set of feeds and restructures output -- because there's all kinds of useless and annoying crap in RSS feed content. Similar tricks for stockquote (a bash function wrapper around an awk script) and weather (bash function, sed, and awk -- because features of each are required). The browser or http agent (w3m, curl, wget, generally) fires once, grabs content, and gets out of the way in many cases. No 25GB VSS memory allocations (yes! Firefox) resident for hours or days. The amount of useless cruft wrapped around desired information payloads makes the Saturn V launch / return capsule mass ratio look downright sleek. Particular disappointments: Archive.org, entirely useless without JS.
- geekit 7y agoI don't think issue is with browsers, it is with websites getting more and more complicated. It's ironic that people (web dev) who are complaining about browser, are actually root cause of problem. Quick solution can be if website is trying to act as "app", should only be app, leave web for just reading hypertext and links. Any lightweight browser can handle that. But again we will have to draw an imaginary line between websites and apps.