The Inside Track on Firefox Development.

« Did I Mention... | Main | Firefox 2 Is Cool »

April 24, 2006

Firefox 2 Content Update

When we began work on Firefox 2, we decided to focus on a development branch, a continuation of the Mozilla 1.8 branch. The reason for doing this was that there was to be a lot of significant architectural changes going on on the trunk, with the prospect of a new rendering back end, a rearchitecture of reflow in layout, and various other things. Shipping a Firefox 2 release in 2006 off of this code did not seem possible.

As a result, we decided to pursue a release focused on application level improvements, on a separate branch. Going into it, we knew the perils of multi-branch development. We knew the divergences that would inevitably form between branch and trunk. We had experience from the painful development of Firefox 1.0 on the Aviary branch. We resolved to be more methodical about our commits, but we knew to expect some pain. The goal was to produce a high value release in short enough time so that we could all return to the trunk and help build new features that utilize the back end being developed there, to help shake them out.

Late last year, we put together a list of things to pursue for the Firefox 2 release. A month or so ago, we got together as a group and formalized this more in a Firefox 2 PRD. We had scheduled four major pre-release milestones, two alphas and two betas. We have already shipped one alpha. The intent of the second is to be "Feature Complete".

The people driving the various sub-projects on the Requirements list get together weekly to check status. As the weeks have gone by, it has become clear to us that the most complex feature on the plan is Places. It is easily an order of magnitude more complex than anything else on the plan. Places is a great feature and it has been exciting watching its capabilities grow. We are looking forward to the capabilities that it will expose. What we have learned though is that the work required to complete Places is probably too substantial to gate the Firefox 2 release. It falls more into the "significant rearchitecture" category of feature that's generally been targeted at Firefox 3.

What we have decided to do is as follows:

  • We will disable places on the 1.8 branch, reverting the user interface and back end to Firefox 1.x functionality.
  • We will continue to aggressively develop the capabilities of Places on the 1.9 trunk. Places will remain enabled here.

We think this is a good decision for two reasons:

  • It reduces the pressure on the Places team to deliver a lot of bug fixes and additional features on the very immediate timeframe required by the Firefox 2 testing releases. It is my opinion that doing so would impact the quality of the feature, if we did not add at least a couple more alpha cycles to the process. This decision provides us with an opportunity to really make the architecture and user interface of Places reach their full potential.
  • It allows us as a group to circle around and consider the content of the Firefox 2 release holistically, identify high impact at risk areas and spend some more time on them. One of those for me was Feed Handling.

Michael Schroepfer of the Mozilla Corporation has a newsgroup posting with additional information. His thread is also the most appropriate forum for discussion of this topic.

I have been working on refining some of the messaging surrounding feature content and prioritization on the PRD. I will post the initial results of that here soon.

Posted by ben at April 24, 2006 9:30 AM

Comments

Pardon me if I sound stupid, but what is Firefox 2? When is it coming?
:|

Posted by: Devdive at April 24, 2006 10:53 AM

Is the EULA display requirement bug 275743 ?

Posted by: Bob Clary at April 24, 2006 11:14 AM

One the one hand i like the decision very much. It will give the team more time to reimplement features such as Web Panels which don't work with places (btw this is the single reason i'm still using a month old nightly). But on the other hand there are less shiny new features which everyone would expect from a 2.0 release...

Posted by: Arpad Borsos at April 24, 2006 12:26 PM

IMHO the branding is wrong.

This should become Firefox 1.6, not 2.0. The big number change implies a giant overhaul, large scale new features, API changes, etc.

Yes it's just a number, but I think it sets the wrong precident. If this qualifies as 2.0, then the slated 3.0 is at least 5.0 once you factor in the graphics work, reflow work, and places.

I agree with holding "places". I think it's the best decision and applaud you guys for realizing it's not quite ready... and putting ego's aside for the sake of a better product (I know many would ship it regardless).

But what really distinguishes this as "2.0"?

I think that's still a worthwhile discussion.

Not to mention historically the move from 1.0 to 1.5 was only a 0.5 increment of the version number.

