 I'm going to introduce our next speaker. Pascal, Cheryl. Pascal is from France. Okay, I know I butchered that. I'm not even trying to do the French pronunciation. Pascal has been around in the Mozilla project since the Metscape days as I have. So do you remember that old dinosaur, logo of Mozilla, that's Pascal and I, we're the dinosaurs. And he's, before he worked in tech, little bit in fact, Pascal was a furniture salesman. So take that as you can. Okay, so I think he's ready to go. If you click the thumbnail though, you should be, yeah. One of you command shift F. Okay, I'll let you talk. I'll do that. It's so sad to do it on the Mac. Give this one. So that's great full screen mode in Firefox Mac. That's why you don't use that. Okay, so nice to see you. My name is Pascal as he told you. I've been in a project for forever. And I'm working for the release management team on the Nike reboot project. So first maybe a question. How many people use Firefox Nike in the room just that I know? Okay, so that's a third. So I hope that at the end of the talk, like the two third that don't use Nike, we'll try it. So it's Nike for the people that don't have it. That's Firefox with the code that was just checked in. So that was the code from yesterday and often the code from the morning. That's the six weeks of our train model. We have a, we release every six weeks, a new version of Firefox. And first it goes through the 90 stage and then Aurora and then beta and then release. So that's not final work. That's work in progress. They are bugs. It's expected. And that's why we need you. Many experimental features. So the thing that is not so nice is like it's more crashy. It's not as stable. But the nice thing is that you get to experiment all of the new features in Firefox weeks, months, and sometimes even a couple of years before. Some features take a very long time to get in the final release, like multiprocess, for example. So it's awesome. Use it. Why do we need the Firefox 90 users? So basically this is a community talk. We need Firefox 90 users because we need your feedback. We need to know what's broken. We need to know what was working and is no longer working. We need to know which websites are no longer working with Firefox before it reaches the big audience, the hundreds of millions of people. We don't have many 90 users. If we had a lot more 90 users, that would definitely help us. That would help us prioritize work on crashes. That would help us find regressions. That would help us having a better support for macOS and Linux because we have so few users on this early pre-release channels on smaller platforms that it's hard to detect all the bugs before the hit release. So one other reason is very important this year is that we have quantum. You might have heard about it, but we are merging some features from Servo into Gecko. Servo was an experimental rendering engine. It's great. It allows using multiple cores to process CSS. It allows using the GPU. It's much more modern, but it's not for the end user. But there are some parts that are really cool and we want them in Firefox. So currently we are merging this code. Yesterday the Servo repository was put into the Gecko repository as a vendor branch. That means by the end of the year you will have a brand new Firefox with a new engine. That means we're going to break a lot of stuff. So we will need a lot of feedback. A lot of what was working. My website is not working. The CSS is working. This is bad. This is a regression. This is faster. This is not faster. So this is also why we need more nightly users because all of this work is going to happen on nightly. So for many months nobody will know about what the quantum is in real life except nightly users or people that compile it. One very important thing is that I think that nightly is a great vehicle to get our technical community involved. We have a lot of people involved in Mozilla. But I think we didn't get such a great job involving the technical community that we have. There are tens of thousands of people that use nightly. We don't have tens of thousands of people that we put bugs on the daily basis that write patches that talk with the developers and that bring us their ideas. So there is something that has to be fixed there and I really hope that we can grow the size of this community, get the people already using nightly more involved and the people not using nightly involved in Mozilla. So who are they? So usually when I talk to my colleague they tell me, yeah, that's Linux crowd and the people that go to FastDemon. That's not true. Most of our users are on Windows. So we have a bit more Linux users than Mac, yeah. But that's not the majority of the people. The majority of the people that use nightly, they're on Windows. There is a difference with the release channel. We also have a majority of people on Windows except that we have a lot of Windows XP on the release channel and a lot of Windows 10 on the nightly channel. So of course these people are not totally representative of what we have on the release channel. But it's not that far. Who are they? Where are they? What language do they speak? So it's interesting that we have Firefox users all around the world. We don't have Firefox nightly users all around the world. It's only a few countries. 15 countries do like 70% of who use the base and that's mostly the US, Canada, Western Europe, Russia. Russia is a big one and Japan. So that's not great. There's a lot of people that could give us feedback that could tell us their bank is broken in Cambodia and we don't know about it. We know about it when they file bugs when it's based on the release channel. So that's not great. The other interesting thing is that most of the nightly users use the English version. It's not because we are all great at English. Look, you can hear me so I'm not great at English. It's just that for years it was impossible to find the localized versions. People thought they didn't exist. But actually they were there on the FTP. So almost all of our users use the English version except the Russians because they had set up their own download website because we were not doing it at Mozilla. So that's not great either because we also need feedback on the quality of the localization. We need people to use something that the end user in their country is going to use and most of the people they are not going to use the English version. So if there's some text that goes outside of the box that is unreadable, that just doesn't make sense. We don't know because people use the English version. So that's the map of where all nightly users are. Nobody in Africa basically. So South America is not great either. We have really a lot of people in Brazil and that doesn't look great on the map. So that's really something to fix. It's not just countries that have lower internet penetration. People don't have access to computers. Now we have very low numbers, very low nightly numbers in countries where there is general education, there is good internet access and we have lots of Firefox users. So we miss something. There is something that is not, it doesn't feel right. So eight months ago I started the nightly reboot status as part of the release management team to see what could we do. What could we do to get like more nightly users? What could we do to get them like more involved, to get more information on crashes, to give you an idea. We have so few crashes on the nightly channel that we don't know if a crash is going to become explosive on the release channel or not. So when we have to prioritize work between true crashes, we don't have the volume to tell us, oh, that looks, that looks like it's going to be a lot of crashes on the release channel or maybe it's going to be 15 crashes on the release channel because some guy is using Firefox on a poor PC and a RISCOS platform and that's nobody. We don't have the volume to make the informed decision to prioritize the work for developers. So as I told you, that was not a big focus of Mozilla. I think we always took for granted that we had a nightly community that was providing feedback and we didn't see the gem that was in this community. So there was a lot of things to improve. So we did a lot of things in the last eight months. First, we have download pages. That's amazing. You can download nightly. Believe me, it was complicated. For a very long time, the localized version were only on the FTP. So people thought they didn't exist. There was a separate download site that had been set up in 2011 by the web dev team and nobody was really updating it. Like, all templates, it was not localized, we had no metrics. It wasn't great. And it was not part of our main download site. So people really had to Google it. They had to find it. And of course, there was no issue optimization. So it was actually even hard to find if you were looking for it. So now we have all of our builds on Mozilla.org. That means we change some infrastructure that we use to ship Firefox to have nightly has a real channel. There is information in our tools that tell us the nightly version is this one. And we have this local, this local, this local. So that was a lot of work and that pays. Like, 15 days after we put it up on Mozilla.org, we had like 15 languages that had translated the download page. So now nightly is also on the pre-release page. We have a pre-release page that talks about the dev edition beta. It wasn't talking about nightly. A nightly is all, I mean, it's all main pre-release channel, the one that gives us the best feedback because when people report a bug for a regression that happened like yesterday or three days ago, it's very easy to back it up, to back it out. If it's like six weeks, 12 weeks, 18 weeks later, it can be like more tricky, like just finding the regression range. And sometimes, mechanically, you cannot back it out because the code has changed too much around. So it's very important for us to get this feedback very early. And it's great that we have download pages. We changed the default bookmarks. Like, the default bookmarks for nightly were the same as the release channel. So they were telling you, do you know what Mozilla is? Or are you looking for add-ons? I think the people that went to the FTP site to download nightly, they can find add-ons. And that was really the same bookmarks for the general public for everybody. They make sense for the general public. They don't make sense for people that are very technical savvy. So now there are links that lead to contribution. They go to our IOC channel. We created an IOC channel for nightly. We opened a blog. So go to a blog, visit Planet Mozilla, get involved. We have the same get-involved link, but instead of going to a general purpose, get involved in Mozilla, spread stickers and so on, which is useful. It's more like, yeah, write batches, file bugs. That's super useful. That helps us. That's the... We don't want to change the people that use nightly. The people that use nightly, they are tech savvy. That's great for us. It doesn't mean that they're computer scientists, but that means that when they open a bug, it's actionable. We can do something about it. We can have a conversation with the developer that is going to fix the bug, and the people, they understand each other. It's not just like, it's broken. So it's very important for us. We have a blog. I mentioned it. We have nightly users. The problem with nightly is that it's not a release, or actually it's a release every day. So you don't get like release notes. Even though nightly users, they didn't know what was new, because if some new feature is in a menu, or if it's a contextual menu, or if it's not obvious, or if it's an option, you're probably going to miss it and think nothing is happening if it's not user-facing. But there's a lot of cool stuff that is happening that is not user-facing. So we opened a blog last summer, and we are inviting everybody to write to this blog. That means volunteers as well, not just monthly employees. If somebody is organizing an event to promote nightly in Vietnam, that would be great to have a post about it. There was a guy who wrote an article on how to install Firefox Nightly and get it integrated with Ubuntu Unity. That's a great article. And you get developers that tell us, I'm working on this feature. It landed yesterday. Give us feedback. Or you have developers that make a recap. This week in Firefox, this, this, this, this new feature, this was fixed and so on. So that's external communication. Because we have to fix all of the communication around nightly, external and internal. The Twitter account is super active now. We have just reached 10,000 followers. People eight months ago, when I took over the Twitter accounts, they were sending angry messages. My Firefox is not working. What are you doing? And so on. And now, they really interact like they tell us, oh, I think this is broken because of this bug. Can you look at this because I think it was working before or not now? So it's a very positive interaction now and very useful. So that's external communication. But we have, like, we have set up great internal communication in Firefox. We have this page about home with snippets, promotional snippets at the bottom. And we never used it for nightly. Of course, we're not going to tell people to go to maybe they're not the right road. But if I tell them, we have this problem on the Mac and you're happy to have the same configuration. And could you have a look at this bug? Or if I tell them like here, we have a new menu in Firefox Nike to report a broken site. Learn about it in this article. That brings the value to the user. It discovers new features. That also brings, so that improves retention. Like, people know that there's something cool. They discover it and they keep using it. That also helps, like, growing the community. In the French version of Firefox. So this is on the English version. This is on the Spanish one. So on this one, you see that's a link to an article about quantum. That's the Spanish community. Mozilla's panel has translated. And this is the French one, which is talking about the news that is going to happen in Mozilla, Paris, in April for localizers. So we can promote events like you can imagine that somebody that is using Firefox Nike in French or in Russian instead of English, there's probably something that is very interested in Mozilla and they are also interested in their own language. Otherwise, they would be using the English version. So maybe they could join your localization team. Maybe they would be interested. So that there is a way to interact with your users and not just with your potential users. And the What's New page. So since nobody was really taking care of Nike, the What's New page had been deactivated. That's the page that appears every time you change your cycle. Like, when you go from 953 to 54, the day changes, like the day your version number changes, you have this page that gets displaced. That's a very easy thing to set up. And now we have established a communication channel with our users. We are not like spanning them every day with the What's New page. It's just like every six to eight weeks, they get a message like a nice reminder. You can get involved in Mozilla. Here you can find more information, but more like targeted at more technical people. Like going to site, like, what can I do for Mozilla? So I'm a C++ person. I could do that. I'm a Java person. I could do that, et cetera. Instead of getting people involved in things, we are already good at. We are good at organizing events everywhere in the world. That's all for the general public. We don't need the help of Nike users for that. So the things that we did in the last month was fixing the download process problem, fixing external communication, but also fixing internal communication. So this is the most important for you, for the two-thirds of the room that don't use Nike. So what could you do to help? Promote Nike. So I'm promoting it in French. I'm promoting it in English. I'm trying to promote it in Spanish. And that's the extent of my languages. So if you speak another languages than I do, then the three I have mentioned, please promote Nike. We have a blog. Maybe you can translate the interesting blog articles. We have events. Maybe you could organize events in your region focused on testing, back-to-reaching, attracting a more technical crowd, people that will be able to find a regression range and say that this patch caused this bug. That would be really cool. Make some buzz around it. And do you have a patch in Nike? So that's mostly for the people that are already involved in Mozilla, like employees, but also volunteers that have patches in Nike. Talk about it on the Mozilla blog. If you do something interesting related to Nike, I will be very happy to promote your work, to promote it through the tools that we have, the external ones that I mentioned, the blog and Twitter, but also the internal ones. We can put it on about home, which is viewed by a lot of users. We can put it on what's new page for your language. We don't have to have the same what's new page per language. We can have different information. Sorry, that was the last slide. And then use Nike as your main browser. If you use it on the side, it's great. That's cool. Nike has telemetry activated by default that sends useful information to developers, send your crashes. But if you can, please use it as your main browser, not your secondary browser. Try to connect to your bank. Try to use all of your websites. And tell us if it's broken. If a website is broken, like a banking site, it's very important to know. Three hash bugs. That's also a very important thing to do. We get an influx of lots of bugs every day. And there are not enough employees to react to all the bugs that go to bugs in Amazon. And then help people not comfortable with English reporting. Reporting bugs. That's what the French and Japanese communities do. People find bugs, but they are not comfortable finding bugs in English. Yeah, my time is up, I think. So help them. I forgot to say that I'm very talkative. Okay, that's the last slide. So the grand idea is to improve the quality from the start, like improve the quality of Firefox. If we can improve the quality of Firefox significantly, maybe we could do that. Like, only lightly beat our release. And ship faster and better software. So that's the idea. Yes, Geoff? Firstly, why would we really want to do that? What difference does A-breeds make given that we're used to ship every year and a half? And we thought, you know, we want to ship faster. And we are shipping faster. But now. And secondly, have we looked at automated browsing? Because it seems like you're saying, hey, everybody, run a browser that crushes more. Because then you can tell us all about the crushes, and you lose all of your work. And it's like, that doesn't, you know, it's hard to make them attractive. If we had a whole bunch of machines that were just surfing the web, and they were also producing crashes, you could say, well, we want some help with that. But if the machines aren't doing it, and you're asking us to do it, that seems a little... So several questions. So why are we doing it? The ORA cycle is useful, but it's not giving us the feedback that it should. We don't have a lot of people on this channel. And most of the people that are on this channel used to be 90 users. So basically, we get the back reports, but six to eight weeks later. So that's not great. Also, it's promoted as a web dev tool now. And we get a lot of reports for the dev tools, but not for the rest of Firefox. So it's still useful. It's a stabilization step. But it's not as usual as we hoped it would be. So it's not that great. The second thing is that we have a lot of people that want to shift faster internally in Mozilla. And it's true that some things, like changing the size of a button in the UI, it could shift faster. So currently, what we do is that we uplift a lot of things to ORA. So that's work for the release management team to uplift lots and lots and lots of patches to ORA and beta to go faster. But basically, this could shift faster. So that was why this channel is not that interesting. If we improve the quality on nightly, we don't really need the ORA channel. The other thing is that we don't have a lot of people on nightly. And since a lot moved to the ORA channel, we don't catch the crashes on nightly. That means that ORA is not stable. It's not as stable as you think you are. It is. It's because we didn't catch the crashes that we used to catch before. So if we grow the community on the nightly channel, we don't catch them on the ORA. So it's faster. Then you talked about automation. A lot of the crashes that we have, they are specific to the configuration of the people. Graphic cards, antivirus, add-ons, tons of things like the metric is gigantic. So everything that we know, we test automatically. But what we don't know, we cannot have tests for. That's what we are looking for. And now we have just landed the electrolysis. And electrolysis multi-processes is on nightly now. And we have quantum coming. That's a lot of ground work, like important changes, like hundreds of thousands of lines of code that's all going to land. And we will need this feedback very, very, very early. Does it answer your question? Cool. I will be available most of the time at the booth, at the Mozilla booth in a building case. So don't hesitate to talk to me in French, Spanish, English. I always do, yeah. I'm going to do the intro on this and then I'll turn it off. Everybody squeeze in, squeeze in to the middle, especially on that side. To do what? The camera. So we're going to get started. We're already five minutes over. No quick things. Please use all the empty seats that you can in the middle, squeeze in, make room at the edges. We're going to have more people coming in, just to cause as little disruption as possible. Plenty of room at the back. Don't stand in the aisles if possible. If you're new to the room, we have a room code of conduct. Check it out. As I said, it's unique to this room, separate from the follow-up code of conduct. So have a quick look, if you can, please. I'm going to introduce our next speaker, Alex Lakatos. His friend's calling Laker, but for some reason he's not fond of that. He's a JavaScript developer by dairy and a mausoleum by night. He wears many hats. He's a reps council member and he's a tech speaker. Little in fact, in his misguided youth, he got a Casino dealer license. So over to you, Alex. Take it away. He's absolutely nice, right? And I'm going to take a seat because I'm not as young as I like to think. I want to talk to you about fact of that thought and some tips and tricks that I use in my daily life and sometimes in my nightly life. So I love developers. Yes, yes. Okay, good. So most of you. If you have any questions, I'm going to be outside after this. I'm going to try to make it on time though. So let's get started. How would you open developer tools? This is just like a small little demo page I'm using. I'm shamelessly plugging my dog here, even though it has only one article. So how would you use the developer tools? Most people go right click and then there's inspect element in here somewhere. That opens up like just the inspector on the element you clicked. There's another way you can go to tools web developer and then pick your tool from there. Let's start with web console. Good. So I'm setting the web console just because this was the first and I always go there. But I want to show you inspector first. The whole idea behind it is my dog is buggy and I kind of want to fix my button here. I want to do that. I have to select my button. It's kind of not really sure which one is my button. There's more elements. But I have this little search field here that helps me help these CSS electors and I'm using material so I know this is going to be an MDL button. If I try to search for it, it's going to show me a page has like four different buttons on it. So I'm going to cycle through them until I get the one I want. Okay. So now I have my, I have my button on screen size. So I can see my CSS for my bottom right here. It's not the color I want it to be. So I'm going to try to look in here for colors basically. Now there's a lot of CSS, right? So I don't know which one of them is the one I'm looking for. But trying to find the instance of color is going to take me some time. But I have this filter in here and they can just say