Language Selection

English French German Italian Portuguese Spanish

Moz/FF

Firefox Development News

Filed under
Moz/FF
  • Not every bit of code you write needs to be optimal

    It's easy to fall into the trap of obsessing about performance and try to micro-optimize every little detail in the code you're writing. Or reviewing for that matter. Most of the time, this just adds complexity and is a waste of effort.

    If a piece of code only runs a few (or even a few hundred) times a second, a few nanoseconds per invocation won't make a significant difference. Chances are the performance wins you'll gain by micro optimizing such code won't show up on a profile.

  • Making tab switching faster in Firefox with tab warming

    Since working on the Electrolysis team (and having transitioned to working on various performance initiatives), I’ve been working on making tab operations feel faster in Firefox. For example, I wrote a few months back about a technique we used to make tab closing faster.

    Today, I’m writing to talk about how we’re trying to make tab switching feel faster in some cases.

  • Firefox 60 Is The Next ESR Release, Introducing Policy Engine

    For those sticking to Firefox Extended Support Releases, the Firefox 60 branch will be the next ESR version.

    Firefox 60 will be an ESR release and the plan is to have the ESR 60.0 release out on 8 May, the Firefox 60.1 ESR release on 3 July, and to end Firefox 52 ESR on 28 August when releasing Firefox 60.2.

Top 5 Firefox extensions to install now

Filed under
Moz/FF

The web browser has become a critical component of the computing experience for many users. Modern browsers have evolved into powerful and extensible platforms. As part of this, extensions can add or modify their functionality. Extensions for Firefox are built using the WebExtensions API, a cross-browser development system.

Which extensions should you install? Generally, that decision comes down to how you use your browser, your views on privacy, how much you trust extension developers, and other personal preferences.

Read more

Mozilla Leftovers

Filed under
Moz/FF
  • Mozilla Release Management Team: Firefox Release management at FOSDEM 2018
  • Mozilla Reps Community: Reps Council at Austin

    The All Hands is a special time of the year where Mozilla employees along with core volunteers gather for a week of many meetings and brainstorming. The All Hands Wiki page has more information about the general setting. During the All Hands, the Reps Council participated in the Open Innovation meetings as well as had meetings about what 2018 planning. One of our main topics was about the Mission Driven Mozillians proposal.

  • Announcing ESR60 with policy engine

    The Firefox ESR (extended support release) is based on an official release of Firefox desktop for use by organizations including schools, universities, businesses and others who need extended support for mass deployments. Since Firefox 10, ESR has grown in popularity and many large organisations rely on it to let their employees browse the Internet securely.

    We want to make customization of Firefox deployments simpler for system administrators and we’re pleased to announce that our next ESR version, Firefox 60, will include a policy engine that increases customization possibilities and integration into existing management systems.

  • Web. Period.

    Seen from here, EPUB is a technical dead end. The ebook market just cannot absorb newer versions of EPUB any more, and I’m not sure when it will be able to absorb even light incremental changes again. EPUB books based on EPUB 3.0.1 or a light and for once backwards-compatible evolution of 3.0.1, are here to stay for a very, very long time.

  • User Style for bugzilla.mozilla.org

    Yesterday, I was talking with Kohei Yoshino (the person behind the Bugzilla Quantum effort that recently landed significant UX improvements to the header strip) about some visual issues I have on bugzilla.mozilla.org which basically boil down to our default view being a bit too noisy for my taste and not emphasizing enough on the key elements I want to glance at immediately when I visit a bug (bug Status, description, comments).

    Given that I spend a significant amount of time on Bugzilla and that I also spend some time on Github issues, I decided to see if I could improve our default theme on Bugzilla with a user style to make it easier on the eyes and also closer visually to Github, which I think is good when you use both on a daily basis.

Mozilla leftovers

