"Firefox is a great operating system, I just wish it had a decent web browser."
If you've been programming long enough you've probably heard the Emacs version of that joke. (If you've used Emacs enough, you probably know that it's not actually a joke.) Like Emacs, Firefox isn't really an application; it's a dynamic development platform disguised as an application. I suppose shouldn't be a huge revelation to me since people have been building apps like Thunderbird or Sunbird on the Mozilla platform for ages. Folks have even been putting together some crazier apps in XUL. But Firefox was always a big monolithic app written in a non-dynamic language to me.