A First Look At Firefox 3 Alpha 5 217
abhinav_pc writes "PC World is reporting that Mozilla today made an early testing release available from its Firefox 3 browser. This alpha version (code-named Gran Paradiso) for the first time adds the anticipated Places feature for bookmarks. Firefox 3 alpha 5 also features a new password manager. A new crash reporting system called Breakpad is also now available in some Mac OS X and Windows builds but is not yet supported on Linux. 'Places will also be less likely to lose data in the event of program or Windows crashes. In fact, according to Connor, "We haven't figured out how to make Places lose data." For backwards compatibility and manual backups, Firefox 3 will save bookmarks in the traditional bookmarks.htm file when it closes. For other bookmark upgrades, Mozilla is planning to enable bookmark tagging, and is considering building its own synchronization client into the browser capable of backing up and sharing bookmarks. '"
my seemingly eternal question: (Score:5, Interesting)
Re:my seemingly eternal question: (Score:5, Interesting)
I'm not very clueful on such matters, but it seems like maybe the most important statement is:
Re:my seemingly eternal question: (Score:5, Insightful)
Re:my seemingly eternal question: (Score:5, Insightful)
You do realize the statement that X is not a solution to problem Y is not the same as saying that problem Y won't or shouldn't be solved. Right?
(And make sure to read his comments on the main post for specific responses to the issue of UI.
Re: (Score:2)
Re: (Score:2)
Thing is, single threaded apps aren't going to stay even marginally useful for more than about 20 more minutes. Maybe there are hard problem in threading, but putting each tab in a tabbed browser into its own thread isn't one of them.
Re: (Score:2, Insightful)
Re:my seemingly eternal question: (Score:5, Insightful)
I think he's also a little stuck in the 80s - 'virtual method calls cost'. yup they do, but on a 3GHz machine, the cost is literally negligible. The cost to allocate 1 byte of memory from main ram costs more than the entire time spent fixing up virtual method calls for an entire day! (and if I exaggerate about the comparison, let me remind you firefox allocates a little more than 1 byte of memory...)
He could easily put 1 thread per tab and not have any concurrency issues, no race conditions, no deadlocks. As long as he slapped a single mutex around memory shared between tabs and held it for as short a time as possible, then there will be no problems. Simple, easy, safe and yet so effective! You don't need to add threading within a javascript script - that'd be overengineering worthy of the FF memory leak.
Mozilla needs a new CTO, someone who can talk abotu stuff they know what they're talking about, not someone who likes to speak as eruditely as possibly (probably to make himself sound more intelligent) and leave the incomprehensible, management-style buzzword-speak alone.
Re: (Score:2)
Doesn't Firefox render itself using XUL and Javascript?
David Hyatt (former Mozilla coder) seems to have figured out how to do threading in Safari, anyhow. Firefox is still my main browser, but Safari is very slick.
Re: (Score:2)
Re: (Score:2)
What do you make of this [pastebin.ca]?
Yes.... (Score:2)
No. Safari's javascript engine is not multithreaded among open windows/tabs (but the interface is).
It would benefit all browsers if multi-threaded javascript were possible, and the event model kept "document" (i.e. window/tab) centric with cooperative event dispatch being the rule there unless otherwise specified in the language (for backwards compatibility).
Re: (Score:2)
He could easily put 1 thread per tab and not have any concurrency issues, no race conditions, no deadlocks. ... You don't need to add threading within a javascript script - that'd be overengineering worthy of the FF memory leak.
Please dont contradict yourself. It makes yourself look stupid. :P
Everything using Gecko uses a UI powered by (yep you guessed it) Javascript and XUL.
Click the Home button? Thats javascript swapping the clicked image in and changing the url.
Kinda makes you realize what a bloody good job the Mozilla guys have done.
The javascript engine needs threading because every single thing you see on the screen was created by javascript.
Re: (Score:2)
However, I believe the OP was referring to the Mozilla UI core. Is that affected by the JS engine since the browser itself is a XUL component? I have no idea. I tried to look at the Firefox code once and nearly gouged my eyes out after a few hours.
Bu
Re:my seemingly eternal question: (Score:5, Insightful)
He said that? Shit.
Let me put things perspective. Tamarin (the Adobe Flash script engine) is currently implementation of JavaScript 2.0 and not 3.0. It'll show up not in Firefox 3, but Firefox 4 earliest.
To get it from JS 2.0 to 3.0 (which doesn't exist even in the form of a draft yet), it'll probably mean few more major versions, Firefox 7, Firefox 8 maybe?
Firefox doesn't just run JavaScript in the pages on JavaScript. Instead, the whole damn thing is a big swat of JavaScript, that talks to the XUL/Gecko components.
So it'll be some 5-10 years before we see multithreaded Firefox? Nice. Perfect.
Now.. when do we expect multicore desktops and laptops to start showing up, and the competition (IE/Opera/Safari) making use of multiple threads to massively improve the responsiveness of their UI? Oh yes... yesterday.
Why is this whole story so familiar? It's Netscape all over again:
"Let's just wait and add bloat and not do much about our biggest problem, since The Solution Has To Be Perfect. Threads suck, instead we'll wait for Something Perfect to manifest in reality for us."
At the same time the competition uses whatever's out there and works, and runs past them.
And they will be like "oh shoot, we can never fix this in time, it's all based on JavaScript/XUL, we need a rewrite". Then they disappear for 5 years while trying to rewrite their newly formed mess, and Microsoft stops development at IE8 and stagnates.
Nice.
Re: (Score:2)
That was the most insightfully depressing summation of things I've ever seen.
The future is not that bleak. (Score:3, Interesting)
I've actually played with it in jsext and I was kind of surprised.
Of course it's not so cleanly implemented as in java with monitors and critical sections being a language component. You have to interface objects that wrap stuff if you want to share mutable data between threads.
Nevertheless it would be a quicker fix for Fire
Re: (Score:2)
Gecko runs very nicely on old single core computers.
I really dont see why your bitching about it not being able to use 256 cpu cores.
It simply doesnt need to.
Re:my seemingly eternal question: (Score:5, Insightful)
Re:my seemingly eternal question: (Score:5, Insightful)
I second, triple, quadruple that. I absolutely hate the responsiveness of Firefox.
It's as if it's not waiting for a simple stream to send data, but doing something extremely CPU intensive. It truly seems like it locks up the entire process while it's doing something.
Neither IE7 or Opera do that and the browsing experience with those two is completely different just because of this performance issue in Firefox.
Re:my seemingly eternal question: (Score:5, Informative)
enough said.
Re: (Score:2, Interesting)
Re: (Score:2)
I don't know about IE7 or Opera on Windows, but at least on Linux, Opera suffers from the same responsiveness problem as Firefox. I did try this last year, after a spat of disgust with Firefox. I just downloaded the latest version of Opera and tried again: open one comment-heavy slashdot page (I picked the recent one about the Creation Museum) in the background
Re: (Score:2)
Loading java applets is what annoys the crap out of me. Firefox stops responding for like 10 seconds.
I'm visualizing the simple code to spawn a thread for each tab, and... I have no idea why they aren't doing it. None.
Re: (Score:2)
Re: (Score:2)
Re:my seemingly eternal question: (Score:5, Interesting)
A friend of mine recently talked about someone..who's name i don't remember right now(a couple of beers were involved), that worked with systems security on fighter airplanes, claimed that fixing almost only high-priority bugs made the system worse.
This was very well documented, about 20 or 30 years of development had been analyzed.
He said that if the users seemingly low-priority complaints was given more weight(adressed more often), it made problems of all severities go down. Significantly.
His conclusion was that the smaller problems contributed to a more messy system where more serious problems might go unnoticed.
Not to mention that a happy customer is better than a dead one for other reasons
Re: (Score:2)
I've never seen any good metrics or studies on this, but it's been my experience that in some cases, single high-priority problems can sometimes be worked around more easily than large numbers of "low priority" bugs. Sometimes it's preferable (not always, but sometimes) to train users to avoid a large problem, and in the meantime fix a large number of smaller problems, rather than pulling everyone off of everything to fix the
Re: (Score:2)
That reminds me - FF doesn't have anywhere near enough weapons to suit me...trolls are terrorists, right?
Anyway, I disagree that addressing low-priority items makes severities of other problems go down, as a general rule. It *can* do that, certainly, depending on what the problems are. This may very well be an issue specific to the environ
Re: (Score:2)
I think the idea of code reuse was to not have to reinvent the wheel every time. When you separate functioanlity into functions, you're actually LESS likely to improve older code until you have to hack in some new bit of data into the old. T
Re: (Score:2)
And I certainly wouldn't advocate ignoring all minor bugs until big ones are fixed, but this bug in FF has been around since the beginning. That and the memory usage are really the only two things I experience that I would consider major bugs, and I can work around the memory usage now that I have a ridiculous amount of memory.
Re: (Score:2)
Firefox should be moving to multi-threading anyway, because SMP has been solidly mainstream for years now. The fact that it fixes this entire class of bugs for free is just really nice.
Re: (Score:2)
Last time I checked (which was around the Firefox 1.0 days), Firefox's JavaScript engine ran in the UI thread. This means that any long-running JavaScript task would freeze the UI, as the UI thread was no longer accepting messages - it was running JavaScript instead.
The UI will always be single-threaded, message-driven because that's how most OSes implement their UI API. The problem is that Firefox runs too many non-UI related tasks in the UI thread. Certain tasks should be done in a background thread so
Re: (Score:3, Insightful)
Actually, yes.
And? While not everything should be a thread, long-running tasks really should be. Given that all interaction between JavaScript on a webpage and the UI should be fairly well-defined through various elements
Re: (Score:2)
The trick to making it easy is to have a single thread handling the UI, and worker threads fetching data or performing calculations. the threads change data that is shared with the main thread (I conceptualise this by passing a pointer to the object that has the UI methods, so I have data local to the worker, and data that is owned by the main object that I access indirectly). Anytime I access that UI data, I put a critical
Re: (Score:2)
If not, I have. Usually, it starts off fine. No problems. Then you add more stuff. The application grows.
The thing with GUI programming is that it is made to respond to operating system messages.
Mixing that (event-driven) model with multi-threaded stuff requires an amount of discipline lacking in most developer teams.
The more advanced(cool) graphical components you use, the more potholes and race-conditions appear.
What I'll say is horrible, but m
Re: (Score:2)
What's the hard part here? You have a main thread that handles everything that isn't actual per-tab content. You spawn a thread for each tab, and have it basically the same code it's running now. The only difference is that UI events for the tab-content need to be either A.) sent by the windowing system to the tab's thread or B.) accepted by the main thread and queued up for the tab thread.
Perhaps there have been really stupid architectural decisions in Firefox that hurt this plan, but if that's true they
Re: (Score:3, Interesting)
Why not split things out into multiple javascript interpreters then? Why does per-tab javascript even *want* to run in the same interpreter as UI code?
It feels like a lot of design tradeoffs were made in Mozilla that trade 100k of RAM for like a second of UI latency. Bad deal.
Re:my seemingly eternal question: (Score:4, Insightful)
It's true that a synchronous event loop generally has better throughput on a single processor core than any sort of multi-threaded construct. But, that doesn't make it the right architectural choice for a web browser. First, computers are fast enough that a 15% throughput penalty is irrelevant compared to the much more important issue of latency - when I click in a Firefox window, I want there to be a thread listening, I don't want my event to wait in a queue for half a second for the event loop to get to it. Second, I hear multi-core processors are pretty common, and my guess would be that they're getting more common rather than less common.
Re: (Score:2)
Places (Score:5, Funny)
rm -rf
Re:Places (Score:5, Funny)
Re: (Score:2, Funny)
(For Mac OS X, rm -rf ~/Library/Mozilla)
Linux does not crash anyway. (Score:2)
No if they could make it look less ugly and more native on GNOME, that would be nice.
Re: (Score:2)
Create a file named "freeze.sh" with the following contents:
Run it, count to 100, and then fix it without rebooting.
Alpha? (Score:3, Funny)
I'll wait, thanks.
Re: (Score:2)
Losing Data (Score:2, Funny)
Call the Microsoft Office Design Team. They'll help you with that in a snap!
No Places for Me (Score:2)
Re: (Score:2)
But if you want there are add-ons [mozilla.org] that sync your places bookmarks with your del.icio.us/google/etc bookmarks. So really it's helping facilitate the use of those services.
Re: (Score:3, Insightful)
Privacy, that's why (Score:2)
Because what I choose to bookmark reveals a good deal about me, and I'd prefer not to hand that information to a corporation. Even one whose motto is "don't be evil."
The article mentions that the Mozilla devs might integrate their own bookmark synchronization code straight into Firefox. I might consider using that, as long as I can set it up to use MY server for storing the data.
Re: (Score:2)
Places also introduces the ultra-compact SQLite into the bookmark and history arena. Hopefully as adoption of SQLite continues we can see less Mork files and other file types in the Mozilla applications.
As a system administrator, it would be completely awesome to integrate directly with my users' SQLite files, introducing bookmarks at logon, reorganizing them at logon, etc. Currently I have to parse HTML files and other such atrocities.
And b
Re: (Score:2)
DId they fix the print bug? (Score:4, Insightful)
Last One Please (Score:3, Insightful)
I don't care about new features (Score:3, Interesting)
I'd also like the developers to think about the little subtleties that, as a Mac user, I take for granted from other applications. For example, when Firefox creates a new window it shouldn't be falling off the bottom of the screen.
Also, why does Firefox insist on displaying two different Mozilla pages after Firefox has been updated rather than just displaying my regular start page? This is rude and insulting. It does nothing for me. Finally, after 45 minutes with Google, I did figure out how to effectively disable this "feature" (about:config then change the keys named startup.homepage_welcome_url and startup.homepage_override_url to my regular start page) so that I merely get two start pages instead. (BTW, this "feature" cannot be disabled in Camino -- it appears to be hard coded in to the application bundle.)
There are many things I like about Firefox, specifically several extensions, but other things like those mentioned above that routinely drive me nuts -- I could keep listing them, but will spare everyone.
I would like to kindly suggest that the Firefox developers sit down and fix the irritating quirks, ancient bugs, and brain dead behaviors before adding new ones.
Good idea... (Score:5, Funny)
Nothing to see here. (Score:3, Interesting)
I use the Opera browser to open up 200+ tabs in one single session at a time, and it would be useful if they implemented more session management, such as the ability to add tabs to specifically saved sessions. Same goes for Firefox.
Let's increase the number of pages that we can view per day. When you look at the numbers, we view a surprisingly small percentage of the content available on the WWW re: nearly any subject. The fact that the limit to the number of tabs that can be opened in one active browsing session is somewhat dependent on how much the browser can handle at once seems silly- cached tabs and an ability to predict which tabs the user might pull up next would be useful (though no fancy prediction algorithms, that would be too much).
There is a suggestion on the Opera discussion boards about a "rush mode" for viewing tabs such that you can strategize which tabs you are to go to next when you close the current tab. That would be a useful plugin to implement. Speaking of which, where do we draw the line between plugin and component to distribute with the browser?
The web history features can also be improved, perhaps graphical illustrations of the pathways through the world wide web would be an improvement, such that there is no longer this linear time dependency, when in truth we go through many tabs and have many separate histories building at once. There's lots of information being lost in current history tracking.
And, does anybody else use browsers as extensively as I do? I would be interested in meeting with some of you and discussing strategies for increasing web browsing and content consumption rates.
Re: (Score:2)
How about fixing some long standing CSS bugs? (Score:2)
It'd be nice to see some progress on :nth-child() support [mozilla.org] and positioning for generated content support [mozilla.org]. Konqueror supports both of these already, and it'd be nice to have feature parity there. Don't bother mentioning IE, because I don't care about IE.
Re: (Score:2)
Well, you could always look at what they have added [mozilla.org] to CSS support:
Contributing Corporations (Score:3, Interesting)
IBM, Intel, Oracle, Mozilla, Microsoft, Netscape, MITRE, Digital Equipment, Novell, Activestate
I looked for the Microsoft code and it was just stuff copied from the SDK samples. Still, I did another count:
I would be really curious to do the same search on the IE7 code base, this time looking for MozillaRe: (Score:3, Insightful)
still crapppy mac ui (Score:2)
And fan boys, don't try and say that it up and down arrows are stupid, that's irrelevant. It's platform convention. Don't say that it's impossible to use a drop down without binding activation to the down arrow. Safari does it just fine.
Use Camino. (Score:2)
So, use Camino. It uses the Mac UI and just renders using Gecko.
Re: (Score:2)
Re: (Score:2)
Re:Memory Hog (Score:4, Interesting)
Re: (Score:2)
Re: (Score:3, Insightful)
Cold Case (Score:2)
What memory situation? I keep asking for details about it, and no one can seem to give any. When I have one tab open in Firefox, it usually uses less than 100 MB of memory, and often less memory than other browsers. For example, with this page open, Firefox 2.0.0.4 has Mem Usage of 29 MB and VM Size of 20 MB, Opera 9.21 has Mem Usage of 34 MB and VM
Re: (Score:2)
Ummm, no. (Score:3, Informative)
Yeah, yeah. Most likely, you are falling victim to Windows' misreporting of memory usage. [...] Try this: in Win XP or 2000, look at a piece of software that has been running for a while. go to task manager and look at the memory "used". Minimize the piece of software. Look at the memory usage again. Amazingly, it will have dropped dramatically.
Well, yes. If you've minimized a program, the chances are you're not actively using it at that moment, so it makes sense to swap some of the memory that program is using out to the pagefile, to make some space for whatever programs you *are* actively using.
There's a solution if you consider this a bug: in about.config, create a Boolean pref called "config.trim_on_minimize", with a value of "false". This will just tell the OS to not trim memory usage when you minimize Firefox. The downside of this is
Re: (Score:2)
Windows does not accurately show how much memory is being used by applications using managed memory.
Re: (Score:2)
Re: (Score:2)
Unfortunately it doesn't work that way. Try to load another large applcation and Firefox is pushed out to swap. Alt-Tab back to Firefox and you're in Heavy Swap Land (population: you).
There's most definitely memory leaks there. Even the memory leak detecting extension popped up for me so often that I had to uninstall it.
Leak Monitor Extension (Score:2)
The leak monitor extension [dbaron.org] is for finding memory leaks in extensions, although on rare occasions it can find a memory leak in Firefox itself. If that extension is often reporting leaks, you almost certainly have an extension with a severe memory leak, such as one of the problematic extensions listed in the MozillaZine Knowledge Base [mozillazine.org]. If you can get the leak monitor exten
Re: (Score:3, Interesting)
If password managers allow you to have strong passwords and different ones for each thing then they give more security than they risk, I think.
Re: (Score:2)
Re: (Score:3, Interesting)
Actually, come to think of it, why doesn't Mozilla take the keepass code, compile it in to firefox, and put a different ui on it? How much easier would that be than writing a new one from scratch, that won't be as quick to develop, good, or as secure.
Re: (Score:3, Insightful)
- Andrew Carnegie
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:3, Funny)
Why doesn't anyone port Dillo to windows? (Score:3, Informative)
http://www.dillo.org/ [dillo.org]
http://sourceforge.net/projects/dillo/ [sourceforge.net]
Re:Why doesn't anyone port Dillo to windows? (Score:4, Informative)
Re: (Score:2, Insightful)
Re: bloat bloat code your bloat... (Score:2)
On my system, Firefox is easily the most memory-hungry process. I actually have to restart it every few days to make it stop eating all my RAM (although as of a few upgrade ago, it seems to be taking care of the shutting down automatically... :/). The one reason I'm using Firefox is thanks to the plugins (in this case, SessionSaver is extra
Re: (Score:2, Informative)
Libcroco [freespiders.org] is used in Inkscape and there's been talk of restarting development. Gnome have a skeleton of a browser based on Apple Webkit (khtml derivative) in their CVS somewhere and then there's the dillo [dillo.org] codebase;
Re: (Score:2)
Seamonkey is at the moment chewing on 113mb of ram and thats with 17 tabs open and 25,000 emails in my Inbox (and much more in other folders).
I wouldnt go as far as saying its lean but imho thats pretty good.
Re:bloat bloat code your bloat... (Score:5, Insightful)
Re: (Score:2)
Re: (Score:3, Insightful)
I agree. Bloat is such an easy word to just throw around, especially since it seems that you don't need any justification to use it anymore. I'm quite certain that the GP doesn't have the faintest idea of how the new implementations of these old features compare to their previous equivalents - on the other hand, there's long been a consensus that bookmark management needed an overhaul.
But I guess that's how it goes when you get popular enough. Improve or not, someone's going to hate you anyway.
Re: (Score:3, Insightful)
Anyway, I'm not saying the argument couldn't be made that ffx is 'bloated' (don't believe it myself, but there are plenty of people who do). However the OP failed to make any kind of coherent argument - he just made up a silly little rhyme parroting the popular opinion - therefore, NOT insightful.
Re: (Score:2)
Re:Does it pass ACID2? (Score:5, Insightful)
Passing ACID2? Is this sort of like passing GAS3, maybe?
While busy explaining how important standard are, you forgot to mention ACID2 isn't anything like an official standards test, and doesn't confirm standards compliance.
It just confirms it supports the features used in ACID2, in the precise context of the ACID2 page. Opera has rendering bugs and many unsupported features just like Firefox.
Re: (Score:3, Informative)