Filed under
Moz/FF
  • Mozilla Marketing Engineering & Ops Blog: Kuma Report, December 2017

    We have a lot of things we have to do in Q1 2018, such as the CDN and Django 1.11 update. We postponed a detailed plan for 2018, and instead will spend some of Q1 discussing goals and priorities. During our discussions in December, a few themes came up.

    For the MDN Web Docs product, the 2018 theme is Reach. We want to reach more web developers with MDN Web Docs data, and earn a key place in developers’ workflows. Sometimes this means making developer.mozilla.org the best place to find the information, and sometimes it means delivering the data where the developer works. We’re using interviews and surveys to learn more and design the best experience for web developers.

    For the technology side, the 2018 theme is Simplicity. There are many seldom-used Kuma features that require a history lesson to explain. These make it more complicated to maintain and improve the web site. We’d like to retire some of these features, simplify others, and make it easier to work on the code and data. We have ideas around zone redirects, asset pipelines, and translations, and we hope to implement these in 2018.

    One thing that has gotten more complex in 2017 is code contribution. We’re implementing new features like browser-compat-data and interactive-examples as their own projects. Kuma is usually not the best place to contribute, and it can be challenging to discover where to contribute. We’re thinking through ways to improve this in 2018, and to steer contributor’s effort and enthusiasm where it will have the biggest impact.

  • Retained Display Lists

    As part of the lead up to Firefox Quantum, we added new telemetry to Firefox to help us measure painting performance, and to let us make more informed decisions as to where to direct our efforts. One of these measurements defined a minimum threshold for a ‘slow’ paint (16ms), and recorded percentages of time spent in various paint stages when it occurred. We expected display list building to be significant, but were still surprised with the results: On average, display list building was consuming more than 40% of the total paint time, for work that was largely identical to the previous frame. We’d long been planning on an overhaul of how we built and managed display lists, but with this new data we decided that it needed to be a top priority for our Painting team.

  • Multilingual Gecko in 2017

    In January 2017, we set the course to get a new localization framework named Fluent into Firefox.

    Below is a story of the work performed on the Firefox engine – Gecko – over the last year to make Fluent in Firefox possible. This has been a collaborative effort involving a lot of people from different teams. It’s impossible to document all the work, so keep in mind that the following is just the story of the Gecko refactor, while many other critical pieces were being tackled outside of that range.

    Also, the nature of the project does make the following blog post long, text heavy and light on pictures. I apologize for that and hope that the value of the content will offset this inconvenience and make it worth reading.

Mozilla: AMO, Socorro, Rust and Alliance for Open Media

Filed under
Moz/FF
  • New Contribution Opportunity: Content Review for addons.mozilla.org

    For over a dozen years, extension developers have volunteered their time and skills to review extensions submitted to addons.mozilla.org (AMO). While they primarily focused on ensuring that an extension’s code adhered to Mozilla’s add-on policies, they also moderated the content of the listings themselves, like titles, descriptions, and user reviews.

    To help add-on reviewers focus on the technical aspects of extension review and expand contribution opportunities to non-technical volunteers, we are creating a new volunteer program for reviewing listing content.

  • Socorro in 2017

    Socorro is the crash ingestion pipeline for Mozilla's products like Firefox. When Firefox crashes, the Breakpad crash reporter asks the user if the user would like to send a crash report. If the user answers "yes!", then the Breakpad crash reporter collects data related to the crash, generates a crash report, and submits that crash report as an HTTP POST to Socorro. Socorro saves the crash report, processes it, and provides an interface for aggregating, searching, and looking at crash reports.

  • Rust 2018

    I want 2018 to be boring. I don't want it to be slow, I want lots of work to happen, but I want it to be 'boring' work. We got lots of big new things in 2017 and it felt like a really exciting year (new language features, new tools, new libraries, whole new ways of programming (!), new books, new teams, etc.). That is great and really pushed Rust forward, but I feel we've accumulated a lot of technical and social debt along the way. I would like 2018 to be a year of consolidation on 2017's gains, of paying down technical debt, and polishing new things into great things. More generally, we could think of a tick-tock cadence to Rust's evolution - 2015 and 2017 were years with lots of big, new things, 2016 and 2018 should be consolidation years.

  • A proof-of-concept GraphQL server framework for Rust

    Recently, I've been working a new project, a framework for GraphQL server implementations in Rust. It's still very much at the proof of concept stage, but it is complete enough that I want to show it to the world. The main restriction is that it only works with a small subset of the GraphQL language. As far as I'm aware, it's the only framework which can provide an 'end to end' implementation of GraphQL in Rust (i.e., it handles IDL parsing, generates Rust code from IDL, and parses, validates, and executes queries).

    The framework provides a seamless GraphQL interface for Rust servers. It is type-safe, ergonomic, very low boilerplate, and customisable. It has potential to be very fast. I believe that it can be one of the best experiences for GraphQL development in any language, as well as one of the fastest implementations (in part, because it seems to me that Rust and GraphQL are a great fit).

  • The Fight For Patent-Unencumbered Media Codecs Is Nearly Won

    Apple joining the Alliance for Open Media is a really big deal. Now all the most powerful tech companies — Google, Microsoft, Apple, Mozilla, Facebook, Amazon, Intel, AMD, ARM, Nvidia — plus content providers like Netflix and Hulu are on board. I guess there's still no guarantee Apple products will support AV1, but it would seem pointless for Apple to join AOM if they're not going to use it: apparently AOM membership obliges Apple to provide a royalty-free license to any "essential patents" it holds for AV1 usage.

