100mb sounds like a lot of memory for a webpage. Where does all this memory go to?
100mb sounds like a lot of memory for a webpage. Where does all this memory go to?
The most popular websites run quite amazing amounts of code, and JavaScript execution is usually the dominant consumer of memory.
If you want a deeper understanding, visit about:memory in Firefox you'll get a detailed breakdown of how memory is used.
Maybe I just miss the 90s, but I would much rather have the simple content browser than a "full-fledged programming environment", especially since all of that content is coming from the random untrusted intarwebs. Anyone want to write a browser engine that skips all the modern BS and just does a good job delivering mostly-static webpages?
I'm sure if you dug up a copy of an early netscape version it would be very fast on a modern machine, while failing to render most of the internet, if that's what you want.
It wouldn't be able to render a large chunk of the Internet as designed, which, frankly, with 1106 local custom stylesheets applied to fix a huge range of crap and annoyances, sounds very useful and desirable.
Web design isn't the solution, Web design is the problem.
I also sometimes wish the Web were just serving data in an easily processable format, and let the user decide what and how they are presented. Of course this would definitely and completely defeat the ads-supported scheme on which sits Internet. An ads-free Web would probably require the resources (media files, services, storage space, bandwidth, etc.) to be massively distributed among the PCs of the end-user, who are already paying for bandwidth, processing power and storage anyway. But it would also be quite inefficient as it would require equally massive fault tolerance.
It's really sad that many people feel this is the state of the modern www. The original intention - you serve me stuff with suggestions about presentation, but my client software and OS and hardware can do what it likes with that stuff - appears to be long dead.
> Of course this would definitely and completely defeat the ads-supported scheme on which sits Internet. An ads-free Web would probably require the resources (media files, services, storage space, bandwidth, etc.) to be massively distributed among the PCs of the end-user, who are already paying for bandwidth, processing power and storage anyway. But it would also be quite inefficient as it would require equally massive fault tolerance.
I do not use ad blockers. I view ads. If I really like the site and trust their ad network I will click relevant links.
But I loathe the way some websites and apps work. Facebook on iOS opens all links in the facebook app. Apps and websites decide they will not let my zoom or rotate.
Especially hateful are the ads which take me out of a Chrome (iOS) session to open the app store. I contact owners of sites with those ads and politely tell them what happens, and then I cut and padte the URL to a list of sites that I will never ever visit again. This is as bad as the smiley ads that yell " HELLO!! ".
Advertisers seem reluctant to realise that irritating people like me ( ad tolerant) is a rwally bad move and is the reason so many peopke use ad blockers.
You're a tiny, tiny percent of users who actively chooses to view ads. Not to be insulting, but advertisers don't care what you think - the money they lose from your custom isn't worth the effort to make the change.
I don't bother blocking ads and I've never felt the need to install anything.
But the day I come across a site which I deem annoying enough, you can bet I won't hesitate for a second, and that'll just blanket block everything. As long as the advertisers play nice, I don't particularly mind. I don't care to differentiate between 'good' and 'bad' advertisers - just like how I'm not worth their time, neither are they worth mine.
I think we tried that approach with RSS.
Modern web pages are programs and many are becoming bloated, and there is nothing magical a browser can do to avoid it.
With a bit of profiling it's usually that these sites just constantly append to the DOM. Without using circular buffers or otherwise cleaning up, eventually the CPU gets pegged doing constant GC. JS and Web development don't obviate the need for fundamentals and good programming practices.
Another is Dillo, although it doesn't have as good of CSS last I tried (version 3 isn't horrible though).
This is one thing I wish more people would try (as I am), and quite honestly don't think is as hard as the big browser vendors make it out to be; my view is that the complexity in mainstream browser engines appears mainly based on how they were designed and implemented, and not as a consequence of the web standards they need to implement. The massive numbers of abstraction layers certainly contribute, as is the notion that everything should be extremely flexible and extensible (Web standards don't change all that often, and when they do they tend to do so incrementally.) It would certainly be interesting to see the limits of how simple (in terms of lines of code, binary size, etc.) and/or fast you could make a web browser and still e.g. have it pass Acid2, which probably makes it quite usable for much of the non-webapp part of the Internet.
text, images, video, audio, animations, 3d graphics, etc.
One only has to look at demoscene productions to see that providing a rich multimedia experience doesn't necessarily require all that much in the way of computational resources, and that's partly a reason why I believe web browsers could be made vastly more efficient than the norm today.
Xubuntu 14.04 has version 3.0.3 with docs dated April 2013
You won't be logging into dropbox with dillo alas!
Mighty fast for reading and cat pictures.
• Reading and discussion. Content-oriented sites. Overwhelmingly, here, Web design isn't the solution, Web design is the problem, and tools such as Readability, Instapaper, and Pocket are increasingly used to address this. Secondarily, content management is a problem, and my suspicion is that a new tool will emerge to displace the current browser model, either one of those mentioned or local clients such as Calibre or Zotero (a bibliographic management tool, though with some document display capabilities). Once content is rendered there's no real call to modify it dynamically. While console-mode / text browsers can be used here, I find they lack the management tools I seek. Discussion would entail some form of standard forum tool, a Usenet 2.0 type concept, ultimately, and would likely be integrated. Editing should support any full-featured local editor of the user's choosing.
• Application platforms. This is where full-featured browsers such as Chrome and Firefox appear headed. I believe they're headed for a rococo collapse -- that is, there's going to be such a degree of overembellishment of the browser that people will eventually abandon them for other, more appropriate tools, as those emerge. This has already happened numerous times in the browser space (Netscape -> Mozilla -> Firefox, MSIE -> anything else), and several times new browsers have emerged whose primary claims to fame were being lightweight and better reading experiences (Skipstone, Galeon, Firefox (initially), Chrome. Most eventually suffer from bloat.
• Commerce. This is currently handled in the browser, and is in fact a principle driver of much of the application functionality. Splitting this from other browsing activity would result in a smaller and saner platform, as well as isolation of financial transactions from other browsing, again, greatly reducing online risks. With a proper payment infrastructure, this should also greatly reduce the general security issues involved with online payments. Arguably this is already happening with the iTunes (Apple) and Play (Google) stores -- apps on mobile platforms.
• Multimedia content. Other than very brief previewing, it's almost always preferable to queue up multiple audio or video streams in an external player. My experience is that this niche is already reasonably well represented, in particular with tools such as VLC which support audio and video content, drag-and-drop queuing, playlists, playback controls, and the ability to correct for audio and video quality (levels, echo, brightness, contrast, etc.). Online players 1) are annoying in general, 2) don't allow for queuing content from multiple sites, 3) have inconsistent (and generally inadequate) controls, and 4) suffer from numerous playback, quality, and performance issues.
More: http://redd.it/256lxu
Ever since google maps, everyone started using JS like there is no tomorrow. And what came out of it? HTML is no longer enough. Firefox doesn't give option of disabling JS (1)
(1) about:config doesn't count
Given how trivial it is to install the plugin, I think that counts as firefox allowing disabling js.
Over 10 years ago, someone did this with Mozilla Suite.
They called it "Phoenix". Some trademarking issues prompted them to rename it to "Firebird", but that name was also used by a popular database, so they finally renamed it again to "Firefox".
Those who cannot remember the past are condemned to repeat it.
Technically it's harder to remain feature compatible if somebody ripped out the "modern BS" from the browser, because anything put into Firefox automatically becomes a de facto web standard. But they're by and large multimedia extensions which shouldn't be considered a necessary part of displaying hypertext.
I think if people want a programmable multimedia platform, that's fine, but they should build it separate from the world wide web so the rest of us can browse the New York Times without a 500MB web browser in resident memory, nor wait for the browser to stop the millions of operations it needs to reload the page due to all the ridiculous and unnecessary crap in the background.
Instead of forking the browser to strip out or redesign the unnecessary crap, i'm suggesting we take pruning shears to Firefox itself, lest we get yet another new tool that tries to replace yet another bloated, antiquated piece of crap.
But someone needs to create that content. And you're not getting it from the New York Times unless they can put flashy ads and interactive graphics that entices the majority of the users on the net (who actually enjoy the multimedia platform version of the web).
Not as well as it used to!
Specifically, in the browsers of the 1990s you could "scroll while dragging": i.e., if you start dragging to select some text and you reach the bottom of the window, the window would scroll, allowing you to select more text than just what was on the screen when you started dragging. But at least in Firefox, that does not work anymore. (More precisely, you cannot scroll down although if you start dragging at the end of the selection, you can scroll up.) In other words, browsers have gotten so complicated that even an organization like Mozilla that spends millions of dollars a year on browser development cannot preserve all of the conveniences users used to enjoy for handling text.
My main response, though, is that the browser organizations (Mozilla, Google, MS and Apple) could have balanced the interests of content producers and content consumers instead of their giving content producers (and web-app developers, and marketers) almost everything they want like they have done. It's not as if the New York Times would have withdrawn from the web if the things they could do with code and with stylesheets were more limited.
It still is for many of us who complain about browser (and web content) bloat. We are on the web for text and pictures, primarily. The things we do online hasn't changed much since the 90s. Having sophisticated multimedia capabilities is irrelevant when we're in it for the content that matters.
Pages like this: http://www.nytimes.com/projects/2012/snow-fall/ ?
Or pages like HN or wikipedia articles?
We seem to be trading resources for capabilities that we rarely leverage for any tangible benefit.
Yes, I know, and I don't like it.
It makes it more complicated and unreliable to use the web to view text and images.
That's forgetting the DOM, which is often the actual cause for slowness & memory consumption, but gets far less spotlight than JavaScript. This is also a reason why a framework like react.js is so interesting: it circumvents the real DOM when computing (on a virtual DOM), and only applies the end result.
They changed the browser UI, either the browser devs or the site devs via stupid javascript tricks (messing with scrolling, etc). I got driveby download powned and my CC info stolen and five spam toolbars in the UI I can't get rid of. There are too many spammy ads. They make is as hard as humanly possible to use bookmarks to encourage the use of a search engine every single time you go to a site thus monetizing ad views. Typosquatters. "Journalism" sites with one line of the article per page of spam. Spam "answer" websites.
Memory is way, way down the list.
Chrome has a "star" button right in the address bar, FF and IE have Ctrl+B to create a bookmark.
And both Chrome and FF have a pretty good auto-complete in the address bar (I just have to type "ne" to get Hacker News, "ma" for google mail, "youp" and "yout" for video streams, etc pp).
People vastly underestimate the power of keyboard shortcuts. I work as a freelance consultant/support guy and everyone is surprised how fast I work with even the slowest computers. Most can't believe how much time one can save by knowing at least Ctrl+C/Ctrl+V, Alt-Tab and Ctrl-Tab.
Two words for you: Incognito Mode
The Classic Theme Restorer add-on for FF allows you restore the star button to the address bar. On FF, Ctrl-D bookmarks the current page, while Ctrl-B opens a list of bookmarks.
UPDATE: I used the Customize feature to move the star button just to the right of the address bar and that is good enough for me.
And Tree Style Tabs. Cannot live anymore without TST. That really ought to be in the core. Especially since it's sometimes a little buggy, though that may be because FF is changing underneath it.
Oddly, I'm on Nightly, and the star button is to the right of my url bar. I don't remember moving it back there, and I don't know why I would, since I never use it.
Ok, it's gone now.
So I restart my browser every 48 to 72 hours to reduce the memory footprint (which is one of those clunky "hacks", but it still works).
Besides, whatever happened to Web browsing being a lightweight activity accessible for everyone even on his grandma's old PC?
Returning to your original point: I've been working on Firefox's memory consumption for about three years now. There are quite a few people who take your viewpoint. But there are also plenty of people who care very deeply about memory usage. Some of this makes sense, e.g. from people who are on low-end machines. But some of it is less rational... there is a subset of people for which memory consumption is almost a moral issue, and excessive usage indicates the general decay of western civilization, or something like that.
I do. I have 16GB of RAM (the max for my computer) and have 3GB of swap used. About 8GB of that is Firefox, and I (obviously) run more than just a browser on my computer.
It boils down to images, if you think about it a PNG file is small but when you decompress that to a native bitmap for rendering to a screen, you've suddenly consumed a lot of space. A lot of applications render using the CPU and pass the data to the GPU to display.
Now look at a typical page with images, flash (with images inside) all of the scroll and developers that don't optimise their images and then 100MB of data for a single page isn't really a lot.
Plus memory usage is the wrong metric, I don't really care how much RAM my applications use, I care about how responsive they are. Firefox can use all my RAM if I get great page load times and my other applications don't suffer.
if anything I wish more programs would take full advantage of it.
If every single application behaved like it owned all the memory on your machine, you would have a pretty horrible experience as they'll be basically fighting over what's available and likely hitting the swapfile. On the contrary, I do wish developers would care more about the memory footprint of their applications since they are sharing with all the others. Looking at it this way, optimising performance by using more memory aggressively (and thus reducing the amount of memory other applications can use) seems like a horribly greedy and antisocial way to behave, and thus it makes sense to use as little as feasible to give good performance.
(I'm assuming that the use case here is a browser that you have open along with other applications; if you only have a browser running, then it doesn't matter as much.)
In fact, every application DOES behave like it owns all of the RAM on the machine. This is what virtual address space does, it's pretending that each program has access to any place in the memory.
Sadly, a lot of current software does behave like it owns all of the RAM on the machine. But modern browsers are particularly bad, and it doesn't help that you need the web for so many things today. With browsers I'm not given much choice.
> This is what virtual address space does, it's pretending that each program has access to any place in the memory.
No, not at all. It's just handing control over to the operating system so paging can be handled transparently and programs can't overwrite each others' memory. Programs still have to acknowledge and respect the fact that memory is a finite resource, and they can't have all of it. That's how it has always been, a virtual address space doesn't change the fact.
Why do you torture yourself like that when another 4 GB costs $15?
It is hard to find a working niche browser when Mozilla and Google are doing everything to make sure the web depends on their behemoths' complexity. They are pushing for the Web Platform. They are constantly adding new features.
I used to use Links 2 as my primary browser until about a year or two ago. I would have preferred to keep using it (actually I still do, but it's no longer primary), but one day, a few years ago, Google said let's kill IE6. I can't remember the date. But I know web devs had a party and since that day, the amount of Javascript on the web has skyrocketed, and it's gone from an optional "experience enhancer" to a requirement in many cases. So I'm not given much choice.
But this isn't just about me personally; I could buy a new computer today if I wanted to. What people have pointed out elsewhere in the comments is true -- there are people who still have old computers, much older than mine. And people (parents too) who cannot afford much else besides aging second hand machines.
Basic web browsing/word processing is incredibly cheap to do right now in a new PC (sub $200 sans peripherals for the absolute newest hardware). In my opinion, these are machines that will handle web tasks for at least the next 10 years barring some huge shift that I cannot foresee.
I'm always staggered on the flip side that serving a web page using something like XYZ CMS can use a staggering 50MB or more for one page load without caching.
Bizarre when you consider that you could get a small encyclopedias worth of text on a floppy disk.
Too many websites are drowning polar bears...