And so I'm giving up the Mozilla project - Jamie Zawinski (1999)
jwz.org
jwz.org
Jamie gave the open source Mozilla project about a year and a half, including the months of pre-source release preparation (and I think that's being generous.) Brendan Eich and Mitchell Baker didn't give up so easily and thirteen-plus years later they're still giving all they've got to make sure that Mozilla continues to be successful in promoting choice, opportunity, and participation on the Web.
Some things are worth fighting for and I believe that the Web is one of those things. I'm proud to work with some of the founding members of mozilla.org and think it's a phenomenal thing that such talented people are willing to commit their professional lives to the Mozilla mission when there were and still are far sexier opportunities available to all of them.
A different answer might be that it does so much more that a slowdown is part and parcel of doing all that's necessary in a modern browser.
Firefox 1.0's USP at a time when browsers were bloated was its lack of bloat. IMO thats less of an issue now.
In this case Firefox has even managed to outperform Moore's law. It managed to become slower in a faster rate than computers get faster.
My argument is that I'm not necessarily the main target demographic any more, Firefox 3.6 is fast enough and has the features that Joe average wants.
Phoenix was fast. I liked that. I should go try to compile it and run it on W7 and see what it does on modern websites.
Speed and ability to render correctly are my killer features for browsers.
1. Sync slows down the interface of the application a lot. There should be an option to completely disable Sync. Or Sync should have been an add-on installed by default. If I want to sync only the bookmarks, do just that, nothing else. Sync should also be activated only when I save a new bookmark, not every now and then.
2. SQLite slows down the application and complicates things with those default smart folders. You can't even create a smart folder for bookmarks. Mozilla should have write a faster database for bookmarks and history — they are just soem lines of text after all.
3. Live Bookmarks are useless now since the RSS icon was removed. It was useless before. I think by removing the code for Live Bookmarks and treating bookmarks and history in the same way will make things work faster.
4. Tab Groups also slows down the interface. It is useless since you can manage multiple tab groups by opening new windows.
5. Moving the status bar in the address bar was a bad idea. It complicates the user experience. Status bar should be shown only when something new happens — a download stars, a new page is loading, etc.
I don't know what happens under the hood, but Firefox is heading in the wrong direction.
(2) Places (the bookmarks database) is now on asynchronous APIs, which means that, unless you're using esoteric features of bookmarks, they never block the UI thread. SQLite is also now in WAL mode. Smart folders are still slow as I understand it, and there's a plan to revamp and/or remove them.
(3) Bookmarks and history have been treated the same way since Firefox 3 (Places). There is talk of revamping and/or removing Live Bookmarks as well.
(4) Tab Groups is now secondary UI (the icon is gone by default). It is never loaded until you open it.
(5) The status bar is no longer in the address bar.
No surprise that it remained a Netscape project for so long.
Thank you. It never occurred to me that you need a lot more processing power to compile code than you do to run the software you're creating. You just saved me a lot of heartache in a few months once it's time to start compiling. I love HN.
/srsly
Most of the small to medium sized project I have worked on compile in what seems like an instant.
However, I work on a medium-to-large code-base at work and it takes around 8 minutes to compile on our build server and around 12-15 minutes on my dev machine. Even these speeds seem tremendously slow to me. I can't imagine being a developer on a huge C++ project and having to wait tremendously long build times. When your compile times aren't near instant it really changes how you program. That feed back loop of code-compile-run-repeat becomes more like code-double check code-code some more-compile-surf the web-run-repeat.
Even in a large project, there should be subysystems that a developer owns and works on that can be partitioned or isolated from the rest, and execute within a test harness on a dev machine -- a harness that feeds the subsystem inputs and records outputs.
Successful projects either begin with or evolve to a state where they have the architecture, the toolset, the process and the culture to allow devs to enjoy a fast code/debug cycle.
Make figures out automatically which files it needs to update, based on which source files have changed. It also automatically determines the proper order for updating files, in case one non-source file depends on another non-source file. As a result, if you change a few source files and then run Make, it does not need to recompile all of your program. It updates only those non-source files that depend directly or indirectly on the source files that you changed.
"Recursive make considered harmful": http://miller.emu.id.au/pmiller/books/rmch/
Of that, 30-90 seconds is just linking (and no, gold doesn't help all that much).
It never occurred to you because it isn't true! You could for example write a trivial raytracer that compiles in seconds and takes hours to render a scene.
http://www.youtube.com/watch?v=u404SLJj7ig
(via codinghorror: http://www.codinghorror.com/blog/2011/01/lived-fast-died-you... )
Other links for unused footage and annotated version: http://en.wikipedia.org/wiki/Code_Rush#External_links
Near the end Jamie says (slightly paraphrasing): "This could all turn into television again... a small number of companies controlling what we see or hear."
And now we basically have Facebook, Twitter and Google as the big entry points for finding things on the web. I realise that we're not living in this closed system that's push only.. I just thought there was a slight parallel there.
The turning point was when the RSA patent expired and Phoenix could fully support SSL out of the box without any wonky add-ons. At that point there was no longer a good reason not to use Phoenix/Fire{bird,fox} and it started gaining huge amounts of momentum.
BTW, you can partly blame this petition:
Awesome insight. Absolutely breathtaking. Explains so much of what happens at larger companies.
It prompted me to write up some of my own thoughts on the current day Mozilla Community: http://daniele.livejournal.com/80677.html