Chrome and Mozilla (Robert O'Callahan Unlocks Secrets)

Filed under
Google
Moz/FF
  • Robert O'Callahan: Ancient Browser-Wars History: MD5-Hashed Posts Declassified

    Another lesson: in 2007-2008 I was overly focused on toppling IE (and Flash and WPF), and thought having all the open-source browsers sharing a single engine implementation wouldn't be a big problem for the Web. I've changed my mind completely; the more code engines share, the more de facto standardization of bugs we would see, so having genuinely separate implementations is very important.

    I'm very grateful to Brendan and others for disregarding my opinions and not letting me lead Mozilla down the wrong path. It would have been a disaster for everyone.

    To let off steam, and leave a paper trail for the future, I wrote four blog posts during 2007-2008 describing some of my thoughts, and published their MD5 hashes. The aftermath of the successful Firefox 57 release seems like an appropriate time to harmlessly declassify those posts. Please keep in mind that my opinions have changed.

  • On Keeping Secrets

    Once upon a time I was at a dinner at a computer science conference. At that time the existence of Chrome was a deeply guarded secret; I knew of it, but I was sworn to secrecy. Out of the blue, one of my dinner companions turned to me and asked "is Google working on a browser?"

    [...]

    One thing I really enjoyed about working at Mozilla was that we didn't have many secrets to keep. Most of the secrets I had to protect were about other companies. Minimizing one's secrecy burden generally seems like a good idea, although I can't eliminate it because it's often helpful to other people for them to be able to share secrets with me in confidence.

  • Chrome is turning into the new Internet Explorer 6

     

    Chrome, in other words, is being used in the same way that Internet Explorer 6 was back in the day — with web developers primarily optimizing for Chrome and tweaking for rivals later. To understand how we even got to this stage, here’s a little (a lot) of browser history. If you want to know why saying "Chrome is the new Internet Explorer 6" is so damning, you have to know why IE6 was a damnable problem in the early ‘00s.

Mozilla: Trust Violations, Privacy Pretense and More

Filed under
Moz/FF
  • Mozilla & Mr. Robot - Insert Freedom Here

    A few weeks ago, Mozilla finally showed us its true skin. No more illusions about its feel-goodie world-loving efforts. Yet another shark in the pond, after its share of filthy dimes. One day, there will be a new browser, and it will be something nice and cool and unspoiled by greed just yet. That will be the moment when I say goodbye to Firefox. For now, it's still the least annoying turd in the pile, and I'm exercising my rather futile civil duty to complain.

    In a world without real choice, the best you can do, short of a proper bloody revolution, is to bitch and moan and tell your story. Luckily, this seems to work well. If there's one good use to social media, it's blowing things out of proportion and making viral, tidal waves of feces. Harness that power. Fight back. Remember, there IS such a thing as bad publicity. When it hits their pocket, you know you're on the right track. So once again, thank you Mozilla for molesting my browser. Stay fake.

  • Mozilla statement on breach of Aadhaar data

    Mozilla is deeply concerned about recent reports that a private citizen was able to easily access the private Aadhaar data of more than one billion Indian citizens as reported by The Tribune.

    [...]

    Mozilla has been raising concerns about the security risks of companies using and integrating Aadhaar into their systems, and this latest, egregious breach should be a giant red flag to all companies as well as to the UIDAI and the Modi Government.

  • Lessons from the impl period
  • Looking back at Bugzilla and BMO in 2017

    Recently in the Bugzilla Project meeting, Gerv informed us that he would be resigning, and it was pretty clear that my lack of technical leadership was the cause. While I am sad to see Gerv go, it did make me realize I need to write more about the things I do.

Mozilla: Firefox Extensions for New Year’s Resolutions and Rust Programming

Filed under
Development
Moz/FF
GNOME
  • Firefox Extensions for New Year’s Resolutions

    It’s that time of year again where we endeavor to improve ourselves, to wash away poor habits of the past and improve our lot in life. Yet most of us fall short of our yearly resolution goals. Why? Maybe we just haven’t found the right Firefox extensions to assist our annual renewals…

  • This Week in Rust 214

    Hello and welcome to another issue of This Week in Rust! Rust is a systems language pursuing the trifecta: safety, concurrency, and speed. This is a weekly summary of its progress and community. Want something mentioned? Tweet us at @ThisWeekInRust or send us a pull request. Want to get involved? We love contributions.

  • Zeeshan Ali: My journey to Rust

    As most folks who know me already know, I've been in love with Rust language for a few years now and in the last year I've been actively coding in Rust. I wanted to document my journey to how I came to love this programming language, in hope that it will help people to see the value Rust brings to the world of software but if not, it would be nice to have my reason documented for my own sake.

Mozilla Announces Firefox 60 as Next ESR (Extended Support Release) Branch

Filed under
Moz/FF

Mozilla recently announced that the next ESR (Extended Support Release) branch of its open-source and cross-platform web browser would be Firefox 60, due for release next year in early May.

Since their initial launch, Firefox ESR releases have become more and more popular among various organizations that aim to offer customers a stable, long-term supported, and reliable browsing experience. Firefox ESR is known to be used in schools, universities, as well as small and medium-sized businesses.

The current Firefox ESR branch is based on Firefox 52, but it's nearing its end of life in six months, so Mozilla now plans to promote the upcoming Firefox 60 release to the ESR channel, along with a new policy engine that promises to make Firefox deployments and integration into existing infrastructures a lot simpler for sysadmins.

Read more

Mozilla: Activity Stream, Distributed Teams, Open Innovation, Bug Firehose

Filed under
Moz/FF
  • Graduation Report: Activity Stream

    We believed that if people could easily get back to the pages they had recently viewed and saved, they would be happier and more productive. We wanted to help people rediscover where they had been and help them decide where to go next.

  • Distributed teams: Better communication and engagement

    I always think that as a distributed team, we have to overcome friction to communicate. If we all worked in the same physical office, you could just walk over to someone’s desk and look at the same screen to debug a problem. Instead, we have to talk in slack, irc, a video chat, email, or issue trackers. When the discussion takes place in a public forum, some people hesitate to discuss the issue. It’s sometimes difficult to admit you don’t know something, even if the team culture is welcoming and people are happy to answer questions.

  • Open Innovation for Inclusion

    We partnered with Stanford University for a user-centric open design sprint. Technology is permeating most human interactions, but we still have very centralized design processes, that only include few people. We wanted to experiment with an open innovation approach that would allow users with accessibility needs to take an active part in the design process. Our chosen path to tackle this challenge allowed for a collaborative form of crowdsourcing. Instead of relying on individual work, we got our participants to work in teams across countries, time zones and professional expertise.

  • The Mozilla Bug Firehose - Design Decisions

    There could be many blog posts about the Mozilla bug firehose. This is just about dealing with one particular aspect.

    When a bug comes into Mozilla it needs to get triaged - someone needs to figure out what to do with it. Triaging is an effort to try and get bugs appropriately classified to see how critical the bug is. Part of shipping a product every 6 weeks is that we have to try and fix crucial bugs in each release. To do that you have to read the bugs reports and try to understand what's happening.

Syndicate content

More in Tux Machines

A look at Lutris – Open Gaming Platform for GNU/Linux

Lutris is quite the handy application I’ve discovered, that helps with organization and installation of games on GNU/Linux, even if they come from multiple sources. One of the project's goals is to support any game that runs on Linux regardless of whether it runs natively, through Wine, or other means. The main appeal of Lutris is that it provides an interface to manage all games installed on the machine regardless of source. While it is necessary to integrate the games in the application first, doing so is not super complicated. You may add local games right away by selecting them from the local system or visit the Lutris website to add games this way. Lutris simplifies nearly everything. Users can visit the list of support games on the Lutris website, choose to download and install the game (Note: If its a game that must be bought, you must own it first.) The website lists supported games and where you can acquire or download them. You can use filters on the site to display only free games, games of a genre, or use the built-in search to find games of interest quickly using it. Read more

GNOME Desktop: Flatpak and Random Wallpaper Gnome Extension

  • Flatpak in detail, part 2
    The first post in this series looked at runtimes and extensions. Here, we’ll look at how flatpak keeps the applications and runtimes on your system organized, with installations, repositories, branches, commits and deployments.
  • Flatpak – a history
    I’ve been working on Flatpak for almost 4 years now, and 1.0 is getting closer. I think it might be interesting at this point to take a retrospective look at the history of Flatpak.
  • Random Wallpaper Gnome Extension Changes Your Desktop Background With Images From Various Online Sources
    Random Wallpaper is an extension for Gnome Shell that can automatically fetch wallpapers from a multitude of online sources and set it as your desktop background. The automatic wallpaper changer comes with built-in support for downloading wallpapers from unsplash.com, desktopper.co, wallhaven.cc, as well as support for basic JSON APIs or files. The JSON support is in fact my favorite feature in Random Wallpaper. That's because thanks to it and the examples available on the Random Wallpaper GitHub Wiki, one can easily add Chromecast Images, NASA Picture of the day, Bing Picture of the day, and Google Earth View (Google Earth photos from a selection of around 1500 curated locations) as image sources.

today's howtos

KDE: QtPad, Celebrating 10 Years with KDE, GSoC 2018

  • QtPad - Modern Customizable Sticky Note App for Linux
    In this article, we'll focus on how to install and use QtPad on Ubuntu 18.04. Qtpad is a unique and highly customizable sticky note application written in Qt5 and Python3 tailored for Unix systems.
  • Celebrating 10 Years with KDE
    Of course I am using KDE software much longer. My first Linux distribution, SuSE 6.2 (the precursor to openSUSE), came with KDE 1.1.1 and was already released 19 years ago. But this post is not celebrating the years I am using KDE software. Exactly ten years ago, dear Albert committed my first contribution to KDE. A simple patch for a problem that looked obvious to fix, but waiting for someone to actually do the work. Not really understanding the consequences, it marks the start of my journey within the amazing KDE community.
  • GSoC 2018 – Coding Period (May 28th to June 18th): First Evaluation and Progress with LVM VG
    I got some problems during the last weeks of Google Summer of Code which made me deal with some challenges. One of these challenges was caused by a HD physical problem. I haven’t made a backup of some work and had to rework again in some parts of my code. As I already knew how to proceed, it was faster than the first time. I had to understand how the device loading process is made in Calamares to load a preview of the new LVM VG during its creation in Partition Page. I need to list it as a new storage device in this page and deal with the revert process. I’ve implemented some basic fixes and tried to improve it.