Slashdot Mirror


Why Mozilla Is Committed To Using Gecko

Ars Technica has published an article about Mozilla's commitment to use the Gecko rendering engine instead of using Webkit, which was adopted by Apple and Google for use in the Safari and Chrome browsers. I have been using Chrome on my work PC and find many of its features compelling, and wonder how soon we will see its best innovations in Firefox. Why is Gecko worth keeping if it is outdated and bloated?

128 of 632 comments (clear)

  1. Why use Gecko? by suck_burners_rice · · Score: 5, Funny

    Because it has a cooler name than the boring sounding WebKit. Besides, it'll save you 15% on car insurance.

    --
    McCain/Palin '08. Now THAT's hope and change!
    1. Re:Why use Gecko? by sexconker · · Score: 2, Funny

      Really? I thought it was so we could render GameCube games. (And Wii games if you have some duct tape and a dual core CPU?)

    2. Re:Why use Gecko? by smittyoneeach · · Score: 4, Funny

      Thought it was so easy, even a caveman could code it.

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    3. Re:Why use Gecko? by martin-boundary · · Score: 2, Funny

      Because it has a cooler name than the boring sounding WebKit.

      So boring, and yet so close to mass appeal! All they had to do was name it WebK.I.T.T., and bring out the 'Hoff (*shakes head*)

  2. lite by TheSHAD0W · · Score: 5, Insightful

    Why is Gecko worth keeping if it is outdated and bloated?

    Because it's bloated as a single app, but less bloated then opening up a new process (or more than one!) for every single web page loaded. Until every computer in use has multi-gigabyte memory, including handheld devices, there will be a need for something lighter than webkit

    1. Re:lite by Just+Some+Guy · · Score: 4, Informative

      You're confusing Firefox-the-browser with Gecko-the-renderer. There's no reason Firefox couldn't have one process per tab, and most Webkit/KHTML implementations currently use one process per browser window (like Firefox).

      In short, pick something else to distinguish them. You're way off this time around.

      --
      Dewey, what part of this looks like authorities should be involved?
    2. Re:lite by Anonymous Coward · · Score: 5, Informative

      Webkit doesn't specify that you have to use a separate process for each page. That's a Google Chrome feature.

    3. Re:lite by kestasjk · · Score: 4, Insightful

      Isn't Chrome the only browser out there which does this? And doesn't it actually just do it with separate processes and not individual threads?

      Maybe I'm missing something, but it doesn't seem incredibly shameful to me.

      --
      // MD_Update(&m,buf,j);
    4. Re:lite by bigstrat2003 · · Score: 2, Informative

      IE 8 has threaded tabs. Now, granted, that's in beta, but that means that the biggest browser has picked up this feature. Chrome also has it, albeit with processes instead of threads. Note I'm not picky about the technical details of threads vs processes, I just want the browser to not completely hang (or worse, crash) based on one tab's misbehavior.

      Like I said, given that IE 8 is implementing threaded tabs, there's no excuse for Firefox not to have it. It just brings too much to the table in terms of reliability to not have.

      --
      "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
    5. Re:lite by jorgevillalobos · · Score: 5, Informative

      There is no excuse for a modern browser to not have this, especially in light of the fact that their main competitor (IE) is developing it.

      Here's one excuse: complications when trying to have multiple processes render content on a single window in Mac OS X (mentioned near the end of the tab process isolation section).

      It's not clear to me if this is impossible or really difficult to achieve, but I think it'll be interesting to see what Chrome does for Mac OS X.

    6. Re:lite by multipartmixed · · Score: 2, Insightful

      Really? You think threaded tabs bring stability to the browser. WHAT? How the HELL do you figure that?

      --

      Do daemons dream of electric sleep()?
    7. Re:lite by et764 · · Score: 5, Insightful

      IE 8 actually a process-per-tab (almost) model, like Chrome does. The logic of how to split tabs and stuff into different processes is different, but the general idea is the same. One thing Chrome does that IE doesn't, as far as I know, is that Chrome runs plugins like Flash in a separate process, while IE still keeps them in the tab's process.

      The threads vs process distinction is very important, actually. Processes each get their own address space, while threads share an address space. This means processes can't write to each other's memory (except through things like shared memory segments), whereas threads can trample all over the other threads. A thread per tab model does protect you from a rogue Javascript freezing the browser's UI, but it doesn't protect you from a poorly written plugin that does something stupid like dereference a NULL pointer. If you really want reliability, you want processes instead. The downside is that processes are a lot heavier than threads.

    8. Re:lite by chromatic · · Score: 5, Insightful

      ... unless there's thread contention, or memory corruption, or a deadlock, or they use a non-thread-safe library with a global lock, or one thread has to handle a signal, or there's a segfault, or....

    9. Re:lite by multipartmixed · · Score: 5, Insightful

      > How is that hard to see? It's not exactly a great insight.

      Haven't done much multi-threaded programming, have you?

      Say, one thread locks a mutex and hangs.

      Whoops! Now all the other threads that want that mutex will wait forever!

      How's THAT for great insight?

      Repeat after me:
      1. Threads are Hard
      2. Threads are not magic bullets
      3. Threads introduce WHOLE NEW CLASSES of bugs

      --

      Do daemons dream of electric sleep()?
    10. Re:lite by bigstrat2003 · · Score: 4, Insightful

      I never said it was trivial to implement, just necessary. One doesn't imply the other.

      --
      "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
    11. Re:lite by Sancho · · Score: 2, Informative

      And because people confuse that, they tend to post misinformation.

      IE8's tabs will be in separate processes despite what the grandparent said. This adds stability.

    12. Re:lite by lysergic.acid · · Score: 5, Insightful

      that's not an argument for having a memory-hogging web browser.

      yes, CPU clock speeds are going up, and memory prices are going down, but a web browser should still be a relatively lightweight application by itself.

      there are much better uses for the increase in standard memory size in desktop computers. with computers as advanced as they are today, i should be able to have a web browser running in the background while i'm working in Photoshop, Illustrator, or other memory-intensive applications. even if you're not multi-tasking, the extra memory should go towards opening more tabs, running java applets, rendering flash applications, or streaming media.

      there seems to be a negative trend of basic office applications becoming increasingly resource-intensive at a pace that negates simultaneous increases in computer processing power. that's not technological progress, that's just inefficient software development.

      there's no reason that an office secretary should require a dual-core CPU and 2 GB of RAM when all she really needs to use her computer for is checking e-mail, word processing, web browsing, and possibly edit spreadsheets or run slide show presentations like PowerPoint.

      i mean, what good is increased CPU efficiency and cheaper memory when all of that is offset by increased hardware requirements for basic software applications? with the current energy-crisis, we ought to consider whether or not the average person should need to keep pace with Moore's law for simple computing tasks like web surfing or word processing. given the huge strides made in CPU efficiency, a modern web browser should be lean enough in its most basic configuration to be capable of running on a modern low-power PC.

      it doesn't make sense to constantly upgrade one's computer just so all applications run just as slow as they did before.

    13. Re:lite by fuzzylollipop · · Score: 2, Informative

      Note I'm not picky about the technical details of threads vs processes, I just want the browser to not completely hang (or worse, crash) based on one tab's misbehavior.

      If you aren't picky about the details then you don't understand the problem, and thus the solutions and why Threads don't give you protection from misbehaving browser windows/tabs and processes do.

    14. Re:lite by fuzzylollipop · · Score: 4, Insightful

      ...it's trivial to figure that out. Let me explain it to you: you have tab A, and tab B. If tab A and B share the same thread, they will hang each other if one of them hangs. By putting them in separate threads, tab A and B can hang, but not affect each other.

      How is that hard to see? It's not exactly a great insight.

      Wrong, a misbehaving Thread can and will hang the entire process. If anything Threads will INCREASE the chance of hanging the entire browser, because correct Thread programming is HARD!

    15. Re:lite by im_thatoneguy · · Score: 4, Insightful

      Why? Is it really that big of a deal? Don't open a tab that's going to lock up your browser.

      Oh that's why all those links were labeled "will crash your browser if clicked"! It makes so much more sense now. I kept expecting my browser to fail gracefully and continue operating and didn't realize I just wasn't supposed to click all those links listed as such.

      In other news I would like everybody to stop running executables which crash. The OS shouldn't need to keep them isolated since you shouldn't be running applications which crash in the first place. /sarcasm

      You must be a gymnast because you really had to bend over backwards pretty far to justify yourself.

    16. Re:lite by Moridineas · · Score: 5, Insightful

      yes, CPU clock speeds are going up, and memory prices are going down, but a web browser should still be a relatively lightweight application by itself.

      Why? I spend more time in the web browser--by far--than any other application. Email? 10 years ago I used a standalone email app, now I mostly use webmail. 5 years ago I used AIM. Now I use web chat. Picasa? Google documents? Between javascript advances, DOM, rich media, plugins, TABS, etc etc etc, today's browser does things not even imaged in 10 years ago.

      Chrome's very purpose is to make the browser a more generalized application development platform. Heck, WEBKIT is used in the same way (and XUL, etc for Firefox). The web browser ain't just for HTML circa '97 anymore. The web browser is probably the single most important application for most users.

      there seems to be a negative trend of basic office applications becoming increasingly resource-intensive at a pace that negates simultaneous increases in computer processing power. that's not technological progress, that's just inefficient software development.

      Exactly right. MS Office is a great example of this. The average user utilizes a very small percent of the functionality of Office, and yet everyone suffers the bloat. Can you honestly say that most people don't get anything out of a more rich browsing experience?

    17. Re:lite by cecil_turtle · · Score: 2, Insightful

      The only word that suffices to describe Firefox's lack of threaded tabs is "shameful". There is no excuse for a modern browser to not have this,

      You do know that there are not currently any stable browsers with threaded tabs, don't you? There are exactly two browsers attempting this that are both in early betas. You speak as if it's been common for years and Fx is way behind the game.

    18. Re:lite by cecil_turtle · · Score: 2, Informative

      Correcting my own post, of course I'm assuming the parent meant "tabs in separate processes" rather than "threaded tabs". Hopefully the latter doesn't become common slang for the former.

    19. Re:lite by naasking · · Score: 5, Informative

      and most Webkit/KHTML implementations currently use one process per browser window (like Firefox).

      Firefox does not use one process per browser window. Firefox uses one process per user profile.

    20. Re:lite by StrategicIrony · · Score: 5, Insightful

      Given infinite resources to code and debug applications, that may be the case.

      On the other hand, given realistic design specifications, given the current level of compilers and code verification, the advantage to spawning new threads all the time for processes that aren't super I/O intensive is quite often far overshadowed by the complexity introduced by doing that.

      Obviously, it's a design decision, but threaded tabs simply put more onus on the developers to sit around troubleshooting race conditions and inter-thread communications, rather than actually focusing on user-oriented features and performance enhancements.

      6 in one, half dozen in the other.

      But you don't do yourself any service by dogmatically insisting on it, like it's a magic bullet.

      You sig is funny btw

      But I want to eat cookies all the time! I want to do it!!.

      Yes... and threads too. :-)

    21. Re:lite by bluephone · · Score: 2, Funny

      The downside is that processes are a lot heavier than threads.

      Kinda like yarn!

      --
      jX [ Make everything as simple as possible, but no simpler. - Einstein ]
    22. Re:lite by aztracker1 · · Score: 3, Interesting

      Funny, just tracked down a bug earlier today related to a similar issue... A static instance of Class A is instantiated, and called by multiple processes... Class A had a class level instance of Class B... Class B had a class level variable that method X used. Method X would modify Class B's variable while running... On occasion the wrong information was shown to the user... Why, a static instance where a child object's methods weren't threadsafe... even though they weren't really designed to be, but because of being called from a static instance, used by multiple threads... just a major issue about 1/100,000th of the time.

      Building anything that is multi-threaded, even if un-intentional can cause issues... in this case, making the Class A's instance inside the method was the solution... in other cases locking is. Just depends.. it's just amazing how many people don't understand, or realize how these issues pop up.

      --
      Michael J. Ryan - tracker1.info
    23. Re:lite by Firehed · · Score: 3, Informative

      I don't see why this was modded troll - it's a very accurate statement, even if it shows !Mozilla in a good light (even MS, *gasp*). I haven't used a computer with less than a gig of RAM in about five years, and a lightweight app is no good to anyone if it crashes every hour. Firefox has been relatively stable for me all things considered (except for some rogue JS at digg which I abandoned a while ago, I rarely have issues), but Chrome's approach of sandboxing tabs so they don't kill each other probably should have come around tabbed browsing 1.1.

      It would be one thing if this approach bloated up Photoshop or something (as if PS wouldn't burst if it got any more bloated), but I spend ALL DAY with my browser open - dozens of tabs often spread across a couple windows. Firefox taking 400MB of my 4GB doesn't bother me considering how much of my time it gets (though since 3.0 and disabling Firebug, it's not usually near that bad), so taking a little more of my system's memory in order to significantly enhance stability is more than worth it.

      Hell, even in my pre-Firefox days (actually, I think this was everyone's pre-firefox days, as I'd made the switch around the time of the old mozilla naming fights), I could almost emulate this by digging for that old setting somewhere in the bowels of explorer preference to make each IE6 window run it its own explorer.exe process. And as you might expect, the system as a whole became fantastically more stable upon doing so. IE6 was (and still is) as crash-prone as ever, but it wouldn't take out my other browser windows nor the main GUI process when one took a nosedive (the decision to make the browser and the desktop run in the same process by default has always been well outside the grasp of my understanding). In any case, that should have been a tip-off that each tab should have its own process. To be fair, that setting is so buried that I'm probably one of about five people in the world to have used it (hell if I still know where it is), but there was still an important lesson there.

      --
      How are sites slashdotted when nobody reads TFAs?
    24. Re:lite by lysergic.acid · · Score: 2, Insightful

      i understand that the web has evolved quite a bit over the years--trust me, i know.

      but when you discuss the relative importance of the browser compared to other applications, you still need to look at things in context:

      one of the main benefits of the web as an application platform is that you can start accomplishing previous desktop computing tasks using a thin client. why is that? because with software as a service, all of the data processing is done server-side. all your browser needs to do is render the presentation, everything else is run on the web server.

      but you're absolutely right, even web UIs have become much more involved; today's web apps/interfaces are a lot more interactive, and significantly more responsive. some of this is due to increased capabilities/complexity of the desktop browser. however, much of this is also because the actual content to be rendered by the browser's layout engine is much more complex and resource-intensive.

      it's like watching a QuickTime video in your browser, or playing a Flash game. the actual content is much more resource intensive, just as a Web 2.0 interface with lots of div layers, images, event-tracking, JavaScript libraries, and not to mention all the CSS style rules that are loaded with each site. but these are resource requirements in addition to the actual browser application. if a browser with a single blank page loaded eats up 1 GB of memory, then how is it going to deal with 10-15 tabs, each loaded with rich web content.

      i've also become quite dependent on a lot of Firefox extensions that help me check my mail and even develop/debug web applications. but these are all superstructures that are loaded on top of the basic browser application. my Firefox installation takes significantly longer to load than a standard installation. if Firefox were to become more of a resource hog, then how would i even run these plugins that i use daily?

    25. Re:lite by Anonymous Coward · · Score: 5, Funny

      slashdot would suck without multiple threads.

    26. Re:lite by AmberBlackCat · · Score: 2, Informative

      I'm thinking they want to keep using Gecko because they made it and want to justify its existence.

    27. Re:lite by sir+fer · · Score: 5, Funny

      3. Threads introduce WHOLE NEW CLASSES of bugs

      ah, so that's why MS is so keen on adopting multi-threaded programs.

      1.Introduce new buggy software

      2.Offer paid support for said software

      3.Eventually fix old bugs but introduce new ones

      4.Profit

      --
      Debian FTW ;o)
    28. Re:lite by Sentry21 · · Score: 4, Insightful

      "Lack of threaded tabs is shameful" - Why? Is it really that big of a deal? Don't open a tab that's going to lock up your browser.

      Other good advice: don't get on a plane that's going to crash. Don't get on a boat that's going to sink. Don't work for a company that's going to go bankrupt.

      "IE developing it" - Oh noes! We need this now, if IE has it then FF needs it! Guess we should go ahead and make FF IE5 complient then, since IE is as well. Forget that standards nonsense, IE has it so we need it.

      When Internet Explorer, of all things, has new, useful, and (dare I say) innovative features that make people's lives easier and more productive, far ahead of Firefox, then either it's time for FF to stop resting on its laurels, or it's time to start giving the IE team some well-deserved kudos. Either way, attention must be paid.

      If you're encountering enough lock-ups to cause you to need to be able to end a single tab's process regularly (which is pretty hard to do in Chrome with all the tabs having the same process name mind you) then have fun with your threaded tabs. Me, I'm just not going to open sites that are likely to lock up my browser. There aren't many out there, I haven't seen a single one in a couple of months.

      Good thing Chrome itself includes a process manager that will let you end a specific process based on what the name of the tab is, how much memory it's using, how much bandwidth it's using, and so on. Pretty keen.

      Your post reads like so much 'LA LA LA I CAN'T HEAR YOU!' that I'm forced to wonder why your emotional attachment to Firefox is so deep. Seriously, it's just a browser, lighten up.

    29. Re:lite by anothy · · Score: 2, Informative

      threads needn't be hard, it's just that most of the popular models for working with them suck. check out C. A. R. Hoare's work with CSP and some of the modern languages influenced by, or modeled on, it. my personal favorite's Limbo, but there's a good library for C using the model, and it shows up in places like Occam and Erlang's process model. the right concurrency model just makes a world of difference.

      you're still right that they're not magic bullets and they have a host of new issues to consider (although they make a whole host of other ones go away, and can be much friendlier in the right model).

      --

      i speak for myself and those who like what i say.
    30. Re:lite by h4rm0ny · · Score: 2


      I'm thinking monoculture is bad so I'm all for a variety of different rendering engines. Though I have no informed opinion on the relevant merits of either. When I use Firefox 3 (quite often), it has performed well. Though that said, I also use Konqueror quite a lot which has the original engine that WebKIT was forked from (KHTML) and I like it.

      But basically this whole "story" is a meaningless attempt to generate hype for Google's browser and troll for post-high arguments.

      --

      Aide-toi, le Ciel t'aidera - Jeanne D'Arc.
    31. Re:lite by dargaud · · Score: 2, Funny

      Thread programming is HARD!

      Unless you do it in a real programming language like Ada or Erlang, running on a real message-passing OS like BeOS, Plan9 or QNX...

      --
      Non-Linux Penguins ?
    32. Re:lite by aldousd666 · · Score: 4, Insightful

      In Chrome, they're not threads. They're processes. It's like launching each as a separate app. There won't be any locks, deadlocks, contention, etc, any more than there is for your copy of Firefox and IE running at the same time. And when you kill one process, all it's memory space goes back onto the free pile, and wont' become fragmented.

      --
      Speak for yourself.
    33. Re:lite by encoderer · · Score: 3, Insightful

      Allow me to return the favor..

      1. FF3 Has never crashed on you and Chrome has. You said you've used FF3 for "over a month." That means you weren't using it in Beta. Chrome is still Beta. Apples meet Oranges.

      2. "Don't open a tab that's going to lock up your browser." Wow. You know, you're right. No reason for modern OS's to use protected memory. Lets all go back in time 20 years and use shared memory. After all, don't run an app that's going to lock your OS.

      3. "Guess we should go ahead and make FF IE5 complient then" You can just read about this one on wikipedia.

      4. "pretty hard to do in Chrome with all the tabs having the same process name mind you" ... huh? The chrome task manager uses the page title as the process name. Click on the page title you want to kill, press "end process" and you're done.

      5. "There aren't many out there" You're on one right now. The new discussion system here has locked up FF2 on my system dozens of times. It doesn't happen as much anymore, but it still does when there's >500 comments and I'm reading at +1.

      6. The truth is, having one process per web application makes sense. 20 years ago OS's transitioned from cooperative multi-tasking and shared memory space to preemptive multi-tasking and protected memory space. That change allows us to do everything we take for granted now, although it probably wasn't NECESSARY to meet the needs of the time.

      Google is correct: Most of the "websites" we love and use every day are actually web applications. And when you're running 5 applications in one process, you're right back into the 1980s world of cooperative multi-tasking. And in FF3 if one tab decides to throw a JS alert() box, that thread is no longer "cooperative" and all JS execution on the other 4 tabs has stopped.

      And no, today's applications aren't yet at the point where they NEED their own process. But who knows how web app development could be retarded by not giving developers the kind of environment that has proven successful for Win32 development.

      The truth is that you'll probably see this in FF4. It IS the next major leap in browser tech. Tabs took us from dos-era one-page-at-a-time browsing into a Win3.1 era of "almost multitasking."

      Now we're about to enter the "NT era." No use fighting it.

    34. Re:lite by jhol13 · · Score: 4, Informative

      There won't be any locks

      The difference of threads v.s. processes has nothing to do whether there are locks or not.

      If you have a shared resource you must use locks - no matter if you use processes or threads.

      I do not know about Chrome but I'd imagine it does not use shared resources (separate windows, sockets, etc.) which may or may not be a good thing (share cookies of several tabs?). Or maybe it locks only for a (provably) short time ("getGlobalCookie")?

  3. Heterogeny by Just+Some+Guy · · Score: 5, Insightful

    Variety is the spice of life. If every browser used the same engine, there'd be no competitive spirit to improve it. Besides, when was a monoculture ever a good thing?

    I've been using Konqueror for my primary browser for several years now, but still respect the Mozilla group and wish them the best of luck. As long as everyone follows the standards (which the Open Source browser folks have excelled at), the more the merrier!

    --
    Dewey, what part of this looks like authorities should be involved?
    1. Re:Heterogeny by Alien+Being · · Score: 2, Interesting

      You already said it, so I'll just second the thought. When there's only one way to look at the web, the web is dead.

      I use Firefox primarily because of a few plugins I use a lot. Konqueror seems to be a better renderer and its UI blows everything else out of the water.

      I keep hearing about something called Internet Explorer, but it seems to be less of a browser than a vector for malware.

      Pointy-haired-bosses used to say that the browser wars are over and MS won. They have no idea how wrong they were.

    2. Re:Heterogeny by Darkness404 · · Score: 2, Informative

      Ummm... If you develop for Gecko, webkit and presto based browsers will usually render the page correctly. You usually only need to make more than one version of the page to work with IE.

      --
      Taxation is legalized theft, no more, no less.
    3. Re:Heterogeny by mollymoo · · Score: 5, Insightful

      You do know the standards allow you to render things in slightly different ways, don't you? It's one of the principles behind HTML. If you need pixel-perfect rendering, the web isn't the right medium. It's not designed for that.

      --
      Chernobyl 'not a wildlife haven' - BBC News
    4. Re:Heterogeny by Enderandrew · · Score: 2, Insightful

      Gecko just had a major two-year-plus makeover, and it still isn't as good as Webkit. One could argue that Webkit of two years ago stacks up reasonably well with Gecko of today.

      Mozilla spent so much time on rendering engine refactoring, and they want to focus on stabilizing 3, and then moving to Firefox 4.

      Moving to a new rendering engine might seem daunting. I don't see Mozilla approaching the project themselves.

      There is a new QT branch of Firefox, but even that isn't a proper QT branch. It uses QT widgets, but QT is integrated with Webkit, provides its own JS implementation, etc. I'd love to see an outside team fully develop a QT/Webkit/Xulrunner fork of Firefox that allows me to use Firefox extensions on top of a Webkit rendering engine.

      --
      http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
    5. Re:Heterogeny by mollymoo · · Score: 4, Insightful

      Why do we need it now? Because many so many designers are control freaks stuck in the days of print and can't adjust their mindset? Resolution independence is coming to every major OS in the next few years. The web is viewable on everything from mobile phones to conference projection screens. Pixel-perfect rendering for a medium designed to reach those devices and everything in between is an utterly, utterly stupid idea.

      --
      Chernobyl 'not a wildlife haven' - BBC News
    6. Re:Heterogeny by localman · · Score: 2, Interesting

      As a has-been web developer and regular web user, I'm going to suggest that the advantages of having many browsers (or more specifically, rendering engines) is largely overstated.

      I don't see that browsers have made any wondrous leaps of progress due to competition. In fact it seems that competition has stymied progress at times, as browsers had to attempt supporting incompatible features that grew out of attempts to one-up the competition. Companies that develop websites have to waste a lot of resources on testing, which would benefit the user more if spent on UI or other types of development. Either that or they _don't_ spend the resources on testing so customers are variously frustrated as no one browser handles all sites correctly.

      Flash is an example of something that seemingly progressed well, perhaps faster than browsers, while having essentially no competition.

      So yeah, I understand that in some cases competition is a benefit, but not always. I think interoperability needs can sometimes trump the advantages of competition. I'm not sure I believe competition benefitted browsers or the web.

      Of course I've been saying for a while that MS should pick up either Gecko or WebKit and not create another rendering platform. But nobody seems to agree with me except for Google :)

      Cheers

    7. Re:Heterogeny by bigstrat2003 · · Score: 4, Insightful

      Because it's impossible to design something which looks really good without having control. Wanting control doesn't make you a control freak, wanting control without reason does. Web designers have excellent reason to want control.

      --
      "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
    8. Re:Heterogeny by Just+Some+Guy · · Score: 4, Insightful

      As a current web developer, I develop with KHTML. When I like it, I verify that it looks the same under Gecko (and it always does). If it's a major change, I'll check it under MSIE and screw around with the CSS until IE manages to display it without barfing. I don't bother testing with Opera anymore because I've never once seen it fail on a valid page that renders under KHTML - it's just kind of assumed that it will work.

      So with all the HTML engines out there, you only have to test two camps: MSIE and everything else. Adding another standards-compliant engine wouldn't increase my workload one iota.

      --
      Dewey, what part of this looks like authorities should be involved?
    9. Re:Heterogeny by MightyYar · · Score: 2, Insightful

      When I wear my web designer hat, I can almost agree with you. The various browsers can be pretty frustrating.

      As a web USER, I couldn't disagree with you more. I like being able to bump up my font size. For the most part, what you are describing sounds like those sites that take a big flash file and put an html wrapper around it. I HATE those sites, but if you need pixel perfect - go for it.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    10. Re:Heterogeny by mollymoo · · Score: 5, Interesting

      Your post is a perfect example of why designers constantly need to be kept in check. Looking really good is an admirable aim but is not an "excellent reason" to harm functionality. A designer's role is secondary to function. Making something which just looks good is an artist's job, not a designer's job. Designers have to make things which look good and work well. Failing at either one is a total failure. Many designers are frustrated artists and would love to be able to just make something pretty, which would be so much easier if the damn thing didn't have to work too.

      Car designers hate having to have boots (trunks) which can hold a set of golf clubs, because it means cars have to have high, fat arses. They hate having to cater for tall people in the back seats because it ruins the roof line. They hate laws about how high your bumpers (fenders) need to be, the fact that an airbag makes the steering wheel fat and the need for fat pillars so the occupants don't get crushed to death in a rollover. The car industry is more mature than the web design industry and there's a lot more money at stake, so the wannabe-artists get weeded out, re-educated or (only they're phenomenally talented artists) set to work on concepts which don't really need to work properly. We need to get rid of the wannabe-artists from the world of web design too.

      Sorry if designing for the web is a hard job, but the notion that the web should get harder for everyone to use so it's easier for a few wannabe-artists to design for is only appealing to wannabe-artists.

      --
      Chernobyl 'not a wildlife haven' - BBC News
    11. Re:Heterogeny by santiagodraco · · Score: 2, Interesting

      Ok, time for an education.

      Comparing the capabilities of the different rendering engines with the INTENT of the content designer is, to use your words, utterly stupid.

      DESIGNERS build pages to look ONE way, not "oh I want it to look like this on Firefox, and this on IE, oh oh and this on Chrome!" That's not how it works. Speak to a designer and you'll see.

      So, the fact is, in an ideal world rendering engines will ALL do it right, which is to say the SAME and according to the STANDARDS which if are bad get CHANGED to render properly.

      That is how it works and how it should work. The fact that it doesn't IS a problem and needs corrected, and it's improving all the time because developers don't think like you do... that this is some kind of "my way or the highway" kind of thing.

    12. Re:Heterogeny by 0123456789 · · Score: 3, Insightful

      Yeah, except requiring things to be rendered the same way all the time isn't "harming functionality", it's common sense. In fact, where exactly does one get off saying that you have a "standard" if there's any room for interpretation at all?

      A screen reader for the blind has to interpret standards compliant HTML differently to a visual web browser. The point of allowing clients to interpret the standards differently is that they can present the content in the way most suitable to the user, not the designer. We, the users, are more important than you, the designers.

    13. Re:Heterogeny by naasking · · Score: 2, Insightful

      If you want guaranteed pixel-perfect control, use images. HTML allows you that much.

    14. Re:Heterogeny by bigstrat2003 · · Score: 2, Interesting

      As a web USER, I couldn't disagree with you more.

      Fair enough, but be aware I am speaking from my perspective as a user, not from a developer's perspective (I haven't done any web development since I toyed around making web sites back in the IE4/Netscape 4 days). When I go to a site, I want it to look the same on any reasonable combination of browsers and platforms. It's understandable if the mobile phone version isn't the same as the regular version, but the regular version had better damned well look the same whether I'm on a computer that uses Firefox, IE, Safari, Chrome, Konqueror, whatever. Anything less is unacceptable to me, as a user. I highly value consistency.

      --
      "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
    15. Re:Heterogeny by FlyingBishop · · Score: 2, Insightful

      The idea that we can create a standard that makes a page work both functionally and prettily on both an iPhone and a quad-core machine with a 30 inch display is just stupid.

      Layouts must be open to change. The disparity between iPhone and 30 inch display is impassable next to the disparity between even IE5 and Webkit.

    16. Re:Heterogeny by fabs64 · · Score: 4, Insightful

      If your website renders exactly the same on my 2.5" mobile phone screen as on my 22" widescreen desktop monitor we have a serious problem.

    17. Re:Heterogeny by xenocide2 · · Score: 2, Informative

      Then I suggest you look into forms and faxes, because it's impossible. Even a problem as simple as screensize means a difference in layout. PDF and ps solved this whole perfect layout thing, but as it turns out, it's damn near impossible to write for.

      --
      I Browse at +4 Flamebait

      Open Source Sysadmin

    18. Re:Heterogeny by mollymoo · · Score: 3, Insightful

      "You know that the standards allow me to render things in slightly different ways, don't you? It's one of the most abused principles behind HTML. if you need pixel perfect rendering web designers like me aren't the right targets. I don't design for that."

      I'm a (former) web developer, not a designer. The only way to achieve pixel-perfect rendering is if your entire page is one big image. Can you make sure every line of text wraps at the same point on every browser on every platform with every combination of installed fonts and user-selected options? I'd be amused to see you try.

      The most effective way I've found to design sites is for me to sit down with a designer, have them sketch and me point out what should stretch, what will change on different browsers, what they can control and most importantly what they can't control. After a few iterations of this with a designer they're generally pretty good at designing flexible layouts which look good, comply with standards and degrade properly. Designs which work on small and large screens. Designs which still look OK with images turned off. Designs which work if the user turns off CSS. Designs which work when a visually impaired person makes the fonts 4x the size or uses their audio browser. The better ones "get it" and relish the challenge and often go on to become highly competent at HTML and CSS so they can do all the front-end work themselves.

      I was amazed how many still (this was a couple of years ago, but the web was a decade old by then) didn't know this stuff, they just worked in Photoshop and handed off designs to be coded up, expecting it to always look exactly they way their PSD did. Perhaps things have improved drastically in the past couple of years and the majority of web designers have added a text editor to their armoury, but judging by many of the sites I see that still hasn't happened.

      --
      Chernobyl 'not a wildlife haven' - BBC News
    19. Re:Heterogeny by SanityInAnarchy · · Score: 2, Informative

      Flash is an example of something that seemingly progressed well, perhaps faster than browsers, while having essentially no competition.

      It's not quite what it seems to be...

      You make some interesting points, and your point about Flash isn't entirely invalid, but Flash is also a great example of the sheer lunacy of pinning any kind of "web standard" on a single closed implementation from a single vendor.

      Let's start with the basics: Flash is slow. Version 10 might finally get hardware acceleration -- OpenGL has been available for how long, again?

      Firefox already uses Cairo, a cross-platform vector graphics engine, which already has some acceleration, and is having more added to it -- but, being its own library, Cairo should be able to benefit other projects than Firefox. Flash hardware acceleration only benefits Adobe products.

      Flash video is an absolute nightmare. It's probably the worst possible way to give me a movie to watch. All the controls must be done in Flash, or in the surrounding HTML -- which is great for particularly control-freak designers, but sucks if I want to, say, attach my own controls? (Think Apple Remote on a Mac, or just a global hotkey on Linux.) It's slow -- absurdly so, on the order of ten to a hundred times slower than any other video player I could find.

      Yes, that slow. I compared with mplayer and VLC on Linux with Adobe's Flash player. I used the Video Downloader extension to grab the FLV. Turns out, mplayer and VLC use maybe 2%, if I go fullscreen. Flash uses 50%, even in a tiny YouTube window, and is unwatchably laggy fullscreen.

      And, you see, if you give me any other format -- Windows Media, Quicktime, mpeg, Theora, Dirac, whatever -- it'll load up whatever player I decide to plugin to my browser. If one sucks, I can use another.

      But see, Flash has no competition, and gives me no source code, which means that when things don't work well, I'm SOL.

      I believe Gnash is finally good enough to watch YouTube, or getting close -- but keep in mind how many years Flash was out, and how much catching-up Gnash has to do. And Adobe's not helping -- the spec is still proprietary; you can get it under a license which basically lets you do anything you want with it, except develop a player. (WTF? Why anything but a player? Don't they make their money from the server products and creators anyway?)

      Now, it's true, Flash was able to include shiny new features faster than browser. But when browsers do include those features, they get done right. Look at the HTML5 video tag -- not quite as many features as Flash, but out of the box, it'll talk to Javascript (so you can write those controls in AJAX), it's trivially easy to add to a page, somewhat more lightweight, and it's entirely up to each browser how they want to implement it -- nothing stopping you from giving the user some playback controls of their own.

      Safari already has it -- ties into native QuickTime, I'd guess, which means it should be fast for h.264 and such.

      Of course I've been saying for a while that MS should pick up either Gecko or WebKit and not create another rendering platform.

      If MS could get it right, I'd say they should go ahead and keep using their own, or develop a new one. The more the merrier.

      Where we see problems are when MS gets it horribly wrong, and the entire fucking industry has to pay for their mistakes.

      --
      Don't thank God, thank a doctor!
    20. Re:Heterogeny by tomhudson · · Score: 5, Informative

      Yeah, except requiring things to be rendered the same way all the time isn't "harming functionality", it's common sense. In fact, where exactly does one get off saying that you have a "standard" if there's any room for interpretation at all?

      It's not common sense. The HTML standard doesn't say, for example, how form controls are supposed to be rendered visually - that's the job for either the browser or the underlying platform.

      Ditto with fonts. A 12pt font can be one size on your device/platform, and different on someone else's.

      Ditto with web pages themselves - the visual rendering is specified IN THE STANDARDS as being implementation-dependent. For example, a screen reader is free to render web pages as audio instead of glyphs and images.

      Read the standards. They're posted at w3c.

      Then learn proper design. A good workman doesn't complain about his or her tools.

    21. Re:Heterogeny by mollymoo · · Score: 2, Insightful

      Yeah, except requiring things to be rendered the same way all the time isn't "harming functionality", it's common sense. In fact, where exactly does one get off saying that you have a "standard" if there's any room for interpretation at all?

      Sorry if designing for the web is a hard job, but the notion that the web should get easier for everyone to use (because we don't have to adjust to any differences in different browsers) is only appealing to everyone.

      Your concern is touching, but I'm not a web developer. Also, fixed that for you.

      I assumed you were a web designer rather than web developer, but either way I was wrong. I think I get what you're saying now though. You want what you would see if you borrowed my computer to be consistent with what you see when you use your computer. Sorry, but my needs are not consistent with your needs and our experiences shouldn't be consistent either. If you want a consistent experience, you can have it - just don't change things at your end. Demanding that your experience be consistent with mine simply for the sake of consistency, which is what your desires amount to, is wholly unreasonable.

      Incidentally, if you want to strongly emphasise something, the correct tag is <strong> (which means "strongly emphasise this", typically rendered as bold in graphical browser, but will be emphasised by audio readers, text-mode browsers etc. as well). The <b> tag means "make this bold if you can, but you're free to ignore this tag if you can't" and the emphasis may be lost in an audio or text-mode browser. An extremely common mistake (it's not always a mistake to use <b>, but in your case it was as loss of the emphasis would change the semantics) and one which displays the widespread misunderstanding of the design of HTML and why it works the way it does. It's inconsistent because it's better for conveying information that way.

      --
      Chernobyl 'not a wildlife haven' - BBC News
    22. Re:Heterogeny by ceoyoyo · · Score: 4, Insightful

      Actually, I think a design that hangs off the edge of my browser window because I've got the window set narrower than 800 pixels is pretty ugly. I also think text too small to read is ugly, and gets really ugly when I force it to increase size.

      Yet a web page (even Slashdot does it) that lays itself out to fit MY choices is beautiful.

      The standards allow a little bit of wiggle room, but the user being in control of the "page" you're drawing on and to a certain extent the printer as well, adds a LOT more variation. If you take the control freak approach you will have ugliness. Possibly with the exception of people who use Windows and are used to their browser expanding to fill the whole screen.

    23. Re:Heterogeny by mollymoo · · Score: 4, Insightful

      You've got it backwards. The "large fonts" option solves problems. Specifically, it solves some of the problems faced by visually impaired users and users with high-resolution displays. These are real problems faced by real people who pay real money for software. The problems lie not with the "large fonts" option or HTML's flexible layout, but with the varying needs of users. Catering for these varying needs does cause problems, but don't blame the problems on the tools provided to solve them.

      --
      Chernobyl 'not a wildlife haven' - BBC News
    24. Re:Heterogeny by GotenXiao · · Score: 2, Insightful

      I guarantee even the best workman will complain about their tools if said tools are unable to complete the task they are supposedly meant to do.

      --
      Goten Xiao
    25. Re:Heterogeny by iNaya · · Score: 2, Informative

      A 12pt font should not be a different size on two different devices. A point is a true measure of size, i.e. 1 point is exactly 1/72 of an inch. An inch should be the same size on all devices, as should a point, a cm, a mm, etc. If you want sizes that ARE different on different devices, you should use a non-real-life dependent sizing, like em, or even pixels.

      --
      The Unicode standard is over 20 years old. Why does Slashdot not support it?
    26. Re:Heterogeny by Peeteriz · · Score: 2, Insightful

      Yeah, well, that's the point - but if the designers want to match font size exactly with an image X pixels high, then they are setting up a failure.

  4. first appropriate use! by d34thm0nk3y · · Score: 3, Interesting

    Holy begging the question Batman!

    Yes, I did check Wikipedia to make sure a million angry slashdotters weren't going to kill me for its usage.

    1. Re:first appropriate use! by Vectronic · · Score: 2, Funny

      I'm a beggar, you insensitive super-hero!

  5. The real question is ignored here... by creature124 · · Score: 3, Insightful

    This article ignores the real question: Why change? I personally see nothing 'outdated' or 'bloated' about Gecko, and there is no point in changing if Webkit provides no real advantage.

    1. Re:The real question is ignored here... by bigstrat2003 · · Score: 4, Insightful

      Did you RTFA, or just TFS? Because I RTFA'd, and the article specifically says that there's no reason for Firefox to switch engines. TFS is full of it, basically, so I could understand if you got the wrong idea from that.

      --
      "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
    2. Re:The real question is ignored here... by PunkOfLinux · · Score: 4, Interesting

      I think it's more that WebKit is the new buzzword in browser dev. Plus, Apple uses it, so it's *obviously* the holy grail. I think Gecko is fine; if it's the bloat, maybe the competition from WebKit will whip it into shape.

    3. Re:The real question is ignored here... by mattack2 · · Score: 2, Informative

      Ugly UI? Safari generally(*) uses the standard OS-supplied features.

      That's specifically one reason why I don't generally use third party GUI browsers anymore (I use lynx or links once in a rare while). I like the idea of Firefox, but the UI is just "weird". It's close to, but not exactly the same as the real OS supplied UI. Maybe there is a variant of it that uses standard UI nowadays, I'm not sure. It at least used to be 'skinned' to be almost-but-not-quite the real UI, where things like control tracking don't work the way everything else does.

      So I guess that's another good reason there's choice. We seem to like different browsers for partially the same reason the other DOESN'T like the browser.

      (*) One specific example where it does not, is the 'tab bar'. Safari doesn't use a regular tab control, which I wish it did.

    4. Re:The real question is ignored here... by John+Millikin · · Score: 2, Informative

      This article ignores the real question: Why change? I personally see nothing 'outdated' or 'bloated' about Gecko, and there is no point in changing if Webkit provides no real advantage.

      Have you ever tried to embed Gecko into an existing program? It's an absolute nightmare. All popular Gecko-using applications are actually written *in* XPCOM because it's easier to write an entire browser in XUL and Javascript than try to bind Gecko to a sane language like C or Python.

  6. Because... by not+already+in+use · · Score: 4, Informative

    It's required for the XUL based interface?

    --
    Similes are like metaphors
  7. Woah... by JustinOpinion · · Score: 5, Insightful

    Why is Gecko worth keeping if it is outdated and bloated?

    You've begged the question, there. The fact is that Gecko isn't outdated and bloated. Mozilla has kept the code up-to-date. They've improved rendering and javascript performance remarkably in recent Firefox releases.

    Personally, I'd rather see alternatives being independently developed and improved; all the while competing with each other for mindshare and technical superiority. The alternative, of relying on a single rendering engine for all browsers, is a bad idea. History has taught us it will lead to stagnation and quirky (rather than standards-compliant) rendering.

    1. Re:Woah... by Anonymous Coward · · Score: 5, Funny

      You've begged the question, there

      GOD DAMNIT! No, Begging the question is a logi... wait, you used it RIGHT?

      *reads it again*

      Okay... WHO ARE YOU AND WHAT HAVE YOU DONE WITH SLASHDOT!?

    2. Re:Woah... by QuantumG · · Score: 4, Interesting

      Ya know what I'd like to see? Standards revision. It's great to tote out "standards compliance" as the holy grail, but the problem is that there are plenty of things that the standard just does not define.. and those things get discovered by web developers who work around the issues and it never gets back to the standards drafters. For example, how do you prefetch images? For a long time there was no standard way. Now there's the link tag but it's optional.. yeah, that's right, the standard says that a browser can optionally implement the tag.. what kind of standard is that anyway? So no-one used it. Instead, they use the img tag and set the width and height of the image to 0.. unfortunately, the standard never said "if the width of the image is zero, thou shalt not render anything." Yeah, yeah, I know, should be implied, by some browsers render a white pixel and figure that's good enough.. the fact that this isn't good enough should be fed back to the standard and made explicit.

      Thankfully the interest in Acid tests has taken on this role. Unfortunately even a lot of stuff that is in the acid test never makes it back to the standard, so browser developers have to reverse engineer the Acid test!

      --
      How we know is more important than what we know.
    3. Re:Woah... by McDutchie · · Score: 2, Insightful

      WebKit has shown it's chops in fast rendering, small size, portability, etc. Everyone should just adopt it. Let it be the standard.

      Remember when IE was the de facto standard? Remember how it stagnated and we were stuck with IE6 brokenness for years until Firefox came along and kicked their ass in gear? That's why we need competition. Having one single dominating platform will result in stagnation.

    4. Re:Woah... by mixmatch · · Score: 4, Insightful

      You're insane for comparing WebKit with IE. IE is not open for development, which is why it stagnated.

    5. Re:Woah... by Kesch · · Score: 4, Funny

      You must be old here.

      --
      If this signature is witty enough, maybe somebody will like me.
    6. Re:Woah... by CastrTroy · · Score: 3, Insightful

      You're never going to get the same results out of 2 different computers, even if they are using the same rendering engine, or even the exact browser and OS. Monitor DPI can greatly affect the way things are displayed. Font sizes change completely especially when they are specified as points. Some users turn up the minimum font size because they can't see tiny fonts. Some monitors, especially 6 bit LCDs have really poor color rendering, and have problems with colors without much contrast. On my work monitor at work, #E7E7E7 looks exactly the same as white. There's tons of other things that the user can adjust that determine how your HTML+CSS will be displayed. If you think all the users of your site are seeing the same thing, you are quite naive. I think having different browsers is a good thing. Because it means developers at least look at the page until a few different environments. If there was only one browser, they would only check in their own browser, and assume it would look fine for everyone else. Which is definitely not the case.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    7. Re:Woah... by TheDugong · · Score: 3, Funny

      Probably still uses email too.

    8. Re:Woah... by SanityInAnarchy · · Score: 3, Insightful

      Now there's the link tag but it's optional.. yeah, that's right, the standard says that a browser can optionally implement the tag.. what kind of standard is that anyway?

      One that makes sense?

      Out of curiosity -- when was the last time you used lynx? Or links2? Or w3m? Browsers don't even have to implement images at all.

      Seems to me, about the best they can do is define what the behavior should be when implemented. So, I'd suggest just using the link tag -- it's not like your page will break if it's not implemented, it'll just be slightly slower.

      And I've found that prefetching images isn't useful, most of the time. Let the browser cache do its job.

      Thankfully the interest in Acid tests has taken on this role. Unfortunately even a lot of stuff that is in the acid test never makes it back to the standard, so browser developers have to reverse engineer the Acid test!

      Aren't the Acid tests documented?

      Sure, it's easier if you only have to read the standards, but if you're just looking for a higher Acid test score, that seems like the obvious solution.

      --
      Don't thank God, thank a doctor!
    9. Re:Woah... by Just+Some+Guy · · Score: 2

      More like Apples to steaming piles of horse crap.

      --
      Dewey, what part of this looks like authorities should be involved?
  8. Gecko, Mozilla and XPCOM by daceaser · · Score: 5, Interesting

    The whole of the Mozilla code tree is tied into a framework called XPCOM. It is a Cross-Platform reimplementation of Microsoft's COM. The XPCOM influence is extremely pervasive throughout the whole of the Mozilla/Firefox/Thunderbid/Sunbird/Gecko code trees.

    WebKit would not fit in very well with the existing ecosystem because it does not tie into the XPCOM framework which is used to tie all of the Mozilla group's projects together. A lot of the potential performance benefits of moving to WebKit would be lost because of all the bridging between WebKit and XPCOM that would be required.

    --
    -- There are three kinds of mathematicians: those who can add and those who can't.
    1. Re:Gecko, Mozilla and XPCOM by billnapier · · Score: 2, Informative

      Whoa there buddy. Close but no cigar.

      XPCOM is by no means a re-implementation of MS COM. They share some basic ideas (and so does CORBA, if we're going that far), but "reimplementation" is not a word I would use.

      Another thing to point out is that you can bridge almost any API into XPCOM. XPCOM and WebKit isn't an XOR, you could (probably) provide XPCOM interface to WebKit

    2. Re:Gecko, Mozilla and XPCOM by DrXym · · Score: 2, Informative
      XPCOM is just a way of defining an abstract interface to an object. You say what methods the interface has in .idl, compile it and out pops the equivalent C++ pure virtual class and methods as well as a type library. These you just implement on a class as you would any base class. Calling an XPCOM interface implemented by a C++ object is exactly the same as calling a direct method on the object. The compiler even spits out a stub implementation of the class making it easy to cut and paste any boiler plate for the object.

      One distinct advantage of using XPCOM is that the idl is language neutral. There may be occasions where you don't want to implement an object in C++, or that object resides in another process or thread. XPCOM allows you to implement an object in JavaScript or any other language with a binding. XPCOM also has marshalling code so the caller and callee could even be running in different threads. Neither even cares what the other is implemented in because XPCOM takes care of everything. This is why a substantial amount of Firefox is actually implemented in JavaScript and the rest is largely platform neutral.

      Yes there are occasions where XPCOM is not suitable. XPCOM objects are memory allocated and don't live on the stack (although you can cheat in some circumstances). There can also be an overhead in creating some objects (e.g. from a class id or string), and there is small overhead associated with querying the interface and reference counting. This means XPCOM is best suited to long lived objects, especially ones that represent or are passed between subsystems. It isn't suitable for temporary objects or objects which are used in very tight loops such as string classes and so on.

      Anyway yes you could wrap WebKit and the overhead would likely be miniscule. Create an interface to represent whatever WebKit object you want to encapsulate and then do the minimal marshalling to connect the two worlds. After all, Safari manages it in Objective-C. I really don't see any big deal doing the same for XPCOM. The issue of course is why bother. Gecko is a robust, fast, mature and fully featured rendering engine. What point is there in junking it and stuffing another engine in instead?

      Personally I see very little about Chrome (and I've run it) that justifies why they bothered with WebKit to implement it. Chrome could have been implemented in chrome (XUL) fairly easily from what I've seen.

  9. No chrome until adblock and flashblock by Anonymous Coward · · Score: 2, Insightful

    Sorry, chrome is cute, but until someone implements adblock and flashblock plugins for it, it stays idle.

    1. Re:No chrome until adblock and flashblock by stephanruby · · Score: 2, Informative

      So port them? I doubt it'd be super hard for a motivated user to port them...

      You're wrong. Some plugins and extensions have been ported to Webkit, but the thing keeps on crashing. I'm sure this will change, but Webkit is just not a stable platform to extend right now.

  10. It's NIH by coolgeek · · Score: 2, Insightful

    The Mozilla crew are still pissed at David Hyatt for choosing Konqueror over Gecko as "the best open source rendering engine available" when he defected from Mozilla to Apple.

    That's why they will never consider WebKit. Too much pride.

    --

    cat /dev/null >sig
    1. Re:It's NIH by Whiney+Mac+Fanboy · · Score: 3, Insightful

      That's why they will never consider WebKit. Too much pride.

      Not because the enormous investment in XUL - including the wealth of third party themes / extensions / etc?

      Webkit & Gecko have different goals & strengths. It would be impractical for firefox to switch. This a pragmatic decision & nothing to do with pride.

      --
      There are shills on slashdot. Apparently, I'm one of them.
  11. What is the writer talking about? by ya+really · · Score: 2, Insightful

    He's going from talking about rendering engine (webkit/gecko) to talking about how great the features are in Chrome (not the rendering engine, the browser). Then back to rendering engine (gecko). What exactly is your topic?

    Just a hunch, but the writer doesnt sound intelligent enough to know the features of a rendering engine.

  12. Makes me wonder, too by melted · · Score: 2, Insightful

    Recently, I'm seeing some indirect evidence of memory corruption in FF. After a while it fails to download images or connect to the network, for example. You restart the process and it all works like buttah again. Heck, Internet Explorer is more stable than this.

    I guess fixing hard to repro bugs is far less glorious a job than bolting on a new JS interpreter (even though the old one was OK to begin with) or tweaking the UI.

    1. Re:Makes me wonder, too by Chrisje · · Score: 2, Insightful

      Now as a support technician I shudder at your post. It lacks any specific information and therefore relevance.

      1) What version of FireFox are you talking about?
      2) What plug-ins are you running?
      3) What platform are you running it on?
      4) How is that patched?

      I'm running an updated FF3 on Vista (my employer makes me use the latter) and have IETabs, some skin, FireFTP, Downthemall, PDFDownload and Download Statusbar installed. This whole construction works flawlessly all day every day, and you could argue my browsing requirements are on the heavy side.

      It's not a bug / class issue until many users report the behaviour under particular circumstances. So until a bug is found, the time is well spent on bolting a new JS interpreter onto the thing and tweaking the GUI.

  13. Not really a serious question. by fuzzyfuzzyfungus · · Score: 5, Insightful

    While it is certainly true that the mozilla codebase has a rather sordid past, its trajectory has been extremely encouraging(particularly given that it essentially includes its own cross platform widget set, used by mozilla apps and a few others). Javascript performance is competitive with the best, memory performance has steadily improved, and rendering support is quite credible.

    I can understand why a third party, starting a project from scratch, might be disinclined to use Gecko; but Gecko seems to be very much on the worthwhile side of the "improve vs. scrap" question.

  14. Um, are you sure of that? by Estanislao+Mart�nez · · Score: 5, Insightful

    Because it's bloated as a single app, but less bloated then opening up a new process (or more than one!) for every single web page loaded. Until every computer in use has multi-gigabyte memory, including handheld devices, there will be a need for something lighter than webkit

    First of all, WebKit itself doesn't impose the multi-process model that Google's Chrome uses. For example, Safari uses WebKit, and it runs as a single process.

    With that cleared up, now, here's the more important flawed assumption in your post: that having the broswer use n processes to display n pages will require n times as much memory as doing it all with n threads in one process. That's far from true, because such a browser can be architected so that the processes use shared memory for all shared resources and state.

    The multi-process architecture will carry additional memory overhead, but done correctly, it will scale up much better than linearly. The real costs are the costs of process creation and switching in the OS, plus the costs of the inter-process communication method. Using shared memory for the latter is cheap, but it can potentially make one process bring down the others, defeating the purpose of isolating each page into a process; it's a balancing act, and the memory overhead really depends on what tradeoffs one picks here.

  15. Amendment by Estanislao+Mart�nez · · Score: 5, Insightful

    The multi-process architecture will carry additional memory overhead, but done correctly, it will scale up much better than linearly. The real costs are the costs of process creation and switching in the OS, plus the costs of the inter-process communication method. Using shared memory for the latter is cheap, but it can potentially make one process bring down the others, defeating the purpose of isolating each page into a process; it's a balancing act, and the memory overhead really depends on what tradeoffs one picks here.

    Actually, I take that back. The only real overhead is the OS overhead for separate processes.

    The architectural choice of what memory contents should be shared between processes and which should be private aren't specific to the multi-process architecture. The same choices and tradeoffs exist in a multi-threaded application; you can choose between having each thread have its own copy of some piece of memory (uses more memory, but isolates each thread from the others), or have all the threads share it (uses less memory, but access must be synchronized, and any bugs involving that shared memory may make one thread bring others down).

  16. Welcome to "Standards" by statemachine · · Score: 2, Interesting

    Please do not take this negatively:

    Ya know what I'd like to see? Standards revision.

    And yet, they do revise them by working on and ratifying a new version.

    It's great to tote out "standards compliance" as the holy grail, but the problem is that there are plenty of things that the standard just does not define.. and those things get discovered by web developers who work around the issues and it never gets back to the standards drafters.

    That sounds nice, but you're advocating a moving target. Standards or recommendations would never be finished.

    Now there's the link tag but it's optional.. yeah, that's right, the standard says that a browser can optionally implement the tag.. what kind of standard is that anyway? So no-one used it. Instead, they use the img tag and set the width and height of the image to 0.. unfortunately, the standard never said "if the width of the image is zero, thou shalt not render anything."

    Just because *you* want it, doesn't mean others do.

    Unfortunately even a lot of stuff that is in the acid test never makes it back to the standard, so browser developers have to reverse engineer the Acid test!

    I'm guessing you're a web developer. Therefore, you or your company have a demonstrated interest in the recommendations, which means you can sign up and be a member of the committees and advocate your changes and proposals for the next version of the recommendation.

    I hope this helps a bit to further your understanding of the process.

  17. Wheeeeeee! by maxume · · Score: 4, Interesting
    --
    Nerd rage is the funniest rage.
  18. Re:Why did Google Choose webkit! by Enderandrew · · Score: 2, Insightful

    Google has Android. Apple isn't putting Chrome on the iPhone. End of discussion.

    --
    http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
  19. RTFA (more closely) by nadamsieee · · Score: 3, Informative

    From a technical perspective, Gecko is now very solid and no longer lags behind WebKit. A testament to the rate at which Gecko has been improving is its newfound viability in the mobile space, where it was practically considered a nonstarter not too long ago. Mozilla clearly has the resources, developer expertise, and community support to take Gecko anywhere that WebKit can go.

  20. I prefer democracy. by jbn-o · · Score: 3, Funny

    Speak for yourself, I am a "web developer" (I fail to see how "programmer" doesn't suffice) and I prefer democratic control of software (software freedom) and letting a thousand flowers bloom. Software freedom can be messy but we're better off having that messiness than allowing any one implementation of something to dictate how things work.

  21. Re:Gecko is not outdated or bloated. by Dracos · · Score: 5, Insightful

    IE has had the same rendering engine, Trident, since IE4 (1997). MS may claim significant improvements in standards support, but in reality, they seem to only pick the bugs that have names. After five publicly available iterations (up to IE7), why is their overall standards support at least 25% below, on a feature by feature basis, nearly every other rendering engine?

    Plus, I have yet to hear anything to rebut the rumors that MS simply can't fix Trident because the code is such a mess, and they "don't want to break websites", which is one of the most backwards arguments for anything on any topic.

  22. Mozilla IS Gecko by mysidia · · Score: 4, Insightful

    Gecko is what they developed.

    This is like having an article on Redhat's commitment to the Linux kernel.

    As if they could just arbitrary change their flagship product to use the BSD kernel instead.

    Or like discussing Microsoft's commitment to the Windows platform.

    Just because unix/Linux-based kernels and software are becoming more popular in some circles does not mean that it is conceivable for M$ to drop the Windows kernel in favor of a *IX one.

    If Gecko in Mozilla dies it will be because they have developed a better Gecko, or because Mozilla as a whole has died.

    1. Re:Mozilla IS Gecko by fabs64 · · Score: 4, Insightful

      You don't seriously think FF3's running on anything remotely similar to Netscape 1.0's rendering engine, do you?

  23. And God bless them by XanC · · Score: 2, Insightful

    for getting the kinks ironed out before they hit the rest of us!

  24. That comic doesn't really tell us a lot. by Estanislao+Mart�nez · · Score: 3, Informative

    Separating the browser into one process per tab only helps for the fragmentation problem in the case of memory that is truly private to each process. It doesn't help at all in the case of memory that's shared between processes. If that shared memory is managed as a heap like malloc and free do, it can still fragment. (And it's important to point out that the shared memory doesn't need to be managed like that; a custom memory management scheme tailored precisely to the way it's used could have zero fragmentation.)

    There is no way of knowing the memory and performance costs of the multi-process browser without having a lot more detail about precisely which things are private to each process, and which are shared. The comic does nothing to tell us to what Chrome is sharing and what's private to each process, nor how any shared memory is managed.

  25. Security? by Shadow-isoHunt · · Score: 2, Informative

    Why is WebKit worth switching to when Chrome had five vulnerabilities in two days?

    2008-09-05: http://milw0rm.com/exploits/6367
    2008-09-05: http://milw0rm.com/exploits/6386
    2008-09-05: http://milw0rm.com/exploits/6372
    2008-09-04: http://milw0rm.com/exploits/6365
    2008-09-03: http://milw0rm.com/exploits/6355
    2008-09-03: http://milw0rm.com/exploits/6353

    WebKit isn't touching my machine, thank you very much. Might throw Bunny(the fuzzer) at the codebase, though.

    --
    www.isoHunt.com
    1. Re:Security? by LinuxInDallas · · Score: 3, Interesting

      Reading those it is not apparent to me that they are due to WebKit issues. Are they?

  26. Process-per-tab protects you from rogue JIT by Estanislao+Mart�nez · · Score: 4, Informative

    A thread per tab model does protect you from a rogue Javascript freezing the browser's UI, but it doesn't protect you from a poorly written plugin that does something stupid like dereference a NULL pointer.

    Chrome's doing JIT compilation of Javascript. In this context, separating the broswer into multiple processes protects you from bugs in the JIT compiler that produce native code that makes memory access errors.

  27. Re:Why use GEICO (advertisement) by Eccles · · Score: 4, Funny

    I never heard of Amica until a friend got rear ended by one of their customers.

    Well that's a novel marketing approach...

    Seriously, though, perhaps they save money by not blanketing the airwaves with commercials.

    --
    Ooh, a sarcasm detector. Oh, that's a real useful invention.
  28. Design matters by tjstork · · Score: 4, Insightful

    1. Threads are Hard
    2. Threads are not magic bullets
    3. Threads introduce WHOLE NEW CLASSES of bugs

    Threading is only as hard as a bad design makes them. If you have to share data among threads so much that you have to put locks all over the place, that's really a tell-tale sign that the design isn't all that good to begin with. Really, the best threaded designs are almost like lightweight processes to begin with. Keep the number of points where data must be shared across execution chains low, and everything tends to fall into place.

    --
    This is my sig.
  29. Are processes really that much heavier? by tjstork · · Score: 2, Informative

    The downside is that processes are a lot heavier than threads.

    How much heavier are they? Off the top of my head, the big internal advantage of threads is that they share the same page tables whereas separate processes have their own... but, each thread is still going to have its own stack and its own state block for when its task gets switched out.

    Correct my own stone age knowledge of the Linux kernel, but, aren't threads and processes practically the same thing internally anyway?

    --
    This is my sig.
    1. Re:Are processes really that much heavier? by gbjbaanb · · Score: 2, Interesting

      its more OS overhead - a thread has its own stack BTW, so it can use a lot more than 100k.

      But, what a thread doesn't have to deal with is the interaction with the OS - security permissions, allocating the heap, shared dll loading etc. Multiple threads in a process get to reuse these resources that the process had to create or deal with.

      This is why Windows is traditionally worse at multi-process systems and unit is better: the cost of starting a process on Windows is high, whereas the cost of the same on unix is lower. In both systems, the cost of starting a thread inside a process is quite low however. (but not so low that you can create them all over the place: best to stick to pooling designs).

      Once started, the OS only executes threads - all processes can be thought of as 'process overhead' + 1 thread.

      The big problem with running threads is that you have to handle synchronisation yourself, with processes the OS does it for you, so a poor thread design can be worse performer than a multiple process model.

  30. Which Gecko? by Chris+Snook · · Score: 2, Informative

    I have an old 12" powerbook with 384 MB of RAM. It started gathering dust when I got a much larger laptop for work, since modern ajax-and-flash-heavy websites were really crawling with so little memory, and that's using both Firefox 2 and Safari. When Firefox 3 came out, I heard how much lighter it was, so I gave it a try. Lo and behold, my old laptop had new life! Safari still feels a little snappier when I only have one tab open, but that's a fleetingly rare condition. Gecko isn't just the technology we have right now, it's the vibrant developer community hard at work making it better. WebKit has less ambitious aims, and achieves them well, but Mozilla would be throwing the baby out with the bathwater if they told everyone to forget Gecko and learn how to do that same optimization work on WebKit.

    --
    There's no failure quite as dissatisfying as a complete and total solution to the wrong problem.
  31. Thread INTERACTIONS are hard by SuperKendall · · Score: 2, Insightful

    Haven't done much multi-threaded programming, have you?

    Say, one thread locks a mutex and hangs.

    Whoops! Now all the other threads that want that mutex will wait forever!

    I kind of agree with you, but...

    The whole point was that generally, these separate tabs will have very little need to interact. Your example of a global mutex brings up the question, of why you would have them all after a global mutex anyway instead of pretty much keeping to themselves.

    Obviously something like a memory error or a few other things can bring the whole thing down by bringing down the main process all the threads are a part of. But contention as you raise the issue seems to be less likely than it would be in other kinds of multi-threaded apps where the threads have to communicate or otherwise work in unison with other threads, or at least more manageable and confined to already centralized things like browser settings.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Thread INTERACTIONS are hard by multipartmixed · · Score: 2, Informative

      > The whole point was that generally, these separate tabs will have very little need to interact.

      I'm not really familiar with browser internals, but I'm guessing that there must be at least some points of common interaction
        - document cache
        - nameservice cache
        - connection sharing (?)
        - configuration
        - font resources
        - system libs (e.g. image rendering)
        - cross-frame/cross-window.open javascript
        - GUI container rendering

      My post was really a counter example, though. The OP suggest that just slapping each tab into a separate thread would somehow magically make the browser more stable by allowing threads to hang or crash separately.

      Other posters have made the point that appropriate design fixes many of these issues -- but design is hard to bolt on after ten years of development. Especially when innocuous things like this can mess you up:

      static struct { int i, int j } a;
       
      threadOne()
      {
        a.i++;
      }
       
      threadTwo()
      {
        a.j++;
      }
       
      spawn(threadOne);
      spawn(threadTwo);
      waitForBothToJoin():
       
      printf("%i %i\n", a.i, a.j);

      On SOME memory architectures, in multi-CPU configurations, the output could be "0 1" or "1 0", even though you'd expect "1 1" -- think how a.i and a.j are incremented, some arches will read double-ints out of the struct and put 'em back as double ints.

      Now, obviously, this is a contrived example, but it's a great one for showing that MT design really does need significant forethought.

      (And I _did_ preview. But whoever wrote the new CSS for the ecode tag is clearly a numpty)

      --

      Do daemons dream of electric sleep()?
  32. Design really matters by TheLink · · Score: 3, Interesting

    Maybe you're a really good coder and can handle all the issues related to threading.

    However the browser you write won't just be running your own code. It will be running code written by Adobe, Facebook 3rd party apps, and so on.

    Given that, it's wiser to design your browser to use processes, so if you or somebody else screws up, the offending tab can be killed without affecting the other tabs, and also the memory used gets freed up (this is quite important given the large amounts of memory a tab can use nowadays).

    You could in theory have your browser threaded, but use processes for the plugins, javascript and future junk^H^H^H^Hfeatures the W3C comes up with, but at that point how much do you really gain?

    Why do you think Microsoft sees Google as the enemy? They are right. Google have just launched a new "operating system".

    It's wise for Google's "operating system" aka browser to have process isolation, so that it is harder for one misbehaving instance to take down the rest.

    Cooperative multitasking is so 1980s.

    --
  33. Re:Gecko is not outdated or bloated. by onlyconnect · · Score: 2, Informative

    IE8 has a new rendering engine. Trident is also included for the compatibility mode. Tim

  34. Re:Gecko is not outdated or bloated. by Sweetshark · · Score: 3, Insightful

    "Actually, that is far and away the best reason to not mess with it. The user experience is paramount, and when you mess with that, you have failed."
    Here is news for you: Every use of a browser has two users - one providing the content, one recieving it. MSIE has constantly failed the first half until IE8.

  35. I guess you missed the second page ;) by twilek · · Score: 2, Informative

    I guess you missed the second page in the article http://arstechnica.com/articles/paedia/mozilla-committed-to-gecko.ars/2 where they explain why Gecko is worth keeping and where they also explain that it isn't as outdated and bloated as it felt before FireFox 3 ;)

  36. Wait wait... by xouumalperxe · · Score: 4, Insightful

    Chrome is all new and bright and shiny, Firefox has some (plenty?) memory leaks, and all of a sudden we go from comparing browsers to making sweeping statements over their respective rendering engines? Why?

    How is a rendering engine that scores 85% on ACID3 "outdated"? Why should Mozilla drop a codebase that is quite successful in the marketplace, and that they know intimately and have full control over in favour of one they don't know all that well and is controlled by Apple, just because it's (arguably) king of the hill right now?

    Frankly, the summary is a troll -- and the article feels like little more than a jab at free clicks.

  37. Chrome innovations? by notrandomly · · Score: 2, Insightful

    I have been using Chrome on my work PC and find many of its features compelling, and wonder how soon we will see its best innovations in Firefox.

    Could someone name some of these innovations?

    One process per tab? IE8 did that before Chrome.

    V8? Both Apple and Mozilla did those things before Chrome was announced.

    Showing your favourite sites when opening a new tab? That's Opera's Speed Dial, except automatic and potentially constantly shuffling around, working against muscle memory.

    Creating "standalone" applications from web pages? Mozilla and Apple were already doing that.

    Incognito mode? IE8 again.

    So what are these innovations?

  38. So the problem is C/C++ actually. by master_p · · Score: 2, Informative

    Because in other programming languages, NULL pointers can be caught as exceptions, and the thread can be gracefully terminated.

    1. Re:So the problem is C/C++ actually. by shutdown+-p+now · · Score: 2, Informative

      Guess what, you can have trapping smart pointers in C++, too. Or just ask the compiler to insert the checks. Or trap SIGSEGV (or the corresponding SE in Win32).

  39. WebK.I.T.T. by pragma_x · · Score: 2, Funny

    Michael, I can only use my popup blocker once per episode...

  40. Chrome vs. Firefox by DragonWriter · · Score: 2, Insightful

    I have been using Chrome on my work PC and find many of its features compelling, and wonder how soon we will see its best innovations in Firefox. Why is Gecko worth keeping if it is outdated and bloated?

    Chrome's innovations are mostly in the JavaScript engine and the process-per-tab architecture, neither of which have much to do with the rendering engine: Gecko v. WebKit is mostly a peripheral issue.