News for hackers. Stuff that matters.
Re:Multiprocess Firefox by kibwen on Thursday December 05, 2013 @08:45AM (#6854316)
For those of you interested in parallelism in browsers, I suggest you keep an eye on Mozilla's experimental new browser engine, Servo.[1] The goal is to make use of a variety of concurrency strategies (such as a Chrome-esque process-per-tab design[2]) and Rust's built-in support for memory-safe concurrency abstractions (fork/join, lightweight tasks, SIMD, etc.) to produce a ludicrously parallel[3] web browser. And even if Servo itself never happens to make its way into production, one of its purposes is to enable Mozilla to explore effective parallelism strategies to pursue with Gecko.

[1] https://github.com/mozilla/servo/

[2] I wasn't exactly thrilled about this myself, but as long as Servo has to interact with C++ code (notably, SpiderMonkey) this was judged critical for security. Fortunately, pcwalton seems to believe that Servo's tab processes will occupy less memory than Chrome's.

[3] https://github.com/mozilla/servo/wiki/Design

Re:Multiprocess Firefox by RHSeeger on Thursday December 05, 2013 @09:25AM (#6854479)
I'll admit I wasn't a fan of process-per-tab originally either. However, since ever browser leaks memory, the ability to close some windows and reclaim the memory that was lost has been very useful to me (I tend to have 50+ tabs open at most times, and for many days at a time).

That being said, I'd also be ok with process-per-window, as that would give me the same basic ability.

Re:Multiprocess Firefox by diydsp on Thursday December 05, 2013 @11:38AM (#6855283)
Hahaha, you and me and about 1% of the browser users (well on HN, probably more like 10%) have particular habits of keeping much larger numbers of tabs open than everyone else.

Have you imagined an alternate scheme to tabs, where there are 100s of thousands of potential "tabs" which can be organized, called up in groups, moved in clumps together, and shared?

Imagine each group of tabs like soldiers in a Command and Conquer game...

Re:Multiprocess Firefox by bad_user on Thursday December 05, 2013 @02:34PM (#6856610)
I also keep a lot of tabs open, that's why I'm using Firefox and not Chrome. Firefox is very memory-efficient recently, whereas Chrome is a memory hog and can't handle the number of tabs I keep open in Firefox.

Firefox also does a neat thing with tabs that have been opened and not used in a long time, effectively unloading the website and reloading it once you visit the tab (for some reason it doesn't do so with tabs that I keep open in the background on purpose, like Gmail). They also had memory fragmentation problems, which they gradually fixed and now I'm very, very pleased with Firefox. Chrome is really draining my resources at 30 tabs opened, whereas I've had Firefox open with 100 tabs without issues.

The one process per tab model does have an advantage for misbehaving long-running apps. For example I had problems with Asana at some point, as I think it was leaking memory or something and Firefox couldn't handle it. In Chrome, you can find out what misbehaving tabs you have and simply close it.

If Firefox can switch to the one process per tab model, but somehow keep its current efficiency in managing memory, that would be so awesome.

Re:Multiprocess Firefox by erichurkman on Thursday December 05, 2013 @03:08PM (#6856827)
Firefox's recent image decoding memory optimizations are amazing, especially with so many infinite scrolling pages out there lately.
Re:Multiprocess Firefox by Breakthrough on Friday December 06, 2013 @10:33AM (#6861540)
As a Firefox user myself, with the same problem of having hundreds of tabs open all the time, I've noticed a neat little trick to "unload" all the tabs from RAM if you need to free some up.

Just bring up the menu bar (or hit Alt), then go to File -> Exit, which should close all Firefox windows but save the current tab history. Then, simply restart Firefox, again go back to the menu, then do History -> Restore Previous Session.

Besides the few tabs that get auto-loaded (i.e. the ones you were viewing in each window), the remaining tabs should remain un-loaded until you manually re-visit that tab (at which point the page will be redownloaded or loaded from cache into RAM).

Re:Multiprocess Firefox by unicornporn on Friday December 06, 2013 @01:40AM (#6859769)
So tell me, have you tried this: https://addons.mozilla.org/en-US/firefox/addon/tree-style-ta... ? Pure heaven for tab junkies.
Re:Multiprocess Firefox by mohanr on Thursday December 05, 2013 @01:51PM (#6856288)
I tried solving this problem a while back - using a task based approach - where you create a meta-tab for a logical task and organize tabs under it. You can close, open, suspend, archive tasks. History, bookmarks and other browsing artifacts are associated with tasks. Sadly I couldn't take it beyond prototyping. I have made multiple attempts to - but failed.

* [A task based web browser - Conquering information overload](http://www.slideshare.net/mohanrajrm/a-taskfocused-approach-...)

* [A task-focused approach to support sharing and interruption recovery in web browsers](http://vimeo.com/9088447)

I am still waiting for a plugin which allows me to impose a efficient low-cost organisation layer over tabs (have made multiple feeble attempts to do a plugin which helps organize tabs using mind-maps, a org structure that is my personal favorite). I have tried almost all plugins over the years which could potentially solve this for me - but have not been successful in finding one that fits my needs.

Re:Multiprocess Firefox by diydsp on Thursday December 05, 2013 @03:43PM (#6857083)
interesting! I wonder if perhaps a logical way to combine "pages" is into a "book" or a "codex".

It would kewl if this vein of technology grows. Perhaps cached tabs could store a snapshot for offline-browsing and recall after the page is down, too...

...or if multiple web pages could be combined into a single browser page.

Yes, some kind of meta-layer would be neat.

Maybe even combine a "multipath" "narrative" "storyline" into a navigable structure for communicating ideas from multiple perspectives, like news stories or technical manuals or software/hardware/testing/docs of the same product..

sorry for all the quotes and sky-high speculation - i'm buzzing on caffeine, and very excited to chat with other people about the possibilities of extra-tabular information navigation!

Re:Multiprocess Firefox by danielfernandez on Thursday December 05, 2013 @12:21PM (#6855628)
I have found out that lots of people from other non-technical areas also have the "too many tabs opened" problem. We are working on a solution for that except for the soldiers part =) The idea is that you can keep your browser synced (one or many browsers) and move tabs for later, search them, archive them, restore them and soon also share them. Take a look at http://listboard.it if you are interested.
Re:Multiprocess Firefox by mutagen on Thursday December 05, 2013 @03:56PM (#6857154)
I just signed up. I've been using and abusing multiple windows and then tabs in Opera's MDI interface since the modem days, when it was nice to have a few pages loading up and come back to them fully loaded instead of waiting for each one.

I'd love to have something indexing and closing old tabs for me in the background instead of manually managing them. Heuristics like 'this tab or any pages on this domain haven't been visited in a week, index the page and close the tab'. At times I use tabs as reminders, perhaps adding some intelligence like "This Kickstarter is expiring in 3 days and hasn't been viewed in a week, you still interested?" might be nice. Any tab with future dates approaching might be worth alerting people to. A summary page might be nice with the last closed tabs, the upcoming dates tabs mentioned above. Pinboard or the like integration would be pretty awesome, that is primarily how I'm managing tabs now.

The more I think about this the more excited I get. Of course the tough part is satisfying each of us who have their own reasons and their own process for managing multiple tabs.

Re:Multiprocess Firefox by simcop2387 on Thursday December 05, 2013 @03:24PM (#6856942)
That looks really nice. I wonder if you could integrate this with firefox's tab groups[1] I use them to manage things all the time.

[1] https://support.mozilla.org/en-US/kb/tab-groups-organize-tab...

Re:Multiprocess Firefox by danielfernandez on Thursday December 05, 2013 @03:51PM (#6857128)
Interesting proposal, we do not have it integrated but we will evaluate the idea.
Re:Multiprocess Firefox by ksec on Friday December 06, 2013 @02:38AM (#6859939)
The problem is a lot of people now research on things. Like Price Research. They tend to open a dozen of tabs to look through things. I think this is a problem that needs to be looked at.

I have been thinking of something that combined Bookmark, History and Open Tabs.

Re:Multiprocess Firefox by diydsp on Thursday December 05, 2013 @01:25PM (#6856089)
oh, interesting, so I'm not the only one! I subscribed. Thank you.
Re:Multiprocess Firefox by mburns on Thursday December 05, 2013 @05:03PM (#6857632)
That's precisely what Tab Groups are meant to do. And Firefox can be set to not keep background tabs in memory.

So yea, that behavior is quite possible today.

Re:Multiprocess Firefox by Crito on Thursday December 05, 2013 @02:45PM (#6856680)
I think there is an opportunity to blend the concepts of tabs and bookmarks. Tabs could/should be aggressively swapped out to disk, or even unloaded entirely if the state that they have is unnecessary. Obviously we can just bookmark then close a tab today if we don't care about it's state, but that is not a workflow that the standard tab/bookmark UI facilitates.

(The standard tab UI also does not facilitate massive numbers of tabs, but tree style tabs solves that problem beautifully.)

Re:Multiprocess Firefox by jaredsohn on Thursday December 05, 2013 @04:19PM (#6857325)
A slightly different workflow is to use the OneTab Chrome extension (https://chrome.google.com/webstore/detail/onetab/chphlpgkkbo...) which with a single clicks converts all of your tabs into a list that can later be reloaded.
Re:Multiprocess Firefox by Crito on Thursday December 05, 2013 @06:01PM (#6858041)
Very interesting, thanks for the suggestion. I currently use Firefox and Chrome concurrently for various reasons, so I think I will probably get some use out of this.
Re:Multiprocess Firefox by dredmorbius on Friday December 06, 2013 @02:02AM (#6859840)
Very much this. It's the feature I've been looking for for a while.

The ability to queue up a reading list, to tag elements, to expire portions, to group stuff for later, to annotate it.

A mix of tabs, bookmarks, a tool like Readability, and Calibre.

Re:Multiprocess Firefox by deeringc on Thursday December 05, 2013 @10:40AM (#6854897)
It seems to me that "one process per window" would make it very difficult to implement dragging tabs between windows, and out into their own window.
Re:Multiprocess Firefox by repsilat on Thursday December 05, 2013 @07:44PM (#6858532)
I guess it's a holdover from when I used Linux more often, but for most applications it seems sensible to just let the WM manage tabs. I guess there are a couple of situations when that approach is worse, though:

- Tabs need to communicate with each other, or with a "host" application. In-process communication might be simpler than inter-process.

- Some people have WMs that don't provide an acceptable tabbing interface, and you want your application to have an acceptable interface everywhere. In this case I guess I'd suggest distributing a separate tabbing program along with your app, but that kind of separation of responsibility has definitely gone out of fashion.

Re:Multiprocess Firefox by agumonkey on Thursday December 05, 2013 @02:05PM (#6856397)
They did a talk about parallel rendering 4 months ago : https://air.mozilla.org/2013-intern-presentations-august-13/
Re:Multiprocess Firefox by woozy on Thursday December 05, 2013 @11:02AM (#6855070)
Ah, Rust behind the scene. I sensed that correlation.