 I'm just talking about the wireless feature system, library 5.0c for any of you who don't use it. Hi, hello everyone. Thanks for coming out. So, sorry, the speaker system's not working, so I'm trying to talk loud. So I'll try to talk loud. Can everyone hear me that's kind of moved down? Can you hear okay? So Paul Rosheck came up with this idea. He was originally going to get this talk about, I'm talking about features that go into Firefox and to get people an idea about the process that we use for thinking about innovation and for trying to get features in Firefox. So, I've done a few thoughts and I'm going to share them with you today. Mostly want to make this more of a conversation. 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 this history at browsers and how they've evolved over the years. Ingredients for what it takes to create a feature and get it into Firefox. Some of the successful things, some of the things that, you know, 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 you said, if you have questions, raise your hand and let's make this more kind of a discussion. So, how many of you are at Firefox? You say so. I'm kind of proud I'd like to talk to you. I only speak where we have 100% more of us here. So, how many of you have had some ideas about features or you're working on stuff, actually working on stuff that you like to see get into Firefox as a feature? Okay, a couple of people. All right, so hopefully this will inspire you to get involved in some way. And there's 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 backend, the gecko core engine that tries to harness all the complexity of the web that 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 backend, to do real innovation, we have to get all of the browser vendors convinced to eventually include a feature if it's gonna 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 the regular contributors? Okay, is that okay? All right, well I'm gonna convince you that you're all wrong there. So the first thing, so I'm gonna stop and think for a minute. When was the first time that you used Firefox? That we first started developing the Firefox code on the Mozilla in 2003. And sometime between 2003, every one of you downloaded it and it's followed it for the first time. So if I'm to think back, what was the year that that happened? I'll give you just a minute, is that it's a thing? Okay, so 2003, how many? All right, all right, now 2004, 2005, 2006, and more, 2007, 2008, 2009, 2010, and this year, okay. So it's pretty interesting. So the distribution there is 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, 10, or more? Like who thinks they have the highest number of people that they've interviewed Firefox to? Anybody over 10? So another thing about viral adoption of any kind of products is that there's a lot of people who have been using Firefox for a long time. Any kind of products is that there's a lot of researchers who have studied this. The way that products become viral is not that like one person starts using it and they've introduced 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 in fact 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. They started out with one or two people developing and starting to use Firefox and now there's over 450 million people who are using Firefox. And if you know anything about Mozilla, we don't do advertising. The only way that this growth has come about is people like you that have tried it yourself and then have helped others to 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. If you look down on this side 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 to have 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 webpages easier to use and made the web accessible and useful for more people. And then we moved to what are called 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 ID and advancing it. But at Mozilla, we were. And so we had this period of the dark ages of the internet. We at Mozilla continued to try and improve the browser, but Microsoft wasn't going along the program. And so it's been a constant battle since around 2001-2002 that kind of dragged them back. Find ways that we could 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 started 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 the IE6. So that's a pretty major accomplishment. So I mentioned that we had the 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 buzzword 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 browser starts to go out. So things like OpenVideo, 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. 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 the 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 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. You can see all the major features there. We've kind of been tweaking around the edges. And then there was this period of satination 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 has 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 to... 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 when 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, you know, that's the equivalent to the Netscape browser. And we moved from a stage where it was just 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 that 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 an 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 that you now can unclick. 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 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 the 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 advanced as far as advanced as we think we might be. So in 1973, the Mercedes S-Class 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 browser 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 in the 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 is 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're 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 standard. 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? 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 of another team is that first of all there's an alternate technology called WebOpenFonts the WebOpenFont format 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 whole set of SVG fonts as well. They've adopted just enough to pass the ACID-3 test. So there's some interesting, if you're interested in reading more one of the essay user experience people Alexander Lee wrote an article on this and he 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 WebOpenFont format 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 and everybody has 100% adoption except for Firefox and ACID-3. So let's get back to this comparison to the auto industry. There's still some challenges that the auto industry has started to innovate and advance again, largely driven by oil prices. And they've done a lot of interesting technology to make cars more economical. And that's probably an area where browsers will go next. We've made some choices in Firefox 4 that optimize on speed but not necessarily memory use. So we may have to revisit those and we may have to find solutions that not only give us performance but also they're economical in terms of memory use. So this is the testable memory in this way. So you can have a car that goes 200 kilometers per hour and it adds 1 cent a kilometer to operate. And that's about one tenth of the operational cost of a gasoline vehicle. So if we look to this other industry about where might things go next, effective use of the computing resources that people have, not only at desktop but at 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 this comparison of the other industry, 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 browsers general. That's the way that people evaluate browsers. If there's one critical element of those five or six things that 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 in fact about one of the things that's that's allowed us to to innovate with Firefox is that like we've tapped in with people who have a real passion for creating browsers and for making the web better. And this initiative and 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 Alice Kod 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've paid him $6,000 over the last few months for doing this research, reporting bugs to us, doing responsible disclosure. And, you know, if a 6-year-old kid there's lots of challenges to anyone trying to figure out the Mozilla code. But it's an example of like someone taking enough initiative to 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 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 the description 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 the approach to creating the future. So here's an example of that. So even if you don't have any coding skills, how many are program-rich in the other ones? 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 solutions 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 future 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... So this is an idea... you know, creating these videos is an idea where you're explaining the future and then 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 came out. So, yeah, you know, it's like, you know, it's like, you know, it's like, you know, it's like, you know, before this feature called panorama was included in Firefox, in Firefox 4.0. 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 of, you know, showing how WebGL works. Hi, my name's Laren Pichier, and I wanted to show you some WebGL demos running on mobile phone. Here we've done a WebGL demo running inside Firefox. It's a simple demo. We're just trying to get the last people to model and letting user rotate it around. You can see it's pretty performant, even though we've done a small optimization work on WebGL these devices did. This is really the first build of that. I've got things to work. There's another demo that's creating the effect with the complex OpenGL shader. 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. Third demo is the one that I'm running on the device. So that's an example of, you know, someone, you know, Vlad, who's working on WebGL for many years, and he's a vendor to adopt that technology and trying to get it integrated into a hostility. He's gone through, he's not only explained what problem he's trying to solve, but he's also given 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 that are interested in the 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, like, 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, you know, 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, there's, you know, most of innovation, the way that people think about it, is, comes through in a 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 that innovation will actually speed up by doing that. And then the last point here is about if you come up with an idea it's pretty likely that someone will already have had something similar to that. There's 10,000 different add-ons for Firefox. Different people trying out experiments. So that's a place where you can go look and find out if anyone's done work in this area before. Or 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. 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 look for areas where people are struggling in their use of the browser. Either yourself or things that you observed and try and identify these areas of attention. 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 10 years ago, Microsoft created a monopoly on a web browser. You need to find ways to break that monopoly down. You need to find ways for people to think about social interaction as well. So there's a security researcher called Moxie Myron Spike. 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. It's 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. It's as if we can focus on creating an interaction model between people rather than through centralized services will probably be a lot better off. What's obvious is that users aren't part of this debate. We're kind of being dictated in the terms of and the trade-offs that people are making. And the terms of the debate are do you want targeted services or do you want anonymity and privacy? You can't have both. If you state the question that way it's probably true but there may be alternative ways that we can go around creating this. So you've got you, you've got all 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 science. But there's no kind of user voice in what's going on. And the attitude of the websites and ad networks and analytics companies are basically you have no privacy on the internet so get over it. And one thing that we want to do in 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 that's the situation that we're in where 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 and 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 able to make a feature in Firefox 4 called Do Not Trap. And, you know, like we say, innovation comes when you try hundreds of experiments and you finally latch on to one. So this is one of many experiments that we want to try. And basically we're going to have a setting of the browser where you can go in and you can say, I want to be served targeted ads. You can check that box or you can check the box that says Do Not Trap 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 and add 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 things that we're getting that says I don't want to be trapped. And we'll publish that information so the whole industry can start to understand how many users out there feel this way about problems that they don't want to be trapped. 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 can find money is that I don't think that's true. And so this is one way that users are going to be able to provide a voice. Have you decided to 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 is that's what we should be saying there. There's another way to look at it is 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 change, if we 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 Mozilla thinks that this user doesn't want to be tracked. So we thought the best way to allow the user to have a voice is to send no setting is the default. And so there's actually three settings going on. 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 got a Firefox 4 beta users? Alright. So today I hope you all go down today or tomorrow. Go download Firefox 4 beta 11 and go into the Advanced Preferences section and check the box. This 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 Zoom actor. It was a core technology guy who 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 we can start right here. Ten years from now I can come back to the conference and I can say how many sets do not track on the weekend that was introduced. And you guys will be the start of the way. It's like you were started the way when Firefox was here. 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 this is a problem on the other end of the spectrum. This is how many are familiar with CSS Visited. So this has been around since the introduction of CSS and websites can actually figure out what sites you visited by giving you a set of links and setting this Visited properties 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 there appears a link in the page. But it also allowed websites to track their movements around the web. So David there and one of the developers and one of the people that 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 attract people. So finally after nine years of working on this he's come up with this solution that's been integrated into Firefox 4 and Chrome has also adopted this code they've taken in and we want to get all browser vendors to adopt this. So that's kind of two completely things. One is taking a lot in a decade and the other hopefully will be successful in a much shorter time. So that being added are programs that are set up so that you do come up with your own feature idea there's funding available for you to explore those ideas. How many are students? A few. So any of you have participated in Google Summer Code? 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 web cycles 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. We also have ways to test out your ideas with a program called test pilot that's invading the beta and we ask users if they want to opt in to send the information about individual studies 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 of add-on users maybe 75% So add-ons are a way to see what kind of experiments the people are doing. So 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 should make add-on development easier and there's also a project called ChromeList 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 going to use. 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 invade 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. Mostly we try and shift the responsibility for making decisions about any area of the code to the module of the specific area of code and the 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 a number of different functional areas of the browser and a hundred different module owners so it's a pretty complicated process especially if you're developing a feature that spans a number of modules like you basically have to convince a wide group of people just through discussions and bugs, exchange of ideas and try and build consensus Yeah, they're mailing lists wiki pages and through the bug system is kind of someone will hopefully they'll write up a blog post on what they're trying to do or creating one of these videos on what they're trying to accomplish they might write a specification on what they're trying to do 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 besides now it's ready that gets checked out There's quite a few I don't have a hard time listening by now sync started out the Firefox sync started out as an element it's being integrated the search engine search part of it originally started out as an element for our features search about history and give you the list of sites for those who started out for some that started out a lot of the projects that we've worked on in the lab started out as an element and then they evolved to a certain stage a good place to test out ideas ok, thanks for coming