My concerns are:
1. How will future versioning be treated?
2. How will the press/users accept a whole new version number, and not to see a giant overhaul (the UI refresh doesn't qualify IMHO for a whole version number).

Just my $0.02.

Posted by: Robert Accettura at April 24, 2006 12:34 PM

Robert,

I don't think consumers really take version numbers all that seriously. There is a school of thought that says Firefox 1.5 should have been called 2!

What I am concerned about is getting into a mentality where we're never "quite enough" to get to the next major release. We could be in the 1.xs for years.

With Firefox, we redo the UI when we have a good reason. Gating a major version bump on a redo of some large piece of the UI seems like a bad idea... or rather, it would seem to encourage needless rearchitectures.

Posted by: Ben at April 24, 2006 1:42 PM

disappointing, but probably in the best interest for developers and those waiting for a stable fx2.0

Posted by: chris at April 24, 2006 1:56 PM

The plan is still to land things trunkside first before they get to the branch, right?

Posted by: steve england at April 24, 2006 2:34 PM

Ben,

I semi-agree Firefox 1.5 could have been called 2.0 (it's based on a different branch is my main argument). But I don't think calling the current Firefox 2.0 --> 1.6 would create such a situation.

IMHO there needs to be the following for a complete version ++:
- API changes
- New Features

Going from 1.5 to 1.6 also means less examining before deploying an upgrade across an organization. If the version is 2.0, it may be subject to more scrutiny... when in reality the changes aren't quite stagering enough to warrant that (for developers and compatibility concerns, 1.5 and 2.0 aren't very different).

I don't think development should be driven by the version number... but it should be the opposite. The version number should reflect the changes made.

I agree with 1.5 being 1.5 and not 1.0 or even 2.0. It had large-ish changes, but nothing earth shattering. I'm not equally convinced 2.0 is really a +1 increase. ATM I'm still of the belief it's really a 0.5. It's based on 1.8, and the biggest change is a UI refresh. I don't want to downplay these changes, or all the work going into the release.

Is there a specific rubric for making the decision? Or is it somewhat informal?

Posted by: Robert Accettura at April 24, 2006 3:02 PM

If you think this is worth a 0.5 version number increment, but don't think it should be 2.0, you should check your math.

I don't think 2.0 sounds right without any major noticable/marketable improvements. Firefox doesn't need to play the version number game, we are already so far behind focusing on version numbers is pointless. But we also don't want to get stuck with years worth of point releases common in opensource projects.

But even if we had Places, would it really be noticable to average users? If most users really don't use bookmarks then probably not. If the rest of the improvements happen, I don't think loosing Places is worth calling this release less than 2.0.

Posted by: JoeChongq at April 24, 2006 4:22 PM

I'm sick of "big numbers mean new funcionality". Fx 1.5 should have been 1.2; Fx 2, Fx 1.3; and Fx 3, Fx 1.3.

Why do you care so much about numbers?

Make it simple...

Posted by: Dam at April 24, 2006 5:22 PM

fix:

Fx 1.5 should have been Fx 1.1
Fx "2" should be Fx 1.2
Fx "3", should be Fx 1.3

Posted by: Dam at April 24, 2006 5:23 PM

I agree with all the posters...after places gone a major version number change doesn't seem justified...being that firefox's main support has come from a slashdot like audience (techies etc) and such actions only get bad publicity

Posted by: Al at April 24, 2006 5:24 PM

I have to agree that the 2.0 tag isn't really worth it.
Firefox needs to continue to break ground, and is a bit of a disappointment that Places won't be ready for a long time. I would be more than willing to have 2.0 delayed by a few months for Places.
I changed from IE to Firefox for something new and fresh. Firefox should continue to seek that "wow" factor. 1.5 didn't do it for me, and by the sounds 2.0 won't either. Of course, no other free browser is anywhere close still, but that's still not an excuse.

Good luck in further development!

Posted by: Greg at April 24, 2006 6:59 PM

I DARN WELL DISAGREE with most of you. You are thinking like IT professionals not like regular semi-literate computer consumers. To keep Firefox selling and growing, image and NOT ONLY features need to be taken into account. Most people look at the version number before the feature list, if they ever look at the feature list, and assume the bigger the number the better the product. If Firefox is suppose to be for the common user, then it has to pander to the common user's sensibility no matter how convoluted it might seem.

I personally have been happy with the numbering system so far. Firefox 1.0 was exactly that, while Firefox 1.5 was a partial upgrade and the memory problems bore that out.

I'm saddened that Places won't make it into Firefox 2, but if the rest of the changes make it in along with more bug fixes and more stability, then I will be satisfied. Besides, I would rather have a decent product now then a "perfect" product later, especially after that whole Firefox 1.1/Firefox 1.5 debacle. Also, getting two working releases out in a reasonable amount of time can be a great selling point considering how long IE 7 was vaporware and then how long it has been in "beta".

Posted by: Kwerboom at April 24, 2006 11:09 PM

A good choice after all; it's much better to delay introduction of a massive change like Places rather than have a huge numbers of users burned with data loss and trouble.
With no Places pressure developers can focus more on other valuable parts of branch: NSI installer, session restore, Plugins improvement, ecc...
I agree with Robert about version numbering though: the branch without places can't be seriously considered a 2.0 but more like a 1.6 version.
I see the trunk bringing a big number of relevant changes (gecko 1.9, Cairo, Places, and so on...) it would be correct to name it 2.0, a major release.
It's not too late for a version number change, is it?

Posted by: Riccardo Cretti at April 25, 2006 5:41 AM

I'll sidestep the version number debate and just say that delaying Places sounds like the right move. I've kept an eye on the "open Places bugs" list for a few weeks and getting it ready for a release this year seems daunting to say the least.

Especially with IE7 just a few months away (I think), the Firefox team should be striving for a VERY polished and professional 2.0 release. A couple of questions:

- Is it fair to say that "Joe End-user" probably wouldn't have noticed if Places was enabled or not?

- Will the postponement of Places free up more developer time for lower priority "spit and polish" bugs before FF2?

Keep up the great work!

Posted by: Patrick at April 25, 2006 6:54 AM

Uhh... That's sad. I know, I fully understand the reasons. We are working on Favorites for quite a long time now, and we're still not happy about them in Flock.

But, what is a really big problem is that Firefox 2.0 seems to continue the line of "small upgrades" release and this time it'll be also boring from "Web Dev" point of view.

It's really bad because it makes any promotion way harder. What can you say to users? We have new skin? So what? We have session support? Opera has it for long time. We have Feeds? IE, Flock and Safari has it for long time. We're more secure? You claimed to BE secure long time ago.

It seems for me that it'll be very hard for Fx 2.0 to fight with IE 7.0 because it'll loose it's best strength - great press.

I'd second Robert that it should be Fx 1.6 - refreshed Fx 1.5 and do the +0.5 switch with every engine upgrade.
Also, I hope that it will speed up Fx 3.0 development.

Posted by: gandalf at April 25, 2006 7:42 AM

Good decision, I saw it coming though :-).

