We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Firefox Feature Innovation

00:00

Formal Metadata

Title
Firefox Feature Innovation
Alternative Title
The life of a firefox feature
Title of Series
Number of Parts
64
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
The life of a Firefox feature : idea ? bug ? discussion ? patch ? experiments ? discussion ? tests ? beta ? full feature in Firefox.
Web browserDampingSphereCore dumpEmpennageNumberDifferent (Kate Ryan album)Shared memoryUser interfaceProcess (computing)Strategy gameMultiplication signCondition numberProduct (business)MeasurementGoodness of fitMereologyWeb browserPlanningMachine visionGroup actionGraphical user interfaceTelecommunicationComplex (psychology)Ferry CorstenSound effectSoftwareAreaProjective planeSet (mathematics)Web 2.09K33 OsaCore dumpDistribution (mathematics)CodeRight angleInternetworkingBitComputer animationXMLLecture/Conference
Maxima and minimaWeb browserWaveBlock (periodic table)BuildingComputer programmingMereologySinc functionProjective planeSet (mathematics)Web pageDifferent (Kate Ryan album)Web 2.0Standard deviationMultiplication signShared memoryInternetworkingIntegrated development environmentAreaSoftware developerNumberHTTP cookieService-oriented architectureMixed realityBus (computing)WordGoodness of fitServer (computing)Forcing (mathematics)Water vaporAdditionGroup actionOnline helpFrequencyStagnation pointInsertion lossLecture/Conference
Core dumpBuildingBlock (periodic table)Web browserStagnation pointOpen setWeb 2.0Direction (geometry)Drag (physics)Web browserFrequencyComputer fileFlow separationWeb-DesignerBlock (periodic table)MathematicsRight angleRevision controlWordGoodness of fitPoisson-KlammerUniform resource locatorSheaf (mathematics)Product (business)Multiplication signRow (database)Lecture/Conference
Perspective (visual)Pairwise comparisonShift operatorAverageData modelPower (physics)Focus (optics)DisintegrationStandard deviationPhysical systemBenz planeSocial classControl flowStress (mechanics)TelecommunicationMultiplication signData structureMereologyOperator (mathematics)Software developerMedical imagingWordWebsiteRevision controlDependent and independent variablesFigurate numberPhysical lawPerspective (visual)Computer programmingMathematicsSeries (mathematics)Touch typingInformationGame controllerTelecommunicationGame theorySocial classFocus (optics)InternetworkingTrailObservational studyComputer filePosition operatorComputer clusterNumberProcess (computing)Goodness of fitPixelWeb browserService (economics)Level (video gaming)Standard deviationCore dumpDirectory serviceUser interfaceFile Transfer ProtocolDifferent (Kate Ryan album)Uniform resource locatorFrequencyMeasurementStagnation pointLecture/Conference
Standard deviationWeb browserExecution unitSoftware testingInternational Date LineDialectACIDImplementationFocus (optics)Division (mathematics)Shape (magazine)Chemical equationNP-hardInformation securityVideoconferencingFrame problemSemiconductor memoryAngleSoftware bugCodeProjective planePoint (geometry)Complete metric spaceVideoconferencingGoodness of fitData conversionPairwise comparisonAxiom of choiceTerm (mathematics)Computer programmingInformation securitySoftware testingChemical equationWeb 2.0Web browserStandard deviationSoftware developerNeuroinformatikLaptopInteractive televisionMobile WebINTEGRALFlow separationAdditionSet (mathematics)AreaNumberSocial classOpen setDirection (geometry)Parallel portProcess (computing)Product (business)Computer fontInternetworkingLimit (category theory)WebsiteDifferent (Kate Ryan album)Stability theoryElement (mathematics)Exception handlingFile formatFocus (optics)InformationCausalitySystem administratorReading (process)RoutingACIDVideo gamePreprocessorUniverse (mathematics)Operator (mathematics)Multiplication signSquare numberMereologyMaizeEndliche ModelltheorieExterior algebraHypermediaView (database)SimulationSeries (mathematics)Lie groupPerturbation theoryWeightDivision (mathematics)AuthorizationGroup actionTape drivePredictabilityFigurate numberLecture/Conference
Game theoryPoint (geometry)WordVideoconferencingComputer programmingMereologyPrototypeCodeProgrammer (hardware)NumberLecture/ConferenceComputer animation
Web 2.0Content (media)Sound effectWeb browserDemo (music)Direction (geometry)Mobile WebVideoconferencingComplex (psychology)Software developerShader <Informatik>WordComputer animationLecture/Conference
Frame problemVideoconferencingWeb browserAreaPlastikkarteOpen setContent (media)Control flowInformation securityInformation privacyMIDIComputer networkService (economics)GoogolTwitterInformationPoint (geometry)Euler anglesLine (geometry)AreaInformation privacyProcess (computing)Web browserInteractive televisionSoftware developerInformationInformation securityMereologyCodeTerm (mathematics)TwitterDifferent (Kate Ryan album)Endliche ModelltheorieWebsitePoint (geometry)Online helpWeb 2.0Analytic setGame controllerSoftwareBitContent (media)Software maintenanceFacebookEuler anglesWeb serviceFamilyOpen sourceBinary fileCondition numberGoodness of fitSeries (mathematics)Student's t-testVideo gameGoogolBuildingMultiplication signContext awarenessComputer configurationArithmetic meanShared memorySpecial unitary groupWordPrice indexArchaeological field surveyLecture/Conference
TrailWeb browserBeta functionComputer networkMaxima and minimaProcess (computing)Set (mathematics)Graph coloringMereologyCore dumpWebsiteOrder (biology)Web pageFigurate numberWeb serviceLengthLine (geometry)Theory of everythingCuboidMobile appSoftwareInformationExecution unitHacker (term)User interfaceWaveDefault (computer science)ImplementationCodeRight angleSheaf (mathematics)Automatic differentiationOnline helpWeb 2.0Software developerInformation privacyTrailWeb browserReverse engineeringCommunications protocolSpectrum (functional analysis)Category of beingHTTP cookieLink (knot theory)MathematicsConnected spaceEmailAnalytic setMessage passingLecture/Conference
Source codeMachine visionSoftware testingSocket-SchnittstelleGoogolInformation securityPrototypeGraphical user interfaceVideo gameFeedbackWeb pageWebsiteLink (knot theory)Software developerOpen sourceMathematicsWeb browserAreaModule (mathematics)CodePeer-to-peerBlogProcess (computing)User interfaceSoftware bugBeta functionComputer programmingSoftwareVideoconferencingProjective planeStudent's t-testPhysical systemSearch engine (computing)GoogolSynchronizationElectronic mailing listLatent heatGraphical user interfaceBuildingImplementationFeedbackDesign by contractEmailWikiObservational studyStatisticsElectronic visual displayNumberInformation securityGroup actionFormal languageIterationMultiplication signSeries (mathematics)Dependent and independent variablesDecision theoryPatch (Unix)InformationCartesian coordinate systemWave packetEndliche ModelltheoriePosition operatorWordFigurate numberWeightDialectPlastikkarteGoodness of fitFunctional (mathematics)CuboidWater vaporFrequencyLecture/Conference
Gamma functionXML
Transcript: English(auto-generated)
So Paul Rocher came up with this idea, he was originally going to get this talk, talking about features that go into Firefox and to give people an idea about the process that
we use for thinking about innovation and for trying to give features to Firefox. So I jotted down a few thoughts and we'll share them with you today. Mostly want to make this more of a conversation, so if you have questions, feel free to raise
your hand and stop me and we can talk about your ideas. So I'll talk a little bit about the history of browsers and how they evolved over the years, the ingredients for what it takes to create a feature and get it into Firefox,
some of the successful things, some of the strategies for navigating all the process that you have to get through to get something into Firefox, and a few examples of some recent features that the people have been working on. So I'm going to ask a bunch of questions, and like I said, if you have questions,
raise your hand and let's make this more of a discussion. So how many of you are Firefox users? And crowd, I'd like to talk to you. I only speak where we have 100% mark up share.
So how many of you, if you look through the talk, how many of you have some ideas about features or you're working on stuff, actually working on stuff that you'd like to see get into Firefox as a feature? Okay, a couple of people. So hopefully this will inspire you to get involved in some way, and one of the things
about the work that goes on in Mozilla is there's many, many different ways to get involved. So there's actually kind of two different kinds of activities that go on in creating features in Firefox. You have kind of user interface where there's lots of creativity that can go on,
and then you have the back end, the Gecko core engine that tries to harness all the complexity of the web and makes the web easy for people to use. And there's different kinds of approaches. With the front end, with the user interface, we can do all kinds of things.
We can experiment and we can compete and try and make Firefox better than Internet Explorer and Chrome and Safari, and there's not very many obstacles there to trying different things. With the back end, to do real innovation, we have to get all of the browser
vendors convinced to eventually include a feature if it's going to be used widely. So there's different kinds of ways to measure success of features and different approaches that we have to take to get these two different kinds of features into Firefox.
So how many of you have contributed to the Mozilla project or are regular contributors? All right. Well, I'm going to convince you that you're all wrong. So the first thing, so I want you to stop and think for a minute. When was the first time that you used Firefox?
So we first started developing the Firefox code on top of Mozilla in 2003, and sometime between 2003, every one of you downloaded it and installed it for the first time. So try to think back, what was the year that that happened?
I'll give you just a minute to think about that. Okay. Okay, so 2003, how many? All right. Now 2004, 2005, 2006, 2007, 2008, 2009, 2010, and this year.
So it's pretty interesting. So the distribution there, it's like we have a lot of people that have been
using Firefox for a long time. And so the next set of questions are, how many have helped someone else to use Firefox? Okay, so that's pretty amazing.
Right there. And how many of you have helped like two people use Firefox or more, like five, ten? Who thinks they have the highest number of people that they've introduced Firefox to? Anybody over ten?
So another thing about viral adoption of any kind of products is that there's a lot of researchers have studied this. And the way that products become viral is not that like one person
starts using it and they introduce one other person to use it and you have that network effect, that expansion. It's usually you have a smaller set of people and they infect or share their ideas or their products with a bunch of people.
And that kind of viral effect is what's happened with Firefox. So this is the growth of the Internet, number of users on the Internet over time and the different browsers that they've used. So you're all part of this big orange area up here that now makes up
30% of the web. And back in 2003, there was only a handful of people. We started out with one or two people developing and starting to use Firefox and now there's over 450 million people using Firefox.
And if you know anything about Mozilla, we don't do advertising. The only way that this growth has come about is because of people like you that have tried it yourself and then have helped others use Firefox. So you are a big contributor to changing the web.
And for that, you are part of the Mozilla project. You are a contributor. You've made a difference in how the web is evolving. So the other thing about this chart is that it shows kind of waves of
innovation, waves of things happening. On this end of the chart, back in the late 90s, Netscape started out and it had a virtual monopoly on the browser market.
When they first started, it had like 90% market share. But the Internet was very small at that stage. And then Microsoft started to compete in the market and created a monopoly and they got up to 98% market share. But some interesting things happened here.
In these early days, there was a lot of innovation going on. There were these building blocks of the Internet were being created. Things like cookies and SSL, HTML4, JavaScript, plugins, CSS. All these were new innovations that made web pages easier to use
and made the web accessible and useful for more people. And then we moved to what I call the dark ages of the Internet. So when Microsoft got to 98% market share, there was no incentive.
There wasn't a lot of revenue generated from the browser. They weren't interested in continuing to develop IDE and advancing it. At Mozilla, we were. And so we have this period, the dark ages of the Internet,
we at Mozilla continued to try and improve the browser, but Microsoft wasn't going along with the program. And so it's been a constant battle since around 2001, 2002. It's been dragged and backed.
Find ways that we can influence Microsoft and Opera and eventually Google and Safari to start creating browsers to advance the set of standards, to adopt the set of standards that were already defined and start advancing the web.
So that's what started to happen when Firefox market share took off. Without people like you helping to build market share to help create some influence, we wouldn't have been able to bring Microsoft back to the table, back to the browser development.
And the web would have stagnated. Essentially, it would have been frozen in time with IE6. So that's a pretty major accomplishment. So I mentioned that we had this surge in innovation and new features going into browsers.
There was this stagnation period for several years. And we're right on the verge of that changing again. Over the next six months, we've got IE9, new versions of Chrome, Firefox 4, and these browsers have a tremendous amount
of new building blocks to improve the web. And the buzz word for this is HTML5. But HTML5 is not one thing. It's a collection of many innovative technologies that web developers can start to use as soon as the browsers go out.
So things like Open Video, SVG, Canvas, Geolocation, Multitouch, Accelerated Graphics, offline web applications, Drag and Drop, File Upload. These are all things that are going to be built into all of those browsers. And just like the web moved very quickly many years ago,
it's going to take off again. And it's going to change the way that people use the web. There's a lot of change coming. So our mission remains the same, though. We want to continue to be able to influence the direction of the web.
We've seen when a few companies dominate technology, it can stagnate, it can move in the wrong directions. So we want to build a strong community of people that want to continue to influence the direction of the web and steer it in a way that keeps the web open,
keeps it innovating. So we had a bunch of early Firefox users. How many of you recognize this browser? So we've got a bunch of early Netscape users as well. So this is version 202 of Netscape.
And it's got a location bar. It's got some buttons. There's been tweaking to the UI that's happened. But in some ways, the browser looks a lot like it did back in 1998.
If you sweat your eyes, you can see all the major features there. We've kind of been tweaking around the edges. And then there was this period of stagnation where none of the core development was going on. And it's probably good to, if you want to find ways that we can sustain innovation and we can keep it going
the way that it's happened in just the last few years, and we'll take off in the next few years, we need to develop some perspective. Like, where are we at in the stage of development of the browser? So one way that we can compare to other industries,
we can compare it to the auto industry. So back in 1908, the Model T was introduced, and it was the first time that automobiles became accessible to the general public, affordable, you could use them, you could understand how to operate them. And so the automobile industry started to take off.
And in some ways, that's the equivalent to the Netscape browser. And we moved from a stage where it was just an enthusiast. How many used the internet before Netscape? Okay, so if you remember, so you had to,
it was a series of command lines. So to view an image, you would probably bring up a program like FTP. You would go to a site like NASA or someplace that was storing interesting image. You would transverse down the directory structure to find an image that you thought was interesting.
You'd download it, then you'd unzip the image, and then you'd bring up a program like Paint to view the image. So there's like 20 steps to accomplish something now it's one click. So those kinds of innovations have to come together
before you can get a significant number of people to start to use the technology. And so the automobile industry goes on for 50 years. And then in the 50s and 60s, the emphasis became trying to make cars faster.
And trying to introduce some interesting design to attract people. And in some ways, that's kind of where we are now. We have this intense competition going on between the different browser JavaScript engines.
We've got personas, and we have studies that kind of measure and track performance and changes to the user interface. We're in this constant battle now where we're trying, the race is on to see how many pixels can be removed from the user interface of the browser.
So there's a lot of focus on style, and there's a lot of focus on performance that's going on now that's equivalent to the auto industry. So it's only taken us 10 years to go as far as the auto industry went in 50 years.
But we're still maybe not as far advanced as we think we might be. So in 1973, the Mercedes S Plus was introduced. And it was the first automobile that had anti-lock braking systems, airbags,
and seat belts, and electronic tracking control. A lot of safety features. So there's a few safety features that have been built into the browser. We have safe browsing, where we use a service and it feeds down information about dangerous sites.
And if you happen to get redirected or stumble onto one of these dangerous sites, it's like an airbag that comes up. But there's not standardization of that feature. Each safe browsing feature and each browser were slightly different.
And so we may be somewhere around 1973 with the development of browser technology. The other part about this, the S Class introduced a bunch of new technology. And then several years later, they became standards.
And all automobiles adopted those things. And that's a lot like we see development of the browser. And it's a tricky interaction between integration of standards and trying to keep innovating.
So there's several different directions this can work. It can be like the Mercedes. You can take a set of features that have been successful and been proven, and you can turn those into a standard and get them adopted across the industry.
So it's a matter of harvesting the feature work, consolidating it, and turning it into standards. But browser vendors haven't always done a good job of this, mostly because it's a frustrating and painful process to go through standardization. So the whole browser industry needs to focus more on this
now that we're innovating more. There'll be more opportunities for that. The other is to take a standard, just define the standard kind of in the dark, and then try and get that standard adopted and turn it into features in individual or all browsers.
So it's a harder approach, but if you're developing some technology and you've been trying to get it defined as a standard,
this is the way that things like video and accessibility features have gone into Firefox. So there's another kind of interesting angle to standards. How many are familiar with the acid-3 test? And so everyone in this room knows that
Firefox's score on acid-3 is 97 out of 100. So what's the story behind that? Well, 97 out of 100 can be okay, and 100 out of 100 is really avoiding the critical questions that need to be asked
about how each of the browsers are performing. So what's happened is that the three points that Firefox is missing are that there are a few tests
in acid-3 that test a feature called SVG fonts, and all of the other browser members have implemented enough of SVG fonts just so they can pass the acid-3 test. But there's a whole other set of issues
that they didn't go through and are not making it into the press or are not making it into the minds of the developers on their team is that, first of all, there's an alternate technology called Web Open Fonts, the Web Open Font Format, WOFF, that provides a parallel set of features
to SVG fonts, and that may be good enough. We may not have to adopt both sets of technologies because the other browsers haven't adopted the full set of SVG fonts as well. They've adopted just enough to pass the acid-3 test.
So there's some interesting, you know, if you're interested in reading more, one of the Netscape user experience people, Alexander Lieny, wrote an article on this,
and, you know, you can search and find it. But it raises the issues. I mean, what we should be talking about is, do we need SVG fonts? Is the WOFF format good enough? And can actually anybody really implement all of SVG
in a way that it's backed out? There's some issues around that as well. We should be having those conversations, and we shouldn't be having a conversation of, you know, everybody has 100% adoption except for Firefox and acid-3. So let's get back to, you know, this comparison to the auto industry.
There's still some challenges that, like, the auto industry has started to innovate and advance again, you know, largely driven by oil prices. And they've done a lot of interesting new technology to make cars more economical.
And that's probably an area where browsers will go next. You know, we've made some choices at Firefox 4 that optimize on speed but not necessarily memory use. So we may have to revisit those. And we may have to find, you know,
solutions that not only give us performance but also they're economical in terms of memory use. So this is the Tesla number in this way. But so you can have a car that goes 200 kilometers per hour and it adds one cent a kilometer to operate.
And that's about one tenth of the operational cost of a gasoline vehicle. So there's, you know, if we look to this other industry about, you know, where might things go next, you know, how effective use of the computing resources
that people have, you know, not only on desktop but laptops and mobile devices, we need to start to focus on slimming down the browser, maintaining its speed, its functionality, but focus on additional areas. So kind of the lessons learned through, you know,
this comparison beyond our industry, you know, keeping these combinations of safe and easy and fast and compatible and stable and predictable are pretty important in not only individual features but in the browser in general. So that's the way that people evaluate browsers.
If there's one critical element of those five or six things that's missing, like people just latch onto that and they move to a different product. That's what happened with Internet Explorer. It was insecure. And people were looking for other solutions and they found Firefox and it solved their problem.
For many years, Opera was the fastest browser but no one adopted it because it had limitations and being easy to use, being compatible with websites. So it's pretty critical to, but it's also hard to look at all those things
and try and create the right balance. So other ingredients for innovation, you can talk about. One of the things that's allowed us to innovate with Firefox is that we've tapped in
with people who have a real passion for creating browsers and for making the web better. And this initiative, the passion, has been with us through the entire lifetime of the Mozilla project. And the most recent example is there's a 12-year-old kid
named Alex Miller who figured out how to download the Mozilla code and do some security research. And he's found critical security bugs in Firefox and he's participating in our web bounty program.
We paid him $6,000 over the last few months for doing this research, reporting the bugs to us, doing responsible disclosure. And if a six-year-old kid, there's lots of challenges to anyone trying to figure out the Mozilla code.
But it's an example of someone taking enough initiative to go through and figure out how to get things done in this very large software project. So it's pretty impressive. But that kind of thing has been happening for the last decade. The other thing to think about
when you're, you know, if you've got an idea for a future and want to see it through to completion is really trying to understand what problems it's solving and how much impact it will have, not only for you, but are there other people
that are running into the same kind of problem and are looking for the same kind of solution that you were. So once you've got kind of an inscription of the problem that you're trying to solve, there's a lot of creative things going on with,
you know, creating videos that kind of describe the problem and your approach to creating the feature. So here's an example of that. So even if you don't have any coding skills,
how many are programmers in the audience? So, yeah, a large number. Even if you don't have programming skills, you can create one of these videos describing your problem in enough detail that people can start to look at it and figure out if they can come up with a solution to the problem.
And if you do have coding skills, I think this is becoming a more and more critical part to the development, is for you to be able to explain the feature work that you're doing to others so that you can get it integrated and adopted. So here's kind of an example.
So this is an idea, you know,
this is an idea where you're explaining the feature and kind of going through the motion of how you think it should work. And all of this went on just with, like, prototype code before this feature called Padorama was included in Firefox, in Firefox 4 betas.
And, you know, we're doing this not only for user-facing features but also for, you know, we introduced WebGL into the Firefox mobile browser. So here's another video showing how WebGL works.
This is really the first build that I've gotten thanks to work. Here's another demo where developer.org has supported a pretty neat effect in WebGL. This demo is creating the effect with a complex WebGL shader and it's running pretty well on the device.
One of the goals of WebGL was to make it possible to create 3D web content that would run on both mobile and desktop devices. And I think that we're definitely heading in that direction. The third demo is the one that I wrote on the device. So that's an example of, you know, someone, you know, Vlad is working on WebGL for many years,
trying to get it adopted as a standard, trying to get other browser vendors to adopt that technology, and trying to get it integrated into Mozilla. He's gone through, he's not only explained what problem he's trying to solve, but he's also giving some great demos of how the technology can be used.
And so that's becoming more and more of a critical path to getting features into Firefox, kind of building a community of people that are interested in technology even before it's fully created.
So the other thing that, you know, another kind of lesson learned is that some people take the approach that there's something that Firefox really needs to do, and they've got an idea about exactly how it should be implemented.
And since there's no running code for that, it's really better if you step back and you approach it like an experiment. You define what it is that you're trying to do, and you're creating some metrics for success. And the one thing about innovation
is that you have to try hundreds or thousands of things before eventually you latch on to the best solution. So using a scientific approach that goes through the development process is pretty effective. And then all the things that are part of open source.
Most of innovation, the way that people think about it, comes through in proprietary technology development. And we're trying to change that. We're trying to get people to embrace a new idea where you can be open, you can share ideas,
and innovation will actually speed up by doing that. And then the last point here is about, you know, if you come up with an idea, it's pretty likely that someone will already have had something similar to that. You know, there's 10,000 different add-ons for Firefox.
You know, different people trying out experiments. So, you know, that's a place where you can go look and find out if anyone's done work in this area before. Is there anything that you can leverage and help to move forward? And so like everyone was talking about
with the auto industry, you know, there's still opportunities to make the browser go faster. There's still opportunities to make it more secure. And to keep users in control. And, you know, navigation to web content is still a problem that we're trying to deal with. Making that easier is...
And so you look back through these different areas of opportunity and they're kind of all over. And so the best way to do that is to, you know, look for areas where people are struggling
in their use of the browser. Either yourself or, you know, things that you observe. And try and identify these areas of tension. So one area that's pretty obvious, how many attended the keynote? Evan's keynote this morning. So there's a little bit of tension going on
between using the web for social interaction and wanting to maintain privacy and anonymity. And so this is a great area for innovation. You know, Facebook and Twitter and Google
have kind of created a monopoly on the way that people think about social interaction using web services. And just like, you know, ten years ago, Microsoft created a monopoly on web browser. You need to find ways to break that monopoly down. You need to find ways for people
to think about social interaction and use of the web in different ways. So there's a security researcher called Maxime Marlenspy. He's done a pretty good job of articulating some of the problems that they see. So what people really want when they're sharing information over the web,
they want to communicate with their friends and family. You don't necessarily want to communicate with the company Facebook or the company Twitter. They don't need to be a part of every single detail that goes on in your interaction with your friends. But you still want to be able to communicate with your friends.
So just taking that idea kind of like turns the whole economic and development model that's going on. So if we can focus on creating an interaction model between people rather than through centralized services, we'll probably be a lot better off.
So the other thing that's kind of obvious is that users aren't part of this debate. We're kind of being dictated the terms and the trade-offs that people are making.
And the terms of the debate are, well, do you want targeted services or do you want anonymity and privacy? You can't have both. Well, if you state the question that way, it's probably true, but there may be alternate ways that we can go around creating this.
So we've got you, and you've got all of the sites that you visit, and you have ad networks and analytics companies, and they're all collecting your browser history as you move around the web. And the parts of the players that are in the debate now
are the ad networks and the sites. But there's no kind of user voice in what's going on. And the attitude of the websites and the ad networks and analytics companies are, you know, basically you have no privacy on the Internet,
so get over it. And one thing that we want to do at Firefox 4 is to break down some of these ideas, because what we can see now is that privacy is at an all-time high, or surveillance is at an all-time high, and privacy is at an all-time low. And if we state the terms of the debate,
if that's the situation that we're in, that might be a way to mobilize a lot of people in bringing a bigger voice to this debate that's going on. So we have an opportunity now where governments are more interested in what's going on. The websites are, you know,
there's some that want to participate in better solutions. And so we're implementing a feature in Firefox 4 called Do Not Track. And, you know, like I said, innovation comes when you try hundreds of experiments
and you finally latch on to one. So this was one of many experiments that we wanted to have. And basically we're going to have a setting in the browser where you can go in and you can say, I want to be served targeted ads. Check that box. Or you can check the box that says Do Not Track Me.
And when you set that in Firefox, whenever you visit a website, when you first make the connection to the website, the HTTP header will provide that information in a standard way. And we'll start to tell websites and ad networks and analytics companies
that I don't want to be trapped anymore. And, you know, on the Mozilla site, we'll also monitor how many of these pings that we're getting that says I don't want to be tracked. And we'll publish that information so the whole industry can start to understand
how many users out there feel this way about the problem, that they don't want to be tracked. And we'll try and use this to pressure the websites and analytics companies to start to rethink their services so that they can either provide both kinds of services,
and we went along using the web for decades without a lot of tracking going on. But now, you know, there's this big rush. The only way that advertisers are going to bring money is if they have targeted ads. I don't think that's true. So this is one way that users are going to be able to provide employees.
Have you decided the default values for those settings? Pardon? Have you decided the default values? The default values. So that's also an interesting question. So we thought about this a lot, and we could have set the default value to be don't track me.
That's kind of what we all believe about on the development team. You know, that's what we should be saying there. There's another way to look at it is, you know, we've gone 15 years where kind of the default settings of the web were to allow for party cookies to go through to allow CSS-visited ways to...
The technology on the browser and on the web services is basically set up to allow tracking through kind of misuse of the original protocol ideas.
But anyway, we've had tracking integrated. So for those two things, we thought, well, since the default has kind of been to allow tracking, and if we put do not track me as the default for every user,
basically what we're saying is, it's a message from Mozilla to all the websites to say, you know, Mozilla thinks that this user doesn't want to be tracked. So we thought, you know, the best way to allow the user to have the voice is to send no setting as the default.
And so there's actually three settings going on. You know, no setting is what your browser comes with. If you've gone into the user interface, you can check either one of those. And so that's the user being able to communicate what their intentions are. And so this was just introduced a few days ago into the code.
How many are Firefox 4 beta users? All right. So today, I hope you all go down, you know, today or tomorrow, go download Firefox 4 beta 11 and go into the advanced preferences section
and check the box. This, the I want to be served targeted ads hasn't made it into the UI. Because we think like the early adopters of this aren't really interested. And because there's lots of technical things to overcome
to set that kind of UI up, we can actually use some help if anyone's a Zool hacker. You know, there's a core technology guy who's did all the implementation for this, so he's not good at the user interface part. But if you want to contribute to that,
we can use some help. And so, you know, we can start right here. You know, 10 years from now, I can come back to the conference and I can say, how many said do not track on the weekend that was introduced?
And you guys will be the start of the wave. It's like you were starting the wave when Firefox was shipped. There's another privacy setting that's going into Firefox. And this is kind of the reverse. So like we're racing to get do not track into Firefox 4. And there's a very compressed schedule
and like we've only implemented half the UI that we wanted. You know, this is a problem on the other end of the spectrum. How many are familiar with CSS Visited? Is that a property you can set in CSS? Okay, pretty good. So this has been around since the introduction of CSS.
And websites can actually figure out what sites you've visited by giving you a set of links and setting this Visited property on it. So they can see changes in the layout when we change the colors of the links in the web page that you see. So the idea in this feature was
let's change the colors and layout of the page so that you can see whether or not you visited a site when it appears as a link in the page.
But it also allowed websites to track your movements around the web. So David Barron, one of the developers and one of the people that works on the CSS spectrum, he's been thinking about a way for almost a decade now that we can maintain the value of the feature to the user
but also make it so sites can't track it. So finally after nine years of working on this, he's come up with a solution that's been integrated into Firefox 4. And Chrome has also adopted this code. They've taken it in. And we want to get all browser vendors to adopt this.
So that's kind of two things. One is taking a long decade. The other hopefully will be successful in a much shorter time.
So then we have the programs that are set up so that if you do come up with your own feature idea, there's funding available for you to explore those ideas. How many are students? You? Any of you ever participate in the Google Summer of Code? Yeah.
So this is a very interesting program that you can get a stipend for Google and you can work on open source projects. And we've had one of the students a couple years ago did the implementation for WebCycles for Firefox. So you basically can pick the project
that you want to work on. You write up a specification of what you want to do. There's a committee that evaluates, and they select about 10 to 12 projects a year to work on Firefox. And then we also have other internship programs. We have security bug bounties and security research
contracts. And we also have ways to test out your ideas with a program called TestPilot. It's integrated into the beta. And we ask users if they want to opt in
to sending information about individual study that we're running so we can start to gather, collect up statistics on how many tabs people have open, how many bookmarks, how they use the browser. So it's allowing us to design the features a lot better. So there's opportunities for you
to create one of these studies. There's also opportunities to help us evaluate the data and display it in an interesting way so that we can learn more from it. And then how many are add-on users?
Maybe 75%. So add-ons are a way to see what kind of experiments the people are doing. That was the intention of add-ons, is to allow people to experiment and try out new ideas.
And there's a replacement for the add-on system called Jetpack. And it should make add-on development easier. And there's also a project called Chromeless, which allows people to create an application user
interface just based on HTML so that you don't have to know the Zool language that Firefox is building. So those are a lot of the ideas about how you can participate, different ways
that you can plug in to taking some ideas that you have, working with others, and help us to innovate and improve Firefox. So there's a few more ways.
So I think I'm almost out of time. If there's any questions, we can wrap up now. So how do we assign these features to the one we're implementing in the next series of classes? Mostly, we try and shift the responsibility
for making decisions about any area of the code to the module owners of the specific area of code. So if it's a networking feature, there's someone who is the module owner of the networking code, and they make decisions on what features go in or out. So there's about 100 different functional areas
of the browser and 100 different module owners. So it's a pretty complicated process, especially if you're developing a feature that spans a number of modules. You basically have to convince a wide group of people how to use it. Just through discussions and bugs, exchange of ideas,
and try and build consensus. Is that their mailing list? Yeah, they're mailing lists, wiki pages, and through the bug system. Hopefully, they'll write up a blog post
on what they're trying to do, or create one of these videos on what they're trying to accomplish. They might write a specification and put it out on the Arizona org wiki. And then they might open a bug and start attaching patches to the bug. Then they'll try and get the module owners to review the patches, provide feedback,
or it might go through several iterations of trying to make the code more compatible with the existing architecture. They'll get lots of feedback through this peer review process that every change goes through. And then if everyone kind of decides, yeah, now it's ready, that gets checked in.
There's quite a few. Sync started out, the Firefox sync, started out as an add-on.
It's being integrated. The search engine search bar, I think, originally started out as an add-on.
Some awesome bar features that search your browser history and give you the list of sites. One of those were just started out as for some way to start it out. A lot of the projects that we worked on from labs started out as add-ons. And then if they evolve to a certain stage,
then it will start to get configuration. A big place to test out ideas. OK. Thanks for coming. And I'll turn it over.