Live data from Hacker News

Multiprocess Firefox

billmccloskey.wordpress.com

91–100 of 126 posts

Re: Multiprocess Firefox

#91
post #56

Earlier quoted context omitted.

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.

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 C…

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

#92

> All IPC happens using the Chromium IPC libraries Interesting that they chose to share code with Chrome. Since the two are competitors, I would have thought that they'd use completely separate implementations. It's interesting that open source makes this sharing possible.

I think we imported that code around 2010 and heavily modified it. We are also planning to use Chrome's sandboxing code for Windows.

Re: Multiprocess Firefox

#93
post #56

Earlier quoted context omitted.

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.

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 C…

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

#94
post #56

Earlier quoted context omitted.

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 C…

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…

Firefox's recent image decoding memory optimizations are amazing, especially with so many infinite scrolling pages out there lately.

Re: Multiprocess Firefox

#95
post #31

Earlier quoted context omitted.

"I wish shared heaps would have been a specially enabled feature not the default." I hope to someday see the language at least do the opposite, have a specially-declarable "isolated" goroutine. In theory, the compiler ought to be able to analyze a goroutine, determine that it shares no data at startup with another process (i.e., nothing in a closure or something), determine that it only communicates via value-passing…

> determine that it only communicates via value-passing channels (which courtesy of my previous restriction, can be analyzed by simply looking at what channels are passed in at startup time, and some analysis of the types of the channels), That would preclude sending interfaces over channels (along with any other existential or mutable reference type), because the type system doesn't know whether the interface is clo…

"You cannot just bolt isolation on after the fact. You must design your language for it from the start."

Yes, I agree, and I'm sure I'm going to have many years of wishing they had. At the moment I don't have a better entrant in this field that is palatable to my coworkers, though. They've rather disliked Erlang (and not for lack of trying, and not for lack of good reasons, for that matter), Haskell's right out, and I'm running low on production-quality true isolation-based languages here. Several additional up-and-coming contenders; I'm sure if I could have used Rust-from-2018 I'd take that in a heartbeat, but, alas, it's 2013.

Go is tolerable, at least the way we're using it.

Re: Multiprocess Firefox

#96
post #56

Earlier quoted context omitted.

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 C…

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.

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

#97
post #85
post #56

Earlier quoted context omitted.

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 C…

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 overlo…

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

#98

Earlier quoted context omitted.

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.

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...

Interesting proposal, we do not have it integrated but we will evaluate the idea.

Re: Multiprocess Firefox

#99
post #56

Earlier quoted context omitted.

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 C…

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.

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

#100
post #88

> All IPC happens using the Chromium IPC libraries Interesting that they chose to share code with Chrome. Since the two are competitors, I would have thought that they'd use completely separate implementations. It's interesting that open source makes this sharing possible.

> Interesting that they chose to share code with Chrome. Since the two are competitors, I would have thought that they'd use completely separate implementations. That's what open source is about: collaboration instead competition. Why compete when you can pool your resources together.

Mozilla does have a habit of rejecting code like WebDB/SQLite and PNaCl, so people are always surprised to see them reusing code, especially from Google.
Post reply on HN