However, other than places the number of changes in the first alpha was extremely low compared to 1.5. Since I didn't like the places thing anyway, this alpha ranks solidly as one of the most disappointing firefox builds I ever had on my machine (and I tried pretty much any milestone/alpha/beta/RC over the past few years). I can't think of anything really important that had changed in that release other than the places thing. We're hardly a month further so there is no way this has been addressed now. Besides, the prd mirrors the lack of any dramatic changes. There's nothing of interest to most users there.

The question why the version number is being bumped to 2.0 is very legitimate. This thread is a good way for you to practice answering this question because it is going to be put forward in basically any review of 2.0 the next few months. If that's not what you are ready for, rebrand to 1.6 and re label 3.0 as the 2.0 it really is.

At this point, everybody is waiting for 3.0 rather than 2.0. That's sort of predictable since all of the interesting cool new stuff seems to be on trunk. At this point I'd be more interested in a 3.0 alpha with some extensions than a boring 2.0 release. Get 1.6 out asap, don't make a fuss about it. Cut any feature in the way of an early June RC1. Above all, don't waste any more time on it than strictly necessary to maintain the level of quality.

Just some unsollicited advice from me to you :-)

Posted by: Jilles at April 25, 2006 8:11 AM

The problem with calling this version 2.0 is that CNet and the likes will have numerous reviews of "Firefox 2", and people will be dissappointed when they read that the big "2", signalling a better, refined product, doesn't really mean anything, as the features just aren't that groundbreaking (to the average user, that is.)

It's really a marketing issue. Creating false expectations is *not* a good idea. The versioning has been changed before; 1.1 got scrapped altogether.

Posted by: Daniel Schierbeck at April 25, 2006 11:24 AM

I haven't followed the newsgroup discussion on this, but I have one thought after reading these comments (especially Ben's and Robert's):

Perhaps a good idea in the future would be to only use codenames during the development phase, and then decide on a version number when you have something that is starting to materialize.

Right now, whether anyone wants it or not, there is a big hype about 2.0 this and 3.0 that. Postponing the version number decision would avoid that and also have the benefit of making these numbers actually mean something.

Posted by: Håkan Waara at April 25, 2006 2:02 PM

