Slashdot Mirror


A First Look At Firefox 3 Alpha 5

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

46 of 217 comments (clear)

  1. my seemingly eternal question: by Tumbleweed · · Score: 5, Interesting

    Multithreaded UI yet?

    1. Re:my seemingly eternal question: by starwed · · Score: 5, Interesting
      Well, here's what Brendan Eich, Mozilla's chief technology officer, has to say about multithreading: Threads suck

      I'm not very clueful on such matters, but it seems like maybe the most important statement is:

      A requirement for JS3 (along with hygienic macros) is to do something along these more implicit lines of concurrency support. In all the fast yet maintainable MT systems I've built or worked on, the key idea (which Will Clinger stated clearly to me over lunch last fall) is to separate the mutable unshared data from the immutable shared data. Do that well, with language and VM support, and threads become what they should be: not an abstraction violator from hell, but a scaling device that can be composed with existing abstractions.
    2. Re:my seemingly eternal question: by Fastolfe · · Score: 5, Insightful

      I can't speak for the other poster, but one of my chief complaints about Firefox is when the UI hangs because a web page is doing something (loading or executing some bad javascript). I like to spawn off tabs to load in the background while I'm reading something else, and I regularly find Firefox completely unresponsive until one of those background tabs wraps up whatever the hell it's doing.

    3. Re:my seemingly eternal question: by kat_skan · · Score: 5, Insightful

      Yeah, that's great. Know what else sucks, Mr. Eich? The whole app becoming completely inoperative because one script on one tab is stuck doing who knows what. Smacks of the old "dialog boxes suck" line that was used to explain why we couldn't have a confirmation box to avoid accidentally shutting down the entire app when we were just trying to close a tab.

    4. Re:my seemingly eternal question: by starwed · · Score: 4, 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.

    5. Re:my seemingly eternal question: by zig007 · · Score: 5, Interesting

      That they don't fix that raises a different question that is quite interesting. Well at least i think so.. :-)

      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 :-)

      --
      Baboons are cute.
    6. Re:my seemingly eternal question: by _xeno_ · · Score: 2, Insightful

      Have you ever tried developing multithreaded GUI-applications?

      Actually, yes.

      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.

      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, it should be possible to run the JavaScript in a non-UI thread and then sync the changes back to the UI thread when it's complete, or at set intervals.

      OK, yes, I'm oversimplifying a bit. Things like the DOM creates a few thousand places where JavaScript can cause changes that should be reflected on the screen.

      But still, it would be nice for each page to have its own JavaScript thread, which is free to be single-threaded on a per-page basis. Conceptually the DOM is only mutable within the context of each page, and can be synced to the UI only after certain JavaScript event handlers complete.

      The only problem with that theory is that any given page's DOM is actually mutable by any chrome-based JavaScript in any window. (E.g., an extensions like the DOM Inspector can modify a page's DOM via chrome JS from another window.) So while Opera appears to do something like what I'm suggesting (I can't be sure), it probably isn't really possible in Firefox.

      But still, it would be nice if a page containing while (1) ; didn't freeze the entire browser. (Go ahead. Try it.)

      --
      You are in a maze of twisty little relative jumps, all alike.
    7. Re:my seemingly eternal question: by gbjbaanb · · Score: 5, Insightful

      After reading his blog entry, I think that I know the reason he doesn't like threads. If he codes even a tiny bit like he writes then I wouldn't be surprised if his single-threaded apps had race conditions and deadlocks.

      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.

    8. Re:my seemingly eternal question: by suv4x4 · · Score: 4, Insightful

      I can't speak for the other poster, but one of my chief complaints about Firefox is when the UI hangs because a web page is doing something (loading or executing some bad javascript). I like to spawn off tabs to load in the background while I'm reading something else, and I regularly find Firefox completely unresponsive until one of those background tabs wraps up whatever the hell it's doing.

      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.

    9. Re:my seemingly eternal question: by kervel · · Score: 2, Insightful

      The problem with avoiding threads and using the alternatives (like cooperative multitasking + event driven models), is that it will become increasingly difficult to be responsive as an application grows. trying to handle GUI events every now and then while you are doing a lot of computation will very quickly go wrong when the amount of work you have to do becomes longer and longer. Threads are difficult indeed, and trying to avoid them might look reasonable, but it doesn't always work well. The KDE core apps tried to avoid threading for most of KDE3, but i believe that at least some of them will start using threads now (maybe it also has to do with QT supporting threads).

      I don't know if this applies to firefox, as i don't know how firefox works. If firefox 2 doesn't use threads, then i'm really surprised by how responsive it is, when a lot of tabs are open (still very okay for me).

    10. Re:my seemingly eternal question: by romcabrera · · Score: 5, Informative
      Opening PDF files in the browser

      enough said.

    11. Re:my seemingly eternal question: by suv4x4 · · Score: 5, Insightful

      A requirement for JS3 (along with hygienic macros) is to do something along these more implicit lines of concurrency support.

      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.

    12. Re:my seemingly eternal question: by Chandon+Seldon · · Score: 3, Insightful

      But just as a general thing, unless you are talking about spreading stuff between cores, an event-driven model will almost always beat a multithreaded model, at least performance-wise.

      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.

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
    13. Re:my seemingly eternal question: by Goodgerster · · Score: 2, Interesting

      That's actually the fault of your PDF reader, which I suspect is Adobe's crapware - ever tried Evince (on Linux)?

    14. Re:my seemingly eternal question: by Chandon+Seldon · · Score: 2, 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.

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
  2. Places by morgan_greywolf · · Score: 5, Funny

    "We haven't figured out how to make Places lose data."


    rm -rf .mozilla

    1. Re:Places by WhyDoYouWantToKnow · · Score: 5, Funny

      Come on, that's hardly a cross platform solution.

      --
      "Oh drat these computers, they're so naughty and so complex. I could pinch them."
      Marvin the Martian
    2. Re:Places by morgan_greywolf · · Score: 2, Funny

      Sure it is. It works on Linux, NetBSD, FreeBSD, AND OpenBSD!!!

      (For Mac OS X, rm -rf ~/Library/Mozilla)

  3. Alpha? by FlyByPC · · Score: 2, Funny

    There's just something about hearing "Alpha" and "browser" in the same sentence that's scary. The *release* versions are dodgy enough, even in Firefox.

    I'll wait, thanks.

    --
    Paleotechnologist and connoisseur of pretty shiny things.
  4. Losing Data by Anonymous Coward · · Score: 2, Funny

    "We haven't figured out how to make Places lose data."

    Call the Microsoft Office Design Team. They'll help you with that in a snap!

  5. Re:Password managers by joe+155 · · Score: 2, Interesting

    yes they are insecure, but someone needs to break into your computer before they can have access to it - and if they've already broken in it wouldn't be too hard to install a key logger.

    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.

    --
    *''I can't believe it's not a hyperlink.''
  6. Re:Password managers by ryants · · Score: 2, Insightful

    Seems like having all my passwords in a single file isn't a good idea. Maybe I am just a caveman.
    "... put all your eggs in one basket and then watch that basket."
    - Andrew Carnegie
    --

    Ryan T. Sammartino
    "Ancora imparo"

  7. Re:Memory Hog by CastrTroy · · Score: 3, Interesting

    What are you doing? Opening up a 150 MB XML file in that one tab? Seriously. I know Firefox has some memory problems, but that is not anything like I have ever seen. Most of the actual "leaks" i've seen involve flash and web pages that continually add stuff to the DOM with javascript and leaving them open overnight. I haven't seen many other huge memory problems. I've had Firefox open for days and have browsed to hundreds of pages and I'm still only using 132 MB.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  8. DId they fix the print bug? by lhouk281 · · Score: 4, Insightful
  9. I don't care about new features by Anonymous Coward · · Score: 3, Interesting

    I want to know if the geriatric, yet debilitating, bugs have been fixed. For example, bug #154892, "splitting absolutely positioned frames" that prevents people from printing many web pages from Firefox.

    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.

  10. Re:No Places for Me by Ctrl-Z · · Score: 2, Insightful

    Using Places is like paying per minute for domestic long distance, you can do it, buy why? Pardon me? How is it anything like that at all? I don't have any problem paying per minute for domestic long distance. If you don't make a lot of long distance calls, it can be cheaper than a flat-rate plan. But, I guess I also keep separate bookmarks at home and work, so maybe you are onto something.
    --
    www.timcoleman.com is a total waste of your time. Never go there.
  11. Good idea... by eddan · · Score: 5, Funny
    Quote from the blog entry on the new password manager:

    The first part, a long slog of untangling and porting the old C++ code to JS, is now complete. Now, THAT sounds like something you want to do. I always mock up something quick in C++ and port it to JS afterwards.
  12. Nothing to see here. by the_kanzure · · Score: 3, Interesting

    Maybe it is time that we seriously discuss the state of browsing the world wide web and suggest some new browser features to implement, not just "bookmark tagging". Can't we come up with something to increase browsing productivity more than "bookmark sharing" ? Brainstorming in groups is useful in this situation.

    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.

  13. Ummm, no. by SEMW · · Score: 2, 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 that the rest of your machine will be much slower when you're not actively using Firefox than it would otherwise, because it's hogging a load of memory even though its minimized.

    Personally, I'd leave the OS default behavior alone; if Firefox is minimized it doesn't need to keep a load of crap in memory just because you're uncomfortable with the concept of memory management. In the meantime, stop spreading FUD.
    --
    What's purple and commutes? An Abelian grape.
  14. Re:bloat bloat code your bloat... by fullphaser · · Score: 3, Funny

    merrily merrily merrily, bug free is but a dream

    --
    Did someone say cake?
  15. Re:Password managers by gbjbaanb · · Score: 2, Interesting

    try out keepass, which has features that defeat even keyloggers (who would only get a ctrl-v message).

    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.

  16. Last One Please by bill_mcgonigle · · Score: 2, Insightful

    If everybody posts their favorite bug to every story about Firefox then the moderators have too much work to do.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  17. Re:Does it pass ACID2? by suv4x4 · · Score: 4, Insightful

    IMHO, they should first focus on making Firefox 2.x pass ACID2. I'm using Opera 9.21, because it passes ACID2 and had the fewest security bugs. Web standards compliance matters, because non-compliance makes creating rich web sites a royal pain.

    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.

  18. Why doesn't anyone port Dillo to windows? by zymano · · Score: 2, Informative

    Use dillo if you got linux. only 400k.

    http://www.dillo.org/

    http://sourceforge.net/projects/dillo/

    1. Re:Why doesn't anyone port Dillo to windows? by Kelson · · Score: 3, Informative

      Remember, that 400k does *not* get you scripting, CSS, or plugins. You aren't going to be viewing YouTube with Dillo anytime soon.

    2. Re:Why doesn't anyone port Dillo to windows? by MrNormS · · Score: 2, Insightful

      Might as well just use links/elinks/lynx.

  19. Contributing Corporations by obender · · Score: 2, Interesting
    Out of curiosity I did a find and grep on the source tree to see what companies contributed to the code base. I have to say there is at least one I did not expect. Here they are in no particular order:

    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:

    find . -name '*.c*' -exec grep -i Microsoft {} \; | wc -l
    332
    I would be really curious to do the same search on the IE7 code base, this time looking for Mozilla
    1. Re:Contributing Corporations by SpaghettiPattern · · Score: 2, Insightful

      find . -name '*.c*' -exec grep -i Microsoft {} \; | wc -l
      Buddy, you just counted the lines that contain microsoft. Without doing an actual analysis myself I take most lines will be code and comments for/on compatibility with MS targeted sites/pages. I don't expect MS to actually contribute to FF since they have a competing product.
      --

      I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
  20. Re:Breakpad? Are you kidding me? by Kelson · · Score: 2, Informative

    RTFS. Breakpad isn't just for crash recovery, it's for crash reporting. It should improve the information they get on the bugs, including bugs they didn't already know about, which should make it easier to fix them.

  21. Re: bloat bloat code your bloat... by Anonymous Coward · · Score: 2, Informative
    Surely you're joking; do you have any idea in what's involved in creating a layout engine from scratch?

    Libcroco 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 codebase;

    A web browser is too complex a task to develop on a part time basis, and it also is a fast-moving target. I dedicated seven years full-time to it, and I'm willing to dedicate more. This doesn't depend on me anymore as I had to take a job to pay the bills. We made great achievments with Dillo and it would be easy to quickly push FLTK2-Dillo if we could have both core developers working full time on it. This is a tiny deal for some sponsors (e. Cell phone maker), and we wish it could happen soon. Through this time we've been supported by individual's donations, and we thank them indeed for believing in our project and to help make it grow to what it is.

    If you as a reader, or user, or interested party have a good idea, sponsorship or development time to devote, please don't hesitate to contact me to try to arrange for the future of Dillo.


    The flow of a document is the flow of a document with respect to behavior of inline/block elements and the box model. Basically it's how text wraps around an image. If you don't get that floats remove an element from the flow, you aren't going to be writing your own browser any time soon.
  22. Re:bloat bloat code your bloat... by ampathee · · Score: 4, Insightful

    I'm getting pretty sick of this kneejerk comment to any firefox related story. Seriously mods, that was insightful?

  23. Re:Memory Hog by bunratty · · Score: 2, Insightful
    --
    What a fool believes, he sees, no wise man has the power to reason away.
  24. The future is not that bleak. by Ayanami+Rei · · Score: 2, Interesting

    Spidermonkey has (simple) patches to support threading. While there's no built-in language primitives for it the core was almost already threadsafe anyway... it just needed an interface.
    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 Firefox if they just had the core spawn off threads that handled the event loop for each document root (open window, tab, frame). And shunt off cross-document calls into a message queue in another thread for dispatch (same thread could be used to take messages from the interface and route them into the windows)

    Meanwhile the event-trigger javascript running in each document would look at act single-threaded sequential and not know anything was different.

    --
    THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
  25. Re:bloat bloat code your bloat... by Lorkki · · Score: 2, 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.

  26. Re:Memory Hog by bruno.fatia · · Score: 2, Funny

    I think 640k should be enough for any browser..

  27. Re:bloat bloat code your bloat... by ampathee · · Score: 2, Insightful

    So, Firefox sucks because of OpenOffice.org and Thunderbird? Gosh, that makes sense-a-plenty.

    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.