Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

A First Look At Firefox 3 Alpha 5

Posted by Zonk on Fri Jun 08, 2007 03:21 PM
from the alpha-beta-awesome dept.
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. '"
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by Tumbleweed (3706) * on Friday June 08 2007, @03:28PM (#19443655) Homepage
    Multithreaded UI yet?
    • by starwed (735423) on Friday June 08 2007, @03:41PM (#19443825)
      Well, here's what Brendan Eich, Mozilla's chief technology officer, has to say about multithreading: Threads suck [mozillazine.org]

      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.
      • by kat_skan (5219) on Friday June 08 2007, @04:17PM (#19444409)
        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 [mozilla.org] 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.
        • by starwed (735423) on Friday June 08 2007, @04:29PM (#19444595)

          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.

      • by gbjbaanb (229885) on Friday June 08 2007, @04:46PM (#19444857)
        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.
      • by suv4x4 (956391) on Friday June 08 2007, @05:42PM (#19445475)
        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.
        • 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 Fire
      • by Fastolfe (1470) <david@fastolfe.net> on Friday June 08 2007, @03:56PM (#19444073) Homepage
        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.
        • by suv4x4 (956391) on Friday June 08 2007, @04:51PM (#19444901)
          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.
      • Well, whether the solution to the "FF locks while loading some pages" problem (is there a Bugzilla entry for this that I can keep track of?) is a multithreaded UI, or some other nifty technology, is really a moot point for me. Mainly, I just want FF to stop locking up when some web pages load. I tend to run with lots of tabs open, etc, and I can be doing other things with the browser while a particular tab (or three) is loading. I don't know whether it's bad JS, bad Flash, or what. All I know is, it's the o
            • by zig007 (1097227) on Friday June 08 2007, @04:42PM (#19444823)
              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 :-)
      • by Chandon Seldon (43083) on Friday June 08 2007, @09:01PM (#19447149) Homepage

        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.

          • Re: (Score:3, 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

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

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


    rm -rf .mozilla

  • Alpha? (Score:3, Funny)

    by FlyByPC (841016) on Friday June 08 2007, @03:35PM (#19443763) Homepage
    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.
  • Losing Data (Score:2, Funny)

    by Anonymous Coward
    "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!
  • I've discovered google bookmarks, and nothing beats bookmarking at work and going home or using the laptop to pickup where I left off. Places is a quantum leap behind that. You can use del.icio.us bookmarks and that toolbar too. Unless all you ever use is a single computer, I really don't see a good reason for Places. Using Places is like paying per minute for domestic long distance, you can do it, buy why?
    • Call me paranoid, but I don't want my home bookmarks mixed in with my work bookmarks. Nor do I want to go home and have work staring back at me. Separation is good.

      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)

      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.
    • Why prefer local bookmarks to Google Bookmarks, you ask?

      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.
  • by Anonymous Coward on Friday June 08 2007, @04:03PM (#19444177)
    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.
  • by eddan (903540) on Friday June 08 2007, @04:08PM (#19444265) Homepage
    Quote from the blog entry on the new password manager [mozilla.com]:

    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.
  • Nothing to see here. (Score:3, Interesting)

    by the_kanzure (1100087) on Friday June 08 2007, @04:20PM (#19444455) Homepage
    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.
  • by obender (546976) on Friday June 08 2007, @06:40PM (#19445981)
    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
    • 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've use it on several machines, both straight from install, and with adlbock, filterset.g updater, webdev toolbar installed, never seen it anyhere near that unless I have a seriously huge amount of tabs open.
    • Re:Memory Hog (Score:4, Interesting)

      by CastrTroy (595695) on Friday June 08 2007, @03:57PM (#19444095) Homepage
      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.
      • The Windows virtual memory manager swaps out minimized applications. This has nothing to do with the way the app is written.
      • 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:3, 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.
      • Key-loggers yes. Having you passes in a pass manager should help minimize damage from a virus installed key-logger.
      • Re: (Score:3, 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.

    • Re: (Score:3, 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
    • Gecko 1.9 isn't exactly a small change. The big changes are in there, they're just in the back-end of the browser.
    • by suv4x4 (956391) on Friday June 08 2007, @06:01PM (#19445653)
      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.
    • Re: (Score:3, 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.