With all due respect, shouldn't development be focused on fixing the bugs that Firefox has had since the beginning rather than new features?

It's a good thing I have a lot of RAM, otherwise I would have ditched FF long ago. As I type this, FF is using 88 MB of memory. EIGHTY-EIGHT. IE uses 15 and Opera used about 10.

The first step to having more marketshare is making the browser *usable*. I cannot run FF for more than 10 minutes at a time before I have to restart it because it is eating huge amounts of memory. Every bug I have encountered has some pompous, dogmatic response that blame it on something else. I am running no extensions, and if it's the Flash plugin, what in God's name is Macromedia doing?

Posted by: Sam at April 25, 2006 2:40 PM

I love your blog. KarlaX

Posted by: KarlaX at April 25, 2006 8:53 PM

That's all well and good, and progress updates are nice. This is a bit of a troll, but I'm really hoping that maybe some real developer attention can be focused on Bug 202615. It sort of stymies the usage of firefox on every dell laptop with alps drivers. With 110 votes and pre pretty large cc list, you would think it would be noticed by now.

Otherwise, I enjoy your blog, and thanks for writing to inform the populace of what's up with Firefox

Posted by: GaretJax at April 26, 2006 12:50 AM

Can anyone please explain what "Places" are all about, or link to an explanation?

Thanks.

Posted by: Pgr at April 26, 2006 2:28 AM

Whilst this is probably a good decision in the interests of a longterm better product and more, it is disapointing. What I find most disapointing however, is that things just seem to be taking just a little to long, and dates are increasingly being pushed back, this both concerning, disapointing and also complicating matters.

Its at a time when there's huge success, growth both financially, and contributions to Firefox, yet improvements are still a little on the slow side compared with Opera, and even IE. Yes, MS didnt develop seriously IE for 4+ years, but in under a year nearly, they've come up with as far as the user is concerned, virtually everything Firefox offers. Tabs, simple interface, Live Bookmarks, History and Bookmark improvements - simpler and better than Places, even the IE7 beta's have all this, so whats going on? It even goes much further and has simple good phishing protection already which Firefox is well behind on, and a first start up page for importing and basic settings.

It has to be said Firefox seems to be falling behind here. It really does give less reason to have faith in Mozilla's development/build plans, because every release has had serious changes. 1.1 disapeared, became 1.5, 2.0 wont have one of the main largest features it was supposed to. It really isnt good in terms of what must be going on internally, and what people percieve externally. Assess things better before being public about a 1.1 release, or a 2.0 release with a key hugh feature improvement, PLEASE.

This is however probably a good decision but lessons seem to need to be learnt. I really hope there's a re-assessment of Places also, because its a bit of a jumble of many things, in a different window (less seamless and easy to use) plus with far more options, information then most other browsers give, or the user needs to see. That really isnt good or user friendly.

I think Mozilla really need to look at Opera and IE here, and implement simple bookmarks and history features. Opera manages well and better everything neatly in the sidebar, perfect. IE does too similarly, no advanced un-necessary info, quick and easy.

Firefox's places is just nowhere near as simple and user friendly, and forces a more advanced and mish mash of things. Look to what other browsers are implementing, improve on, change, and have a simple easy way of quickly handling more basically (just sites and dates at most) bookmarks and history by default in the sidebar.

Then users can see everything in the same page, theres no swapping un seamlessly to other windows, no overload of information just the sites, and dates, and the user can quickly browse and visit the pages in the same UI, clicking and visiting many pages quickly. This, instead of a jumble of different ways, implementations, which just isnt good for users.

The name Places should maybe be reconsidered to something like "Sites" or something, because many wont have a clue what Places is. Have this item still there in the dropdown as Bookmarks & History Manager, which most people will know what it is, and use if they need something more advanced for theyre task at hand.

This is far more in line with what other browsers are implementing, more logical, and user friendly. A Bookmarks & History Manager is still there, people actually know what it is, use it when they need to for more advanced tasks (it should still be in a tab) and thats simpler, giving choice, and for simpler browsing of Bookmarks and History, this should now be configured fully in the sidebar for the reasons outlines. Much less of a mish mash of different things, generally much better.

Posted by: Kris Silver at April 26, 2006 4:25 AM

To clarify on the above, a simple sidebar more easily accessible is what I'm talking about which should be easier for users to get to grips and utilize then at present. The Places or whatever it will be called dropdown should cater for simple finding and browsing of Bookmarks and History, with a Places Manager, thus its clear this is for more advanced managing of Bookmarks and History.

Posted by: Kris Silver at April 26, 2006 4:29 AM

Nice work.

Posted by: Linus Torvalds at April 26, 2006 10:03 AM

Great comments, Kris. I hadn't followed the development of Places very closely, so I learned quite a bit.

After reading what some other people have to say, I'm going to agree that 2.0 should be 1.6 provided that no other innovative features (from Joe User's perspective) are going into it. IE 7.0 is a huge leap forward for Microsoft, so Firefox should probably follow suit with Fx 2.0 from a marketing standpoint.

So the question remains: what of the following is the best use of developers' time right now?

1) polishing Fx 2.0 (or 1.6) and fixing as many bugs as possible

2) jumping on the trunk and working on Fx 3.0

Not being a Firefox developer, I can't really say myself. I think it depends on the marketing spin that MoCo decides to use. A Firefox 1.6 release would have fewer expectations so more developers could go with #2 above. On the other hand, a Firefox 2.0 release would have significant hype and corresponding high expectations so I would think that as many developers/testers/etc. would need to go with #1 above and make it the best possible release under the circumstances.

Just my two cents... well, actually more like $1.15 but who's counting?

Posted by: Patrick Lee at April 26, 2006 1:37 PM

Oh, I forgot to give props to Firefox Flicks and the entire Spread Firefox team! As long as we're talking marketing, I gotta say that the flicks campaign is far better than I even imagined it would be. Very high quality videos and hilarious, too. Keep up the great work. Wheeee....!!

Now back to the debate...

Posted by: Patrick Lee at April 26, 2006 1:43 PM

Thanks Patrick, IE7 is a big leap yes, and credit where credits due, they've managed huge amounts of new features, developments, even with the betas out now, in under a year almost. I think Mozilla nead a little more balls to be innovative again, and consider implementing the best sensible features in at least similar ways other browsers are, not doing it differently for the sake of it.

I think basically Firefox needs to decide what its going, because Places is a bit of a confusing mish mash, and how to view thing in the browser is a bit of a mish mash of several things. Its alltogether a little confusing for users. IE7's floating Favourites/History sidebar type thing really is such a user friendly, seamless, simple thing for users that I think similar needs to be developed and implemented for Firefox.

Perhaps the Places dropdown should be renamed "Bookmarks/History" and the "History" drodown items be listed within there as a submenu, or something. The Places drodown should handle renaming, moving and more without it closing all the time after every action. If not or aswell a simpler Places should also be accessible in the sidebar so users can browser within the same UI window the pages theyre seeing, at ease.

I also think a startup page with importing, basic settings, things explained (like kinda is present already) should be developed asap as this is a very user friendly thing IE7 has, and excels in. Firefox just has an import from IE, which by default offers to import meaning many do even though also many dont even have bookmarks or even want to import them, and for them to clutter Firefoxs bookmarks toolbar. Bookmarks toolbar, waste of space where it is, move it to the top, or alltogether by default and just as an option, but use the space at the top at least, as IE7 using space and simplicity fantastically. Asa's admitted a lot of these things of IE7 too.

I dont think the next version should be 1.6, if anything 1.8, 1.6 seems far too minor. There's a few other enhancements I really think need work too in light of all this restructuring/planning. The back and forwards buttons mini list dropdown should show as a seperate button not just when hovering over back itself, but also when hovering over the drop down button to see it that button is being hovered over. Simple logical UI enhancement there. Add-ons for Firefox really need to start properly auto updating like the browser itself, because not doing so is causing problems for users, and putting people off Add-ons.

Anyways, 1.8 I think, that would correct me if I'm wrong also then match the Gecko engine version I suppose, too big just for 1.6 anyway.

Posted by: Kris Silver at April 26, 2006 2:56 PM

To the numbering dis'cuss'ion:
I really hope that 2.0 will be what 1.5 should have been: Stable, w/o memory leaks, reproductionable event-handling, and real function to the tab handling, esp. the [a target=] problem. Thats why I personally still use the 1.0.x (now 1.0.8), simply because some of the extensions i like to use suck on 1.5.x because of bugs in Firefox, not in the extensions.

So I say: Take Care and make a good product. Then numbering is a neclectible issue

Thanks so far.

PS: My personal entry to the numbering: 1.5 should have been 2.0preview ;->

Posted by: Michael Foerster at April 26, 2006 8:29 PM