The Mozilla BlogMeet Codemoji: Mozilla’s New Game for Teaching Encryption Basics with Emoji

🌂<img src=🐵" class="wp-smiley" style="height: 1em; max-height: 1em;" />✉<img src=😓" class="wp-smiley" style="height: 1em; max-height: 1em;" />🌉<img src=<img src=📒" class="wp-smiley" style="height: 1em; max-height: 1em;" />" class="wp-smiley" style="height: 1em; max-height: 1em;" />🏩💥<img src=🐵" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 👻😩<img src=<img src=📒" class="wp-smiley" style="height: 1em; max-height: 1em;" />" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src=<img src=📒" class="wp-smiley" style="height: 1em; max-height: 1em;" />" class="wp-smiley" style="height: 1em; max-height: 1em;" />🏂<img src=😓" class="wp-smiley" style="height: 1em; max-height: 1em;" />😁

The above message may seem like a random string of emoji. But not so: When decoded, it reads: “Encryption Matters.”

Today, Mozilla is launching Codemoji, a fun, educational tool that introduces everyday Internet users to ciphers — the basic building blocks of encryption — using emoji.

Try Codemoji »

How it works

Codemoji is a Web-based platform that allows users to write a message, encode it using emoji, and then send it to a friend.


A friendly reminder: Codemoji is intended as a learning tool, not a platform for sharing personal data. Thankfully, modern encryption is much stronger than simple emoji ciphers. If you are going to be sending sensitive information, best to use a more sophisticated security tool 😏.

Why we built Codemoji

Mozilla built Codemoji alongside our friends at TODO, the Turin, Italy-based design and creative agency. Our goal: To educate everyday Internet users about ciphers and the basics of encryption.

Says Mark Surman, Mozilla’s Executive Director:

“When more people understand how encryption works and why it’s important to them, more people can stand up for encryption when it matters most. This is crucial: Currently, encryption is being threatened around the world. From France to Australia to the UK, governments are proposing policies that would harm user security by weakening encryption. And in the U.S., the FBI recently asked Apple to undermine the security of its own products.”

Mozilla believes encryption is the most important tool we have for building a more safe, secure Internet. And building a more secure Internet is critical to our users, our economy, and our national security.

Encryption is also a part of everyday life and everyday commerce. The things we do with it are things we value, like bank and shop. If encryption is weakened, these things become risky.

We believe Codemoji is a first step for everyday Internet users to better understand encryption. To learn more about encryption’s importance, and how you can stand up for encryption, visit

Thanks for reading. Or, in Codemoji, 🔔🚄<img src=😩" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src=🐵" class="wp-smiley" style="height: 1em; max-height: 1em;" />🍏😁 🌠💥<img src=😓" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src=😓" class="wp-smiley" style="height: 1em; max-height: 1em;" />🏂<img src=😩" class="wp-smiley" style="height: 1em; max-height: 1em;" />💾🏩<img src=🐵" class="wp-smiley" style="height: 1em; max-height: 1em;" />🚤 .


Air MozillaMozilla Weekly Project Meeting, 27 Jun 2016

Mozilla Weekly Project Meeting The Monday Project Meeting

QMOFirefox 48 Beta 3 Testday Results

Hi everyone!

Last Friday, June 24th, we held Firefox 48 Beta 3 Testday.  It was a successful event (please see the results section below) so a big Thank You goes to everyone involved.

First of all, many thanks to our active contributors: Iryna Thompson, Paarttipaabhalaji, Karthikeya LK, Prasanth P, Ashly Rose Mathew.M, Moin Shaikh, Bhuvana Meenakshi.K, Pushanshu Avinash Sharma, Ilse Macías, Nazir Ahmed Sabbir, Maruf Rahman, Rezaul Huque Nayeem, Md. Rahimul Islam, Akash, Sayed Ibn Masud, Zayed News, Saddam Hossain, Sufi Ahmed Hamim, Md.Majedul islam, Md.Tarikul Islam Oashi, Tanvir Rahman, Sajedul Isalm, Forhad Hossain, Sudipto Krishna Dutta, Mohammad Maruf Islam, Fahim, Khalid Syfullah Zaman, T.M. Sazzad Hossain.

Secondly, a big thank you to all our active moderators.


  • several testcases executed for the New Awesomebar feature
  • 2 bugs verified: 12177691238181
  • 1 bug triaged: 1281457

We hope to see you all in our next events, all the details will be posted on QMO!

Air MozillaONOS Project Presentation

ONOS Project Presentation The event aims to educate the general public about the ONOS project and give them the opportunity to meet members of ON.Lab, the non profit...

WebmakerMozilla IMLS Web Literacy for Library Staff Pilots Kick-Off Meeting


In April 2016 public libraries and library information schools were invited to submit proposals to adapt and pilot Mozilla’s Web Literacy training and digital badges/credentials with library staff or students beginning in the summer and running through January 2017. Last month, we announced the selected pilots:

IMG_1426These pilot projects are a part of the Web Literacy Skills for Library Staff project, funded by the Institute for Museum and Library Services. The project aims to adapt and refine Mozilla’s Web Literacy training and tools, as well as digital badges/credentials to help library staff improve their web literacy skills. Throughout the pilots, Mozilla will facilitate a community of practice, which includes online collaborations and monthly community calls to share challenges, opportunities, and lessons learned so pilots can benefit from their shared experiences.

On June 7, 2016, we kicked off our pilot projects with an interactive meeting held in Chicago. The meeting started with an introduction to Mozilla’s web literacy training and concluded with pilots teams thinking through their implementation plans and setting timelines and outcome goals.IMG_1398

As an anchor to the meeting, we spent time discussing the Mozilla Web Literacy Map and the role of the pilots in testing the curriculum, training, and credentials associated with the web literacy skills so they can be customized to library staff.

Screen Shot 2016-06-15 at 9.38.13 AM

The morning continued with the introduction to Mozilla’s Web Literacy training, which was facilitated in a “train-the-trainer” manner asking pilot participants to reflect after each activity and consider how they might adapt and localize the activity for their own libraries. What surfaced was a rich dialogue and ideas about the needs of their staff and the ways the training could be augmented to better meet them.

The afternoon was spent with small teams working on their project implementation plans, expected outcomes, and timelines before reporting out on their plans. The report-outs facilitated cross-pilot sharing and learning about potential resources, as well as identified challenges and opportunities.

The next convening of the pilots will take place in August and September, where the pilots will engage in Mozilla’s daylong Web Literacy skills training and reflection, which will enable them to launch their respective pilot programs in their libraries and library information schools.

SUMO BlogWhat’s Up with SUMO – 23rd June

Hello, SUMO Nation!

Did you miss us? WE MISSED YOU! It’s good to be back, even if we had quite a fateful day today… The football fever in Europe reaching new heights, some countries wondering aloud if they want to keep being a part of the EU, and a Platform meeting to inform you about the current state of our explorations. Busy times – let’s dive straight into some updates:

Welcome, new contributors!

If you just joined us, don’t hesitate – come over and say “hi” in the forums!

Contributors of the week

We salute you!

Don’t forget that if you are new to SUMO and someone helped you get started in a nice way you can nominate them for the Buddy of the Month!

Most recent SUMO Community meeting

The next SUMO Community meeting

  • …is happening on the 29th of June!
  • If you want to add a discussion topic to the upcoming meeting agenda:
    • Start a thread in the Community Forums, so that everyone in the community can see what will be discussed and voice their opinion here before Wednesday (this will make it easier to have an efficient meeting).
    • Please do so as soon as you can before the meeting, so that people have time to read, think, and reply (and also add it to the agenda).
    • If you can, please attend the meeting in person (or via IRC), so we can follow up on your discussion topic during the meeting with your feedback.



Support Forum

Knowledge Base & L10n


  • for Android
    • No big news for now.

Once again – it’s good to be back, and we’re looking forward to a great end of June and kick-off in July with you all. Keep rocking the helpful web!

PS. If you’re a football fan, let’s talk about it in our forums!

Air MozillaWeb QA Weekly Team Meeting, 23 Jun 2016

Web QA Weekly Team Meeting They say a Mozilla Web QA team member is the most fearless creature in the world. They say their jaws are powerful enough to crush...

Air MozillaReps weekly, 23 Jun 2016

Reps weekly This is a weekly call with some of the Reps to discuss all matters about/affecting Reps and invite Reps to share their work with everyone.

Mozilla Add-ons BlogFriend of Add-ons: Yuki Hiroshi

piro-photoPlease meet our newest Friend of Add-ons: Yuki “Piro” Hiroshi. A longtime add-on developer with 37 extensions and counting (he’s most proud of Tree Style Tab and Second Search), Hiroshi also recently filed more than two dozen high-impact WebExensions bugs.

Hiroshi recently recounted his experience porting one of his XUL add-ons to WebExtensions in the hopes that he could help support fellow add-on developers through the transition. He likens XUL to an “experimental laboratory” that over the past decade allowed us to explore the possibilities of a customized web browser. But now, Hiroshi says, we need to “go for better security and stability” and embrace forward-thinking API’s that will cater to building richer user experiences.

While add-ons technology is evolving, Hiroshi’s motivation to create remains the same. “It’s an emotional reason,” he says, which took root when he first discovered the power of a Gecko engine that allowed him to transform himself from being a mere hobbyist to a true developer. “Mozilla is a symbol of liberty for me,” Hiroshi explains. “It’s one of the legends of the early days of the web.”

When he’s not authoring add-ons, Hiroshi enjoys reading science fiction and manga. A recent favorite is The Hyakumanjo Labyrinth, a “bizarre adventure story” that takes place on an infinity field beyond space and time within an old Japanese apartment building.

Do you contribute to AMO in some fashion? If so, don’t forget to add your contributions to our Recognition page!

Mozilla Add-ons BlogAdd-ons Update – Week of 2016/06/22

I post these updates every 3 weeks to inform add-on developers about the status of the review queues, add-on compatibility, and other happenings in the add-ons world.

The Review Queues

In the past 3 weeks, 1432 listed add-ons were reviewed:

  • 1354 (95%) were reviewed in fewer than 5 days.
  • 45 (3%) were reviewed between 5 and 10 days.
  • 33 (2%) were reviewed after more than 10 days.

There are 61 listed add-ons awaiting review.

You can read about the recent improvements in the review queues here.

If you’re an add-on developer and are looking for contribution opportunities, please consider joining us. Add-on reviewers get invited to Mozilla events and earn cool gear with their work. Visit our wiki page for more information.

Compatibility Communications

Most of you should have received an email from us about the future compatibility of your add-ons. You can use the compatibility tool to enter your add-on ID and get some info on what we think is the best path forward for your add-on. This tool only works for listed add-ons.

To ensure long-term compatibility, we suggest you start looking into WebExtensions, or use the Add-ons SDK and try to stick to the high-level APIs. There are many XUL add-ons that require APIs that aren’t available in either of these options, which is why we ran a survey so we know which APIs we should look into adding to WebExtensions. You can read about the survey results here.

We’re holding regular office hours for Multiprocess Firefox compatibility, to help you work on your add-ons, so please drop in on Tuesdays and chat with us!

Firefox 48 Compatibility

The compatibility blog post for Firefox 48 is up, and the bulk validation will be run shortly.

As always, we recommend that you test your add-ons on Beta and Firefox Developer Edition to make sure that they continue to work correctly. End users can install the Add-on Compatibility Reporter to identify and report any add-ons that aren’t working anymore.

Extension Signing

The wiki page on Extension Signing has information about the timeline, as well as responses to some frequently asked questions. The current plan is to remove the signing override preference in Firefox 48.

Mozilla L10NTriage translations by author in Pontoon

A few months ago we rolled out bulk actions in Pontoon, allowing you to perform various operations on multiple strings at the same time. Today we’re introducing a new string filter, bringing mass operations a level further.

From now on you can filter translations by author, which simplifies tasks like triaging suggestions from a particular translator. The new filter is especially useful in combination with bulk actions.

For example, you can delete all suggestions submitted by Prince of Nigeria, because they are spam. Or approve all suggestions from Mia Müller, who was just granted Translator permission and was previously unable submit approved translations.

See how to filter by translation author in the video.

P.S.: Gašper, don’t freak out. I didn’t actually remove your translations.

The Mozilla BlogMozilla Awards $385,000 to Open Source Projects as part of MOSS “Mission Partners” Program


For many years people with visual impairments and the legally blind have paid a steep price to access the Web on Windows-based computers. The market-leading software for screen readers costs well over $1,000. The high price is a considerable obstacle to keeping the Web open and accessible to all. The NVDA Project has developed an open source screen reader that is free to download and to use, and which works well with Firefox. NVDA aligns with one of the Mozilla Manifesto’s principles: “The Internet is a global public resource that must remain open and accessible.”

That’s why, at Mozilla, we have elected to give the project $15,000 in the inaugural round of our Mozilla Open Source Support (MOSS) “Mission Partners” awards. The award will help NVDA stay compatible with the Firefox browser and support a long-term relationship between our two organizations. NVDA is just one of eight grantees in a wide range of key disciplines and technology areas that we have chosen to support as part of the MOSS Mission Partners track. This track financially supports open source software projects doing work that meaningfully advances Mozilla’s mission and priorities.

Giving Money for Open Source Accessibility, Privacy, Security and More

Aside from accessibility, security and privacy are common themes in this set of awards. We are supporting several secure communications tools, a web server which only works in secure mode, and a distributed, client-side, privacy-respecting search engine. The set is rounded out with awards to support the growing Rust ecosystem and promote open source options for the building of compelling games on the Web. (Yes, games. We consider games to be a key art-form in this modern era, which is why we are investing in the future of Web games with WebAssembly and Open Web Games.)

MOSS is a continuing program. The Mission Partners track has a budget for 2016 of around US$1.25 million. The first set of awards listed below total US$385,000 and we look forward to supporting more projects in the coming months. Applications remain open both for Mission Partners and for the Foundational Technology track (for projects creating software that Mozilla already uses or deploys) on an ongoing basis.

We are greatly helped in evaluating applications and making awards by the MOSS Committee. Many thanks again to them.

And The Winners Are….

The first eight awardees are:

Tor: $152,500. Tor is a system for using a distributed network to communicate anonymously and without being tracked. This award will be used to significantly enhance the Tor network’s metrics infrastructure so that the performance and stability of the network can be monitored and improvements made as appropriate.

Tails: $77,000. Tails is a secure-by-default live operating system that aims at preserving the user’s privacy and anonymity. This award will be used to implement reproducible builds, making it possible for third parties to independently verify that a Tails ISO image was built from the corresponding Tails source code.


Caddy: $50,000. Caddy is an HTTP/2 web server that uses HTTPS automatically and by default via Let’s Encrypt. This award will be used to add a REST API, web UI, and new documentation, all of which make it easier to deploy more services with TLS.

Mio: $30,000. Mio is an asynchronous I/O library written in Rust. This award will be used to make ergonomic improvements to the API and thereby make it easier to build high performance applications with Mio in Rust.


DNSSEC/DANE Chain Stapling: $25,000. This project is standardizing and implementing a new TLS extension for transport of a serialized DNSSEC record set, to reduce the latency associated with DANE and DNSSEC validation. This award will be used to complete the standard in the IETF and build both a client-side and a server-side implementation.


Godot Engine: $20,000. Godot is a high-performance multi-platform game engine which can deploy to HTML5. This award will be used to add support for Web Sockets, WebAssembly and WebGL 2.0.


PeARS: $15,500. PeARS (Peer-to-peer Agent for Reciprocated Search) is a lightweight, distributed web search engine which runs in an individual’s browser and indexes the pages they visit in a privacy-respecting way. This award will permit face-to-face collaboration among the remote team and bring the software to beta status.


NVDA: $15,000. NonVisual Desktop Access (NVDA) is a free, open source screen reader for Microsoft Windows. This award will be used to make sure NVDA and Firefox continue to work well together as Firefox moves to a multi-process architecture.

This is only the beginning. Stay tuned for more award announcements as we allocate funds. Open Source is a movement that is only growing, both in numbers and in importance. Operating in the open makes for better security, better accessibility, better policy, better code and, ultimately, a better world. So if you know any projects whose work furthers the Mozilla Mission, send them our way and encourage them to apply.

Firefox UXWhat We Learned from the Government Digital Service Design Team

Toward the end of Mozilla’s All-Hands Meeting in London last week, about a dozen members of the Firefox UX team paid a visit to the main…

Air MozillaMozilla H1 2016

Mozilla H1 2016 What did Mozilla accomplish in the first half of 2016? Here's the mind-boggling list in rapid-fire review.

WebmakerMaking Big Impact through Informal, Summer Learning

Summer learning programs offer many opportunities and challenges across the globe, and this month’s Mozilla Curriculum Workshop aimed to unpack both the supports and obstacles to provide a working, open source solution: a convening and facilitation guide for hosting a summer learning event.

Featured guests that joined us this month were:

Over the span of an hour, co-hosts Chad Sansing and Amira Dhalla worked with our guests to…

  • Identify summer learning challenges such as physical meeting space, geography limitations, internet connectivity as well as accessibility, programming, and resources inequity.
  • Encourage peer-to-peer learning (allowing the learners to help plan events, for example) and strong community building even among various ages and skill levels.
  • Discuss tips to portray equal learning achievement among in-school learning and other informal learning environments that take place during the summer.
  • Recognize that shareable content and communication between the learner and his or her home, social, and public influences is key to solidifying learning.

Watch the conversation unfold on the etherpad:

The agreement towards the halfway point in the conversation was that a convening and facilitation guide for hosting a summer learning event would be a helpful outcome. While it is a work-in-progress (and we do hope that you will contribute to it in the etherpad here), the goal is that it will include:

  • Best practices for gathering youth together.
  • Logistic practices for securing spaces, scheduling the day, and securing food and drink for the event.
  • Facilitation tips for teaching and learning in participatory ways.
  • An exemplar lesson or piece of content on making a “digital quilt” (many project shares in one, online space) or other type of skill share between learners.
  • Best practices for documenting the work and sharing it later.

You can watch the full, recorded conversation below or Mozilla Learning’s website here. The etherpad and chat transcripts can be found here.

Our next Mozilla Curriculum Workshop is tentatively scheduled for Tuesday July 12th (Time TBD) where we will discuss brokering web literacy across the globe. We hope you’ll join us!

Are you on the go or unable to tune in at our normal broadcast time? Is audio better for you than video? Listen to our March, April, May, and June episodes as podcasts! Download the links for .mp3 versions of each Mozilla Curriculum Workshop.

Air MozillaMartes mozilleros, 21 Jun 2016

Martes mozilleros Reunión bi-semanal para hablar sobre el estado de Mozilla, la comunidad y sus proyectos. Bi-weekly meeting to talk (in Spanish) about Mozilla status, community and...

Open Policy & AdvocacyEU Internet Users Can Stand Up For Net Neutrality

Over the past 18 months, the debate around the free and open Internet has taken hold in countries around the world, and we’ve been encouraged to see governments take steps to secure net neutrality. A key component of these movements has been strong public support from users upholding the internet as a global public resource. From the U.S. to India, public opinion has helped to positively influence internet regulators and shape internet policy.

Now, it’s time for internet users in the EU to speak out and stand up for net neutrality.

The Body of European Regulators of Electronic Communications (BEREC) is currently finalising implementation guidelines for the net neutrality legislation passed by EU Parliament last year. This is an important moment — how the legislation is interpreted will have a major impact on the health of the internet in the EU. A clear, strong interpretation can uphold the internet as a free and open platform. But a different interpretation can grant big telecom companies considerable influence and the ability to implement fast lanes, slow lanes, and zero-rating. It would make the internet more closed and more exclusive.

At Mozilla, we believe the internet is at its best as a free, open, and decentralised platform. This is the kind of internet that enables creativity and collaboration; that grants everyone equal opportunity; and that benefits competition and innovation online.

Everyday internet users in the EU have the opportunity to stand up for this type of internet. From now through July 18, BEREC is accepting public comments on the draft guidelines. It’s a small window — and BEREC is simultaneously experiencing pressure from telecom companies and other net neutrality foes to undermine the guidelines. That’s why it’s so important to sound off. When more and more citizens stand up for net neutrality, we’re empowering BEREC to stand their ground and interpret net neutrality legislation in a positive way.

Mozilla is proud to support, an initiative by several NGOs — like European Digital Rights (EDRi) and Access Now — to uphold strong net neutrality in the EU. makes it simple to submit a public comment to BEREC and stand up for an open internet in the EU. BEREC’s draft guidelines already address many of the ambiguities in the Regulation; your input and support can bring needed clarity and strength to the rules. We hope you’ll join us: visit and write BEREC before the July 18 deadline.

Mozilla L10NMozLondon Localization Sessions

Twice per year, Mozillians from around the world are invited to attend the All Hands work week. All Hands is an opportunity for both paid and volunteer staff from all functional areas to meet together to solve problems, brainstorm new goals, and find ways to make the Mozilla mission a reality. For the localization functional area, All Hands gives us a chance to collaborate on resolving challenges in the l10n process, discuss community needs, and start new programs within the functional area. Below is an overview of the highlights and l10n-specific sessions that were held in London. More information about many of these sessions will be made available in the coming weeks.

Localization updates

Review of l10n release gates

MozLondon l10n started with a bang in this session! We primarily discussed the value of the sign-off process for Firefox and Firefox for Android localizations. We reviewed the past, present, and future (both short-term and long-term) of this process. An approved sign-off meant that the changeset reviewed was both technically stable (determined by l10n-drivers) and linguistically stable (determined by the l10n community). The sign-off process would be initiated by a localizer and reviewed by a l10n-driver. We’ve learned over time that sign-offs have lost this meaning and that localizers aren’t interested in performing this task. We’re happy to announce that localizers no longer need to sign-off on changesets in the dashboard to ship l10n updates for their products! L10n-drivers will take on the responsibility of initiating and performing sign-off reviews for all locales on mozilla-aurora and mozilla-beta. Flod, Delphine, and Jeff will be responsible for performing those reviews a few times per week (exact schedule to be determined).

Cross-channel localization

In this session, Axel Hecht (Pike) gave us an update on his efforts surrounding the consolidation of repositories within each locale repo. We’re calling this effort, “cross-channel localization.” As it stands, each l10n repo actually consists of at least three directories/repos: (sometimes l10n-central) mozilla-aurora, mozilla-beta, and mozilla-release. The idea here is that by consolidating the l10n-central, mozilla-aurora, mozilla-beta, and mozilla-release directories within each locale repo to one, we can empower localizers to have more control over updating localizations across multiple channels, including release, outside of the regular release schedule. L10n bug fixes on release channel will be a reality! This effort is working together with the implementation of l20n in Firefox. We’ll have more info about this in a future blog post.

Localization quality planning

The quality planning session focused on bringing everyone up-to-date with the current status of the project. Together we discussed our reasons for implementing a standard method for performing translation reviews and measuring translation quality, community efforts to create  localization style guides (15 new guides created this year), and how we hope to empower localizers to perform translation reviews and both give & receive feedback within our translation environments (Pootle and Pontoon). We unanimously decided that style guides need to continue to be our focus throughout the remainder of this year. At the beginning of 2017, we’ll begin discussions and spec work for implementing review and feedback features in our tools.

Localization hack-a-thon planning

Hack-a-thons in 2016 have been a large success! We’ve been able to meet with 86 localizers across 32 locales in the first half of the year. In Pootle alone, localizers translated and reviewed 18,524 words during their own hackathons. At least 15 l10n communities created new style guides during their hackathon and 6 communities began localizing new projects. For the remainder of the year, we’ve had to make some changes to the hack-a-thon schedule we published earlier this year. If your community has not yet been involved in a hack-a-thon, have a look at this schedule to see when it is scheduled:

Balkans (8-11) – bg, bs, el, hr, hu, hy-AM, mk, ro, sl, sr
L10n-driver(s): Matjaz, Flod, Stas, & Delphine
Location: Ljubljana

Asia (26-29) – ja, ko, zh-CN, zh-TW, id, km, ms, th, tl, vi
L10n-driver(s): Jeff, Pei, flod, Gary, David
Location: Kuala Lumpur

Indic (23-26) – bn(2), hi, kn, mai, ml, mr, np, pa, si, ta, te
L10n-driver(s): Axel, Jeff
Location: Delhi

Istanbul  (16-19) – ar, az, fa, he, ka, kk, tr, uz, ur
L10n-driver(s): Flod, Delphine, & Stas
Location: Istanbul

Paris (4-7) – an, ast, ach, af, ca, eu, ff, gl, es-ES, fr, it, lij, pt-PT, rm, son, wo
L10n-driver(s): Delphine, Flod, Gandalf
Location: Paris

Improving the l10n bootstrapping process

We’re working to change the process by which we ship new localizations of Firefox, Firefox for Android, Firefox for iOS,, etc. Each member of the PM group has realized that we have a different set of criteria for determining when a new locale should ship for any project. This session was about describing each of our individualized criteria and finding common ground upon which to build standard criteria for shipping new locales across all projects. This will be a continuing conversation after London All-Hands.

Localization Pootle Development

Dwayne Bailey from Translate House gave us an overview of Pootle’s development focus for the last six months and what he plans to implement over the course of the next six months. These include:

  • Pootle FS (automatic source & target repository sync)
  • Exposing user stats
  • Pootle version migration
  • Translation unity retrieval optimization
  • L20n implementation
  • Editor improvements (single quote, double quote, escapes)
  • Deadline comms & generic notification system
  • Mobile UI improvements
  • In-context l10n
  • Robust review workflows/cycles
Localization Pontoon Development

Matjaz Horvat gave us an overview of Pontoon’s development focus for the last six months and what he plans to implement over the course of the next six months. These include:

  • Batch actions (e.g., batch suggestion approval/rejection)
  • String status filtering optimization
  • Pontoon sync (automatic source & target repository sync)
  • Filter by author/translation date
  • User-prioritized suggested locales
  • L20n implementation
  • New dashboards
  • Privatizing emails
  • ELMO & Pontoon merger
Future of Firefox l10n/i18n

The future of Firefox l10n/i18n is bright! L20n is on the verge of full implementation in Firefox desktop. In brief, this means that localizers will be able to utilize fully natural expression as part of their more challenging translations (in both Pontoon & Pootle), ship localization updates to users outside of the regular release cycle, and not break localization builds (i.e., no more yellow screen of death). With L20n, cross-channel localization, and automatic source & target repository sync from both Pootle and Pontoon, decisions about what tool to use will become based on an individual’s preference or the task-at-hand (i.e., no lockdown on tool chains). We’ll follow up with a blog post to provide more details on all of this.

Questions about any of these topics are very welcome. We’re looking forward to rolling out these changes and improving the l10n experience for everyone involved!

hacks.mozilla.orgLearning to code for the Web: The MDN Learning Area welcomes you!

As an aspiring developer or as a teacher looking to extend your knowledge of code, it can be difficult to know where to start with web technologies. In this blog post, we’ll be discussing why we have created the Mozilla Developer Network Learning Area to help solve common learning challenges and get you up and running with web development.

The aim of the Learning Area is to take beginners from “beginner to comfortable”, with HTML, CSS, JavaScript, and other core web technologies. Once you’ve worked through the early parts of the Learning Area, you should have enough knowledge to be comfortable using the rest of the Mozilla Developer Network (MDN) site. In addition to helping you on your learning journey, we anticipate that the Learning Area will extend our readership and contributor base, and in turn improve SEO on the site.

Why the new Learning Area?

Learning the craft of web design and development (and all the related disciplines) has been a hot topic for as long as we can remember. Many web education initiatives and resources have been worked on over the years, and many related problems have largely moved sideways rather than forwards:

  1. There is a shortage of skilled junior web creators coming into the industry.
  2. Traditional educational establishments often tend to be behind the curve in understanding the industry they are sending their students into. It is challenging to keep courses relevant and up-to-date. Many private code schools have appeared to fill the gap left by a lack of quality learning materials for beginning web builders.
  3. The above point is perhaps not so surprising when you consider that industry standards and best practices evolve very quickly, and also that web is somewhat of an orphan — it doesn’t comfortably fit into traditional technical departments like Comp Sci/Software engineering (too many “soft“ skills), or design departments (too much code and scary stuff like that). As a field of study, web is very much a hybrid.

Note: Many of the effective web-related courses at universities that “get it” are found in tangentially-related departments such as business and journalism. And speaking of the “bad” courses, teachers generally do care and want to improve things, but don’t necessarily have the knowledge or time to rapidly iterate on curricula. And the curricula are often slow to change because of bureaucracy.

It is MDN’s wish to help with such problems by producing a reliable set of beginner’s learning materials that will help students understand the technologies the web is built on, and how to use them to create accessible cross browser websites/apps. The MDN Learning Area aims to:

  • Make effective material whether the students are self-directed learners, or part of a structured class.
  • Structure the material loosely so teachers can use it as supplementary material on top of their own curricula, or a basis for new curricula. Too much structure makes the material limiting and not very flexible.
  • Cover a core minimum viable product consisting of HTML, CSS, JavaScript, accessibility, and server-side development basic concepts. The material should represent a standard for web learning and best practices. If enough educators use it, it will provide much needed consistency.
  • Regularly review the material to keep it up to date.

Note: We also want to make the publishing license permissive enough so that others can easily grab and use it in any way they desire. The default MDN license is cc-by-sa, which means that others can republish the content as they wish, as long as they credit the original author, and any modifications are published under the same license as the original, thereby keeping it freely available. The associated code examples are licensed under CC0 (anyone can use them as they wish without restriction).

Where are we now?

While we continue to add to the MDN Learning Area content, there is already plenty of modules that beginners can start to use. For a start, we have a complete beginner’s learning module for those who have no previous experience and only basic computer literacy: Getting started with the Web.

The next stage in the learning journey is our Introduction modules, which teach the real basics of the technologies. So far, we have one for both HTML and CSS:

To follow on from those, we have some further HTML and CSS modules, which aim to go beyond the basics and expand on some of the core applications of those technologies:

Each module has a number of articles to discuss the important features and techniques involved, plus an assessment or two at the end to test your comprehension of those teachings.

We also have a well-developed Glossary, and a list of standalone articles that address specific topics related to the main Learning Area thread, but don’t directly fit into the core learning stream: see common questions.

Future work

The latest module being written is CSS layout, which will cover all of the layout techniques currently in use on the modern web, with advice on what they should be used for.

Future content for the site will also include modules on core server side development basics, accessibility and JavaScript, and possibly other topics too.

Call to action

We are always looking for contributors to help write and otherwise shape the material — with such a small team of writers, it takes time to create all the material. Having extra people on board also helps with making for a better rounded set of ideas, feedback and styles.

If you feel inspired and want to help with contributing to the LA — whether with writing, translating existing material, tech review, copy editing, or other kinds of feedback, please get in touch! We are always happy to curate outside contributions, as it leads to a more rounded, collaborative effort.

We are also really interested in hearing from potential students and teachers that might want to work through the materials and provide feedback on their learning experience.

The best ways to get in touch with us are:

We also have a Trello board that gives an idea of currently available writing projects.

Mozilla Add-ons BlogMulti-process Firefox and AMO

In Firefox 48, which reaches the release channel on August 1, 2016, multi-process support (code name “Electrolysis”, or “e10s”) will begin rolling out to Firefox users without any add-ons installed.

In preparation for the wider roll-out to users with add-ons installed, we have implemented compatibility checks on all add-ons uploaded to (AMO).

There are currently three possible states:

  1. The add-on is a WebExtension and hence compatible.
  2. The add-on has marked itself in the install.rdf as multi-process compatible.
  3. The add-on has not marked itself compatible, so the state is currently unknown.

If a new add-on or a new version of an old add-on is not multi-process compatible, a warning will be shown in the validation step. Here is an example:


In future releases, this warning might become more severe as the feature nears full deployment.

For add-ons that fall into the third category, we might implement a more detailed check in a future release, to provide developers with more insight into the “unknown” state.

After an add-on is uploaded, the state is shown in the Developer Hub. Here is an example:


Once you verify that your add-on is compatible, be sure to mark it as such and upload a new version to AMO. There is documentation on MDN on how to test and mark your add-on.

If your add-on is not compatible, please head to our resource center where you will find information on how to update it and where to get help. We’re here to support you!

QMOFirefox 48 Beta 3 Testday, June 24th

Hello Mozillians,

We are happy to announce that next Friday, June 24th, we are organizing Firefox 48 Beta 3 Testday. We’ll be focusing our testing on the New Awesomebar feature, bug verifications and bug triage. Check out the detailed instructions via this etherpad.

No previous testing experience is required, so feel free to join us on #qa IRC channel where our moderators will offer you guidance and answer your questions.

Join us and help us make Firefox better! See you on Friday!

hacks.mozilla.orgDeveloper Edition 49: Network Request Stack Traces and more

This week marks the release of Firefox Developer Edition 49! This post covers some of the big changes that landed in this release.

Request stack traces in Network Monitor

The Network Monitor now has a new “Cause” column that shows how a given network request is initiated. The column shows the type of the request, includes a tooltip with the loading document, and, most importantly, if a JavaScript stack trace is available, you can see it in a popup bubble.

The JavaScript stack trace is most interesting for XHR requests, but is available also for any other request that is directly or indirectly initiated by a script, like when a script inserts a <script> or <img> element into the page.

This feature is useful if you want to figure out why and from where on the page a particular HTTP request is issued. (See bug 1134073.)


Animation performance info in Inspector

You can use the Inspector panel to investigate details of your CSS and DOM animations. In Firefox 49, you can now get detailed performance information for your animations. If an animation property cannot be run on the compositor (i.e., cannot be hardware-accelerated), it is underlined in the expanded animation view, and an associated tooltip explains what’s going on.

In the example below, the transform and width properties cannot be accelerated at the same time. With this new tool in Inspector, you can now spot under-performing animations and learn what changes you need to make to accelerate them.

Read David Baron’s blog post if you want to learn more about how animations are optimized in Gecko. (See bug 1254408 for more detail.)


Reorganized context menu in markup view

The Inspector has a context menu with many actions, which was becoming long and unwieldy. Contributor Moaaz Sidat reorganized the menu, dividing it into several sub-menus. (See bug 1211613.)


Other improvements in the Inspector Panel

Firefox 49 adds support for #rrggbbaa and #rgba syntax for color values. The Inspector in developer tools now supports this syntax, too. (See bug 1271191.)


In the CSS rule editor, autocomplete now displays more possible properties, in a scrollable list. As a result, it’s much easier to find the value that is relevant to you, or learn about new CSS properties that you were not familar with previously. (See bug 1260419.)


In the markup view, self-closing tags like <br> are now displayed as <br></br> only if the doctype is XHTML. For normal HTML, the markup is now displayed in a more accurate and less verbose form. (See bug 820926.)

Links to MDN reference docs From Console JavaScript errors

When you see an unfamiliar error message in the Console, you no longer need to copy the message and search online for documentation. You can simply click on a direct link to the MDN reference page about the error that is a part of the message. Read a blog post by @floscholz and @mrrrgn to learn more about this feature and how you can contribute to make it better. (See bug 1179876.)


New color scheme for syntax highlighting

We thought our syntax highlighting colors were looking a little dated, so we changed them up in both the light- and dark-themed versions of Developer Edition Firefox. The new colors are optimized for accessibility: they have better contrast and are easier to distinguish in all situations.



Accessibility improvements

We’ve made important accessibility improvements throughout this release. Most developer tools UI elements now have a clearly visible focus indicator, the UI is navigable using the keyboard, and accessibility semantics in the Inspector panel were improved. (See bugs 1242694, 1242715, and 1242851.).

Other notable changes

In addition to the improvements above, we have polished various areas throughout the developer tools, in particular:

  • The about:debugging page displays a warning when service workers are disabled, whether by private browsing mode or by a pref. (See bug 1266415.)
  • Step by step, the Storage Inspector is becoming more editable. In this release, we are adding a context menu option to delete an IndexedDB database. (See bug 1205123.)
  • Network Inspector now shows the exact number of bytes if the response size is smaller than 1KB. (See bug 1263945.)
  • Pressing the ‘h’ key in the Inspector panel, which is a shortcut to hide the selected element, now also grays out the element markup. (See bug 1127572.)

Thanks to everyone who has contributed to this Developer Edition release! Grab a copy of the latest Developer Edition now and let us know what you think.

Open Policy & AdvocacyA Step Forward for Net Neutrality in the U.S.

We’re thrilled to see the D.C. Circuit Court upholding the FCC’s historic net neutrality order, and the agency’s authority to continue to protect Internet users and businesses from throttling and blocking. Protecting openness and innovation is at the core of Mozilla’s mission. Net neutrality supports a level playing field, critical to ensuring a healthy, innovative, and open Web.

Leading up to this ruling Mozilla filed a joint amicus brief with CCIA supporting the order, and engaged extensively in the FCC proceedings. We filed a written petition, provided formal comments along the way, and engaged our community with a petition to Congress. Mozilla also organized global teach-ins and a day of action, and co-authored a letter to the President.

We’re glad to see this development and we remain steadfast in our position that net neutrality is a critical factor to ensuring the Internet is open and accessible. Mozilla is committed to continuing to advocate for net neutrality principles around the world.

The Mozilla BlogExpanding Mozilla’s Boards

In a post earlier this month, I mentioned the importance of building a network of people who can help us identify and recruit potential Board level contributors and senior advisors. We are also currently working to expand both the Mozilla Foundation and Mozilla Corporation Boards.

The role of a Mozilla Board member

I’ve written a few posts about the role of the Board of Directors at Mozilla.

At Mozilla, we invite our Board members to be more involved with management, employees and volunteers than is generally the case. It’s not that common for Board members to have unstructured contacts with individuals or even sometimes the management team. The conventional thinking is that these types of relationships make it hard for the CEO to do his or her job. We feel differently. We have open flows of information in multiple channels. Part of building the world we want is to have built transparency and shared understandings.

We also prefer a reasonably extended “get to know each other” period for our Board members. Sometimes I hear people speak poorly of extended process, but I feel it’s very important for Mozilla.  Mozilla is an unusual organization. We’re a technology powerhouse with a broad Internet openness and empowerment mission at its core. We feel like a product organization to those from the nonprofit world; we feel like a non-profit organization to those from the Internet industry.

It’s important that our Board members understand the full breadth of Mozilla’s mission. It’s important that Mozilla Foundation Board members understand why we build consumer products, why it happens in the subsidiary and why they cannot micro-manage this work. It is equally important that Mozilla Corporation Board members understand why we engage in the open Internet activities of the Mozilla Foundation and why we seek to develop complementary programs and shared goals.

I want all our Board members to understand that “empowering people” encompasses “user communities” but is much broader for Mozilla. Mozilla should be a resource for the set of people who care about the open Internet. We want people to look to Mozilla because we are such an excellent resource for openness online, not because we hope to “leverage our community” to do something that benefits us.

These sort of distinctions can be rather abstract in practice. So knowing someone well enough to be comfortable about these takes a while. We have a couple of ways of doing this. First, we have extensive discussions with a wide range of people. Board candidates will meet the existing Board members, members of the management team, individual contributors and volunteers. We’ve been piloting ways to work with potential Board candidates in some way. We’ve done that with Cathy Davidson, Ronaldo Lemos, Katharina Borchert and Karim Lakhani. We’re not sure we’ll be able to do it with everyone, and we don’t see it as a requirement. We do see this as a good way to get to know how someone thinks and works within the framework of the Mozilla mission. It helps us feel comfortable including someone at this senior level of stewardship.

What does a Mozilla Board member look like

Job descriptions often get long and wordy. We have those too but, for the search of new Board members, we’ve tried something else this time: a visual role description.

Board member job description for Mozilla Corporation

Board member job description for Mozilla Corporation

Board member job description for Mozilla Foundation

Board member job description for Mozilla Foundation

Here is a short explanation of how to read these visuals:

  • The horizontal lines speaks to things that every Board member should have. For instance, to be a Board member, you have to care about the mission and you have to have some cultural sense of Mozilla, etc. They are a set of things that are important for each and every candidate. In addition, there is a set of things that are important for the Board as a whole. For instance, we could put international experience in there or whether the candidate is a public spokesperson. We want some of that but it is not necessary that every Board member has that.
  • In the vertical green columns, we have the particular skills and expertise that we are looking for at this point.
  • We would expect the horizontal lines not to change too much over time and the vertical lines to change depending on who joins the Board and who leaves.

I invite you to look at these documents and provide input on them. If you have candidates that you believe would be good Board members, send them to the mailing list. We will use real discretion with the names you send us.

We’ll also be designing a process for how to broaden participation in the process beyond other Board members. We want to take advantage of the awareness and the cluefulness of the organization. That will be part of a future update.


CalendarGSoC 2016: Seeking Feedback on UI Design

As you can see on the Event in a Tab wiki page, I have created a number of mockups, labeled A through N, for the new UI for creating, viewing, and editing calendar events and tasks.  (This has given me a lot of practice using Inkscape!)  The final design will be implemented in the second phase of the project.  So far the revisions have been based on valuable feedback from Paenglab and MakeMyDay (thanks!), and we are now seeking broader feedback from users on the latest and greatest mockup “N” (click to view full size):

Event in a Tab

Event in a Tab, UI Design, Mockup “N”

Please take a look and send any feedback, comments, suggestions, questions, etc. to the calendar mailing list / newsgroup where we will be discussing the design, or you can leave a comment on this blog post, send a private email to, or reach us via IRC (in Mozilla’s #calendar channel).

Here are some notes and details about the behavior of the proposed UI that are not apparent from a static image.

The mockup is intended as a relatively rough “wire frame” to show layout and it only approximates spacing, sizing, and aesthetic details. Unless otherwise noted, functionality is the same as in the current Lightning add-on.

A responsive design approach will be used to implement this UI in HTML. As the window expands horizontally, the elements will expand with it up to a breakpoint where the two-column “tab” layout goes into effect. Then the elements will continue to expand in both of the columns, up to a certain maximum limit at which they would expand no further. (Having this limit will keep things more focused on very wide monitors/windows.)

For vertical scrolling in a tab… Categories, Reminders, Attachments, Attendees, and Description can expand to take up as much vertical space as necessary to show all of their content. In most cases, where there are only a small number of these items, there will be enough room on the page to show them all without any scrolling. In less common cases where there are many items, the content of the tab will grow taller until it no longer fits vertically, and then the whole tab will become scrollable. (The toolbar at the top, with the buttons like “Save and Close,” will not scroll, remaining in place, still easily accessible.) This approach makes it possible to view all of the items at once when there are many of them (instead of having smaller boxes around each of these elements that are each independently scrollable).  This “whole tab scrolling” approach is how it works in Google Calendar.

For vertical scrolling in a dialog window…  When the contents of the tabbed box (Reminders, Attachments, Attendees, and Description) becomes too big to fit vertically, the tabbed box becomes scrollable.  (Suggestions are welcome for the name of the “More” tab in the window dialog.)

The mockup shows the new date/time picker that is being developed by Mozilla.  It remains to be seen whether it will be available in time for use in this project.  Another possibility is the date/time picker developed by Fastmail.

Progress Report on Coding

Besides working on the design for the UI, I have continued to work on porting the current event dialog UI to a tab.  I created a bug for this part of the first phase of the project, posted my first work-in-progress patch there, and am now working on the next iteration based on the feedback.

This work includes refactoring the current event dialog’s XUL file into more than one file to separate the main part of the UI from its menu bar, tool bar, and status bar items.  This more modular arrangement will make it possible to make the menu bar, tool bar, and status bar items appear in the correct places in the main Thunderbird window when displaying the UI in a tab.  This will solve the problem of the doubled status bar and menu bar in my first patch.

The next patch will also have a hidden preference (accessible via “about:config” but eventually to be added to Lightning’s preferences UI) that determines whether event and task dialogs are opened in a window or a tab by default.

So overall, things are progressing well, which is a good thing since there is only about a week or so left before the GSoC midterm milestone, and the goal is to have phase one of the project completed by that point.  After I have finished this initial “phase one” patch, and any follow-up work that needs to be done for it, we will reach a decision about whether to use XUL, Web Components, React.js, or “plain vanilla” HTML for the implementation of the new UI design, and then start working on implementing it.

— Paul Morris

Air MozillaHackathon Open Democracy Now Day 2

Hackathon Open Democracy Now Day 2 Hackathon d'ouverture du festival Futur en Seine 2016 sur le thème de la Civic Tech.

Arabic Mozilla“حسابات فَيَرفُكس” الآن باللغة العربية

تم الإنتهاء من توطين مشروع ” حسابات فيرفكس” وإصلاح معظم مشاكل RTL الموجودة بواجهة المستخدم. حيث يمكنكم الآن تجربة النسخة النهائية من إصدار ” حسابات فيرفكس” باللغة العربية من هنا:

لا تتردد في تصحيح الأخطاء إن وجدت فهذا مشروع مفتوح المصدر ويحتاج إلى آراءكم ومساهماتكم.
ملاحظة: تحتاج إلى الإصدار العربي من متصفح فيرفكس للإطلاع على الإصدار الجديد من مشروع حسابات فيرفكس.
روابط مهمة: 
لمتابعة التراجم والمساهمة في توطين المشروع:
للإبلاغ عن مشاكل RTL الموجودة بواجهة المستخدم:

Air MozillaHackathon Open Democracy Now

Hackathon Open Democracy Now Hackathon d'ouverture du festival Futur en Seine 2016 sur le thème de la Civic Tech.

Mozilla Add-ons BlogWebExtensions for Firefox 49

Firefox 49 landed in Developer Edition this week, so we have another update on WebExtensions for you!

Since the release of Firefox 48, we feel WebExtensions are in a stable state. We recommend developers start to use the WebExtensions API for their add-on development. Since the last release, more than 35 bugs were closed on WebExtensions alone.

If you have authored an add-on in the past and are curious about how it’s affected by the upcoming changes, please use this lookup tool. There is also a wiki page and MDN articles filled with resources to support you through the changes.

APIs Implemented

The history API allows you to interact with the browser history. In Firefox 49 the APIs to add, query, and delete browser history have been merged. This is ideal for developers who want to build add-ons to manage user privacy.

In Firefox 48, Android support was merged, and in Firefox 49 support for some of the native elements has started to land. Firefox 49 on Android supports some of the pageAction APIs. This work lays the foundation for new APIs such as tabs, windows, browserAction in Android.

The WebNavigation API now supports the manual_subframe transitionType and keeps track of user interaction with the url bar appropriately. The downloads API now lets you download a blob created in a background script.

For a full list of bugs, please check out Bugzilla.

In progress

Things are a little bit quieter recently because there are things in progress that have absorbed a lot of developer time. They won’t land in the tree for Firefox 49, but we’ll keep you updated on their progress in later releases.


This API allows you to store some data for an add-on in Firefox and have it synced to another Firefox browser. It is most commonly used for storing add-on preferences, because it is not designed to be a robust data storage and syncing tool. For sync, we will use Firefox Accounts to authenticate users and enforce quota limits.

Whilst the API contains the word “sync” and it uses Firefox Accounts, it should be noted that it is different from Firefox Sync. In Firefox Sync there is an attempt to merge data and resolve conflicts. There is no similar logic in this API.

You can track the progress of storage.sync in Bugzilla.


This API allows you to communicate with other processes on the host’s operating system. It’s a commonly used API for password managers and security software which needs to communicate with external processes.

To communicate with a native process, there’s a two-step process. First, your installer needs to install a JSON manifest file at an appropriate file location on the target computer. That JSON manifest provides the link between Firefox and the process. Secondly, the user installs the add-on. Then the add-on can call the connectNative, sendNativeMessage and other APIs:

  { text: "Hello" },
  function(response) {
    console.log("Received " + response);

Firefox will start the process if it hasn’t started already, and pipe commands through to the process. Follow along with the progress of runtime.connectNative on Bugzilla.

WebExtensions transition

With these ongoing improvements, we realise there are lots of add-ons that might want to start moving towards WebExtensions and utilise the new APIs.

To allow this, you will soon be able to embed a WebExtension inside an add-on. This allows you to message the WebExtension add-on.

The following example works with SDK add-ons, but this should work with any bootstrapped add-on. Inside your SDK add-on you’d have a directory called webextensions containing a full-fledged WebExtension. In the background page of that WebExtension will be the following:

chrome.runtime.sendMessage("test message", (reply) => {
  console.log("embedded webext got a reply", reply);

Then you’d be able to reply in the SDK add-on:

var { api } = require('sdk/webextension');
api.onMessage.addListener((msg, sender, sendReply) =>
  console.log("SDK add-on got a message", {msg,sender}); 

This demonstrates sending a message from the WebExtension to the SDK add-on.Persistent bi-directional ports will also be available.

Using this technique, we hope add-on developers can leverage WebExtensions APIs as they start migrating their add-on over to WebExtensions. Follow along with the progress of communication on Bugzilla.

There are also lots of other ways to get involved with WebExtensions, so please check them out!

SUMO BlogWhat’s Up with SUMO – 9th June

Hello, SUMO Nation!

I wonder how many football fans do we have among you… The Euro’s coming! Some of us will definitely be watching (and being emotional) about the games played out in the next few weeks. If you’re a football fan, let’s talk about it in our forums!

Welcome, new contributors!

If you just joined us, don’t hesitate – come over and say “hi” in the forums!

Contributors of the week

Don’t forget that if you are new to SUMO and someone helped you get started in a nice way you can nominate them for the Buddy of the Month!

Most recent SUMO Community meeting

The next SUMO Community meeting

  • …is most likely happening after the London Work Week (which is happening next week)
  • Reminder: if you want to add a discussion topic to the upcoming meeting agenda:
    • Start a thread in the Community Forums, so that everyone in the community can see what will be discussed and voice their opinion here before Wednesday (this will make it easier to have an efficient meeting).
    • Please do so as soon as you can before the meeting, so that people have time to read, think, and reply (and also add it to the agenda).
    • If you can, please attend the meeting in person (or via IRC), so we can follow up on your discussion topic during the meeting with your feedback.



Support Forum

Knowledge Base & L10n


  • for Android
    • Version 47 launched – woohoo!
      • You can now show or hide web fonts” in advanced settings, to save your data and increase page loading speeds.
    • Final reminder: Android 2.3 is no longer a supported platform after the recent release.
    • Version 48 articles will be coming after June 18, courtesy of Joni!

That’s it for this week – next week the blog post may not be here… but if you keep an eye open for our Twitter updates, you may see a lot of smiling faces.

WebmakerLearn & Make with Mozilla in June

Mozilla Summer Maker Party 2015

Mozilla Summer Maker Party 2015

This month, Mozilla is excited to offer three events to cultivate, motivate and activate learning and making across the globe!

Mozilla Curriculum Workshop

Thursday, June 16 9am PT/ 12pm ET/ 5pm UTC

Join co-hosts Amira Dhalla and Chad Sansing broadcasting live from London. Invited guests Su Adams, Bud Hunt, and Christopher Rogers, as well as drop-in Mozillians, will talk shop about summer learning, participatory learning outside school, and curriculum development on the web.

Here’s a bit more about the guests:

Mozilla Learning Community Call

June 29; 1pm PT / 4pm ET / 8pm UTC

Summer learning loss is a real challenge, especially for those who may not have access to enriching educational opportunities. There has been a good amount of research and discussion on this topic, and on the June community call, we’ll be exploring the types of fun and engaging learning experiences that can–and do–happen during the summer. Educators from Hive NYC, Hive Chicago and Hive Toronto will join us to share real examples of programs that illustrate the impact that learning and making can have on young people during this critical time of the year.

You can learn more about summer learning opportunities at National Summer Learning Association, John Hopkins School of Education and US Department of Ed’s Y4Y initiative.

How do these summer programs Demystify the Web for young learners? Explore our learning space at the Mozilla Festival and how you can submit a proposal to share your program strategies and best practices with a community of like-minded peers in a professional learning environment that models hands-on, interest-driven learning for youth and adults alike.

Guest speakers include:

  • Lisa Kim, Youth Commission Director for Mikva Challenge in Chicago, IL , where she works with diverse young Chicagoans to involve youth voice in the City’s decision-making process.
  • Niberca (Gigi) Polo, Emoti-con 2016 design fellows lead, Part-Time Associate Teaching Professor at Parsons The New School for Design, and Principal at Myellow Boots Studio.
  • Dr. Dixie Ching, co-lead of the Hive Research Lab, a project out of Indiana University and New York University that serves as an applied research partner to the Hive NYC Learning Network.
  • Andy Forest, lead at STEAMLabs, a not for profit community makerspace in the heart of Toronto providing digital fabrication, electronics, woodworking and other tools and skills training to kids and adults.

#TTWchat with @MozLearn

All-day, June 30

Join us for a tweet chat that brings the curriculum workshop and community call discussions together for even more learning and making possibilities.

Air MozillaMapathon Missing Maps #4

Mapathon Missing Maps #4 Ateliers de cartographie collaborative sur OpenStreetMap de régions du monde peu ou pas encore cartographiées. Organisé par Missing Maps et MSF.

Air MozillaWeb QA team meeting

Web QA team meeting They say a Mozilla Web QA team member is the most fearless creature in the world. They say their jaws are powerful enough to crush...

Air MozillaReps weekly, 09 Jun 2016

Reps weekly This is a weekly call with some of the Reps to discuss all matters about/affecting Reps and invite Reps to share their work with everyone.

Mozilla L10NLocalization Hackathon in Argentina

From May 20-23, l10n-drivers Jeff Beatty and Delphine Lebédel met with 11 participants from 4 different communities in the city of Buenos Aires (Argentina) for 2 days of localization hacking. These communities represented Spanish from Chile, Spanish from Argentina, Guaraní and one member was from Mozilla Nativo (a community that helps promote indigenous languages in Mozilla products).

This hackathon followed the new 2016 format, as detailed here: – with a few notable differences from this year’s previous experiences.

In fact, we decided to insist more on localization style guides – and integrated a full 2 hours session dedicated solely to their creation. During this allocated time, communities focused themselves entirely on this task and based their work upon the English Style Guide template that the “Translation Quality Team” has created. Some teams decided to divide the work among themselves by sections and each work individually on those – while other communities decided to collaborate as a group – and work their way through each section by discussing and debating each item all together.

We then held a round table to understand what were the take-aways from creating these style guides. Some of the challenges were:
– That the wiki markup was confusing
– That it’s a very long process
– It’s hard for someone to understand the style guide and jump right into it. You need more time to study it, and really understand it
– Some thought it would be easy and suddenly realize they maybe don’t know enough of their own language 😀 Something helpful would be more concrete examples for each part in the English template

Regarded as successes and feedback were:
– That the initial English template is very clear and explains well how to go through the steps
– One community (Spanish from Argentina) almost finished their style guide!
– Guaraní team is doing a Spanish version first and then the Guaraní version
– Everyone has at least a base of work to build upon

Teams did not agree on where these style guides should live: some thought they should be part of the translation tools they use, and others in a wiki or on GitHub. In any case, everyone agreed that this was a great step forward in ensuring quality and consistency across all our Mozilla projects and in the translation work they create.

I would also like to take this opportunity to congratulate the Guaraní community who has recently launched Firefox in their language. This is an excellent achievement. And along with that, they have almost completed Firefox for Android. Congrats!

The Chilean team also managed to finish localizing Firefox for Android during the hackathon. Congratulations to them too!

In all, this event was a great way to touch base with these communities and make sure we are all aligned along the same goals and Mozilla’s mission. Creating style guides was also crucial in initiating a process for them to ensure quality and consistency going forwards.

Thank you to all who participated! You really did an awesome job.

The Buenos Aires Hackathon Participants

The Buenos Aires Hackathon Participants

The Mozilla BlogHelp Make Open Source Secure

Major security bugs heartbleed bandagein core pieces of open source software – such as Heartbleed and Shellshock – have elevated highly technical security vulnerabilities into national news headlines. Despite these sobering incidents, adequate support for securing open source software remains an unsolved problem, as a panel of 32 security professionals confirmed in 2015. We want to change that, starting today with the creation of the Secure Open Source (“SOS”) Fund aimed at precisely this need.

Open source software is used by millions of businesses and thousands of educational and government institutions for critical applications and services. From Google and Microsoft to the United Nations, open source code is now tightly woven into the fabric of the software that powers the world. Indeed, much of the Internet – including the network infrastructure that supports it – runs using open source technologies. As the Internet moves from connecting browsers to connecting devices (cars and medical equipment), software security becomes a life and death consideration.

The SOS Fund will provide security auditing, remediation, and verification for key open source software projects. The Fund is part of the Mozilla Open Source Support program (MOSS) and has been allocated $500,000 in initial funding, which will cover audits of some widely-used open source libraries and programs. But we hope this is only the beginning. We want to see the numerous companies and governments that use open source join us and provide additional financial support. We challenge these beneficiaries of open source to pay it forward and help secure the Internet.

Security is a process. To have substantial and lasting benefit, we need to invest in education, best practices, and a host of other areas. Yet we hope that this fund will provide needed short-term benefits and industry momentum to help strengthen open source projects.

Mozilla is committed to tackling the need for more security in the open source ecosystem through three steps:

  • Mozilla will contract with and pay professional security firms to audit other projects’ code;
  • Mozilla will work with the project maintainer(s) to support and implement fixes, and to manage disclosure; and
  • Mozilla will pay for the remediation work to be verified, to ensure any identified bugs have been fixed.

We have already tested this process with audits of three pieces of open source software. In those audits we uncovered and addressed a total of 43 bugs, including one critical vulnerability and two issues with a widely-used image file format. These initial results confirm our investment hypothesis, and we’re excited to learn more as we open for applications.

We all rely on open source software. We invite other companies and funders to join us in securing the open source ecosystem. If you’re a developer, apply for support! And if you’re a funder, join us. Together, we can have a greater impact for the security of open source systems and the Internet as a whole.

More information:




Air MozillaThe Joy of Coding - Episode 60

The Joy of Coding - Episode 60 mconley livehacks on real Firefox bugs while thinking aloud.

Firebug BlogFirebug 2.0.17

The Firebug team released Firebug 2.0.17. This is a maintenance release ensuring compatibility with latest Firefox releases.


The beta channel on AMO is also updated.

Firebug 2.0.17 is compatible with Firefox 30 – 49

Firebug 2.0.17 fixes the following issues: 8003, 8012, 8018, 8022


Finally, read more about Unifying Firebug & Firefox DevTools.


Please post feedback in the newsgroup, thanks.

Jan ‘Honza’ Odvarko


Air MozillaWebdev Extravaganza: June 2016

Webdev Extravaganza: June 2016 Once a month web developers from across Mozilla get together to share news about the things we've shipped, news about open source libraries we maintain...

Air MozillaConnected Devices Weekly Program Update, 07 Jun 2016

Connected Devices Weekly Program Update Weekly project updates from the Mozilla Connected Devices team.

hacks.mozilla.orgHelping web developers with JavaScript errors

Errors are one of the more frustrating things you encounter while  programming. Those little messages in the console can ruin your entire afternoon, day, or week. When “undefined is not a function” appears yet again, it’s often time to get another coffee.

Even if you use the one true JavaScript exception handler, and have a lightning fast “copy and paste into $search_engine” reflex, the process of tracking down helpful information about an error can be annoying.

It doesn’t necessarily need to be that way! Some programming languages (hi Rust) take their error reporting to the next level by providing more information than just the fact that something went wrong.

We are not introducing JavaScript Clippy today. However, with the help of the MDN community, we are going to add links to documentation from error  messages that appear within the Firefox Developer Tools console.

This is to help you debug faster and learn more about JavaScript’s edge cases and lesser known functionality. Especially if you are new to JavaScript, we hope that you’ll appreciate this additional debugging help, or for those times when you’ve had too much coffee and you still can’t find the solution.

Documenting all the JavaScript, DOM, and other varieties of error messages that are thrown at you is a lot of work. We are focusing on the most commonly thrown errors for now. If you feel like helping here, get in touch with the MDN community and we promise you’ll learn a lot about JavaScript’s interesting quirks!

Try a recent Nightly build of Firefox to test this feature, or have a look at the MDN JavaScript error documentation directly.

Air MozillaMartes mozilleros, 07 Jun 2016

Martes mozilleros Reunión bi-semanal para hablar sobre el estado de Mozilla, la comunidad y sus proyectos. Bi-weekly meeting to talk (in Spanish) about Mozilla status, community and...

The Mozilla BlogImprovements to Tabs and Video on Firefox Make Browsing Faster and Easier

In the recent past we have made several improvements to Firefox Accounts that make your browsing better. Those improvements include personalizing your account and the ability to sync passwords, bookmarks and other browsing data between your desktop and mobile devices.

Now, we are making it even easier to access synced tabs directly in your desktop Firefox browser. If you’re logged into your Firefox Account, you will see all open tabs from your smartphone or other computers within the sidebar. In the sidebar you can also search for specific tabs quickly and easily.

Do you have a powerful multi-processor computer? If so, Firefox now delivers an improved video experience when viewing videos on YouTube. This means videos will run smoother. You will also use less bandwidth and get improved battery life on your laptop.

And if you are an Android user, we have removed the icons that show up in the URL bar. This prevents unsecured sites from copying the images of legitimate sites to try to trick you into thinking the site is safe for sensitive information.

Lastly, we added to Firefox for Android a feature that lets you show or hide web fonts. This may reduce the amount of data required for browsing, an important factor for data-conscious users. We hope you enjoy these new features. Feel free to send us any feedback.

QMOFirefox 48.0 Aurora Testday Results

Hello Mozillians!

As you may already know, last Friday – June 3rd – we held a new successful Testday event, for Firefox 48.0 Aurora.


We’d like to take this opportunity to say a big THANK YOU to Cory, Prasanth P, Rishav Kumar, Moin Shaikh, Chandrakant Dhutadmal, Iryna Thompson, PUSHANSHU, Stelian Ionce, gaby2300 and to our amazing Bangladesh QA Community: Nazir Ahmed Sabbir, Khalid Syfullah Zaman, Rezaul Huque Nayeem, Md. Rahimul Islam, Sajal Ahmed, Roman Syed, Tovfikur Rahmast, Maruf Rahman, Niaz Bhuiyan Asif, Sajedul Islam, Saddam Hossain, Mahfuza Humayra Mohona, Md.Majedul islam, Tanvir Rahman, Akash, Sauradeep Dutta, Md Rakibul Islam, ria, Fahim, Zayed News, Kazi Sakib Ahmad, Asif Mahmud Rony, F areha Alamgir, Tariqul Islam Chowdhury, Asif Mahmud Shuvo for getting involved in this event and making Firefox as best as it could be.

Also, many thanks to all our active moderators.

Keep an eye on QMO for upcoming events!

Firebug BlogUnifying Firebug & Firefox DevTools

We have been working to unify Firefox Developer tools and Firebug for some time. From Firefox 49, we’ll be shipping built-in.

For Firebug users this means many new features with the look and feel that you’re familiar with.


New features for Firebug users:

  • Performance Panel – The Performance tool gives you insight into your site’s general responsiveness, JavaScript and layout performance.
  • Memory Panel – The Memory tool lets you take a snapshot of the current tab’s memory heap.
  • Web Audio Editor, Shader Editor and Canvas – Developer Tools for debugging media-rich content on the web.
  • Storage Inspector – The Storage Inspector enables you to inspect various types of storage that a web page can use (cache, cookies, local & session storage, indexedDB).
  • Responsive Design Mode – Responsive Design Mode makes it easy to see how your website or web app will look on different screen sizes.
  • Animation Inspector – The Animation Inspector displays animations in the page synchronized along a timeline, with a draggable widget you can use to move to any point in the timeline and see the page at that point.
  • And more…


If you use the built-in Firefox Developer Tools, rather than Firebug, then you may like the DOM Panel and Firebug Theme that we’ve added in this merge.


In addition we’ve ported some common Firebug extensions (PixelPerfect, FireQuery and HARExportTrigger formerly NetExport). And while we’re at it, you might like our new WebSocket Monitor extension.

What about Firebug 2

Firebug 2 doesn’t work in multi-process browsers (i.e. e10s) and converting it is too complex, so it will stop working when e10s is activated in Firefox. You will be able to disable e10s for a while to keep using Firebug 2, but this won’t last forever.


Happy debugging!


Jan Honza Odvarko (Firebug Working Group)
Joe Walker (Firefox Developer Tools)

Mozilla L10NFirefox L10n Report – Aurora 49

Starting from this cycle I’ll be in charge of sending the l10n report. I’ll also try something different, pointing out relevant changes in the last cycle, and some common issues found during the sign-off review process. The result will be a longer report, but I hope you will find it useful as well.

Here’s an outline of what is currently in Aurora this cycle for Firefox 49, and some information on the accomplishments of the l10n Community during the previous cycle.

Current Aurora Cycle – Firefox 49

Key dates for this cycle:

  • Beta (48): sign offs for already shipping locales must be completed before 20 July. For reference, the date is roughly 2 weeks before the next release date, and it’s the last good day to include your updates into a Beta build.
  • Aurora (49): sign offs must be completed before 3 August.

String statistics:

  • Firefox Aurora desktop has 179 added strings (125 obsolete). About 36% of the new strings are for Developer Tools.
  • Fennec Aurora has 78 new strings (56 obsolete). 19 new strings are Fennec-only (in /mobile).

There are currently no pending requests to uplift patches with strings to Aurora, even if bug 1134073 might request it in the next days (that would mean one added string for DevTools).

For further details on the new features you can check the release notes (they’re usually published a few days after release):

Current Release Cycle (Firefox 47)

Noteworthy events for Firefox 47 (release date: 7 Jun):

  • 61 locales, corresponding to 67% of our shipping locales, signed off updates for Firefox 47 on desktop. This is a decrease in locale coverage from the previous release (69 signed off locales).
  • 53 locales, corresponding to 74% of our shipping locales, signed off updates for Fennec 47 on Android. This is an decrease in locale coverage from the previous release (57 signed off locales).

Noteworthy Changes Available in Aurora

These are some of the interesting changes introduced in the last cycle. Note that you will need Firefox Developer Edition 49 to test them, and the build is usually available a few days after merge day.


Browser: there’s a new dialog displayed to users to reset search preferences. You can test it by opening about:searchreset.

Preferences: English changed the size of the Do Not Track dialog, you should check it after translating the new string (Privacy panel, “manage your Do Not Track settings“ link). Ignore the changed accesskey in this specific changeset, ID has been changed in a following commit.


Team is starting to use a new way to define keyboard shortcuts (not accesskeys), adopting a syntax similar to Electron. You can see an example in this changeset,

You should not translate fragments like CmdOrCtrl, CmdOrCtrl+Plus (Plus indicates the + key), CmdOrCtrl+Shift+D. Also a reminder that you should not be changing shortcuts in general, unlike accesskeys, unless the default keyboard layout for your locale doesn’t include that specific key, or combination of keys.


A few menu items changed capitalization as part of bug 893836. You should update your localization if you’re following the same rules as English, otherwise you can simply ignore the change and keep your existing translations.

Common Issues

The fragment “Error code:” inside these strings should be localized, while NS_ERROR_NET_INADEQUATE_SECURITY should not. It’s easy to miss the localizable piece, given the amount of HTML code in the string.

Data saver” in mobile. In this case “saving data” means “consuming less data”, not “save” as in “save a file”. Thanks to Eduardo Trápani for spotting it and filing a few bugs (a localization note was added in this cycle too).

For locales working on Pootle: always check strings before accepting a suggestion from translation memory. Several locales introduced an unwanted &amp; in cmd.removeFile.label.

Don’t translate, unless your National Registration Authority provides an equivalent domain created for the same purpose. More details in this discussion on dev-l10n.

Thanks to everyone for your dedication and hard work this last cycle. If you note anything missing in these reports, or would like to see other information included, please let me know.

Air MozillaK Lars Lohn - Keynote - PyCon 2016, 06 Jun 2016

K Lars Lohn - Keynote - PyCon 2016 Speaker: K Lars Lohn Keynote Slides can be found at: and

Air MozillaK Lars Lohn - Keynote - PyCon 2016, 06 Jun 2016

K Lars Lohn - Keynote - PyCon 2016 Mozilla's own K Lars Lohn delivers the keynote at Pycon 2016

WebmakerJune Community Spotlight: Yousef Alam

We continue to celebrate the great people and work across the globe this month with Yousef Alam. Yousef has been a volunteer and Mozilla contributor since 2012, adding his passion for the web, skills, and experience to many Mozilla projects – most notably MozFest and our various Discourse forums.

Yousef Alam

Yousef running Firefox Student Ambassadors session at 2013 Summit in Brussels.

We asked Yousef to tell us more about his journey with the open web. Here’s what he had to say:

What is your background with the web? With Mozilla?

I went to the Mozilla Festival back in 2012 because it was cheap for under-16s and seemed interesting. The enthusiasm, knowledge and pure passion for the open web was what got me started contributing to Mozilla. I started out answering questions and writing documentation about Firefox on the support website before moving onto Community Operations, a small team which maintains community websites and services, with some monthly newsletter coding and Firefox OS participation in between.

What is your most noteworthy open web accomplishment?

My most noteworthy open web accomplishment would have to be the Community Ops group I have helped build over the last 3 years. Together, we’ve proven that volunteer contribution in Operations can be beneficial to the project, impacted communications at Mozilla through Discourse and are currently working towards building better infrastructure for community websites and projects to live on.

Tell us about your Mozilla Festival experience and how it has impacted you.

Since 2013, I have been a volunteer at the Festival and while I’m running up and down the 9 floors of Ravensbourne, I get to speak with many of the attendees, all working on many different projects. I am always amazed at the energy when thinkers, makers and educators come together for the benefit of the web. The way I think about the web changes with each MozFest and I always look forward to the next one.

You help to maintain several Mozilla community forums on Discourse. Can you tell us about how you help and the value it has added to the community?

Back when I first started contributing to Mozilla, I put off contributing to some discussions which were happening over mailing lists as they seemed scary to someone who had never used a mailing list before, especially since the lists had hundreds of members. It was also difficult to find where the conversations were happening since some projects were using different tools to communicate. The Community Ops team experimented with Discourse as a solution to the communication problems in a single package: “Provide a public, approachable, asynchronous, multiple participant, written, archived, searchable, filterable, accessible communications mechanism for the Mozilla project.”

Community Discourse has since become a key communication tool for many teams and communities within the project, with 3,500+ users and 16,000+ posts. Other teams have also moved some communications onto their own Discourse forums, such as the Mozilla Learning Networks, Mozilla Advocacy, and Rust.

My main Discourse work is operations – making sure the forums stay live and updated no matter how much traffic hits them. I also help out on the organizational level as the “module owner” – figuring out what we can do to make the forums easier to use, more accessible to contributors, and working towards our goal to improve Mozilla communication. If that sounds like something you’d like to get involved with, let us know here and we’ll find something for you!

How are you inspiring others to teach the web/join in the Mozilla cause?

A key part of the web is its decentralized nature, which allows anyone to host a website, regardless of race/gender/views. Our team’s mission is to mentor and teach others with practical technical skills to host and run production-quality websites. I’ve mentored a handful of contributors who are working on various other services that Community Ops hosts and am also sharing my knowledge at the monthly London Mozilla Club, where I recently showed attendees how to set up a blog using WordPress and Let’s Encrypt.

Yousef Alam

Yousef (far right, middle) with London Mozilla Club attendees in March, 2016. Photo provided by Yousef.

Has your volunteer work helped you develop your skills as a leader – if so, how?

Volunteering at Mozilla has allowed me to build my communication, time management and problem solving skills along with the opportunities to plan real-world projects and mentor others to achieve the goals those projects require. I’ve also gained confidence through speaking at various Mozilla events such as MozFest volunteer socials and summits.

How has your involvement with Mozilla as a volunteer contributor added value to your life as a student/professional?

My contributions helped me to decide which career path I wanted to pursue. I am now studying Computer Systems and Networking at the University of Greenwich. I have gotten to work with some of the smartest people in their fields and made many good friends along the way.

To learn more about Yousef, follow him on Twitter.

Do you know someone that has made tremendous strides towards spreading global web literacy or has made an impact through a Mozilla Club, classroom, or the #teachtheweb community at large? Share their story with us.

about:communityFirefox 47 new contributors

With the release of Firefox 47, we are pleased to welcome the 41 developers who contributed their first code change to Firefox in this release, 33 of whom were brand new volunteers! Please join us in thanking each of these diligent and enthusiastic individuals, and take a look at their contributions:

  • malayaleecoder: 1219323, 1234875, 1238537, 1241846, 1241941, 1243821, 1247723
  • matthewstroud101: 1247450
  • ruxton: 1033144
  • u562192: 1249281
  • varunnaganathan912: 1236387, 1238796
  • Andrew: 1249937
  • Andrew Swan: 612168, 1156826, 1228247, 1236940, 1245597, 1245600, 1245603, 1245678, 1250880, 1251766, 1256399
  • Angel Bouzo: 1194033
  • Astley Chen: 1228918
  • Bob: 730192
  • Calixte Denizet: 1248981
  • Daniel Maher: 1248898
  • Daniel Näslund: 1239710, 1242196, 1250589
  • Deepthi Venkitaramanan: 1244328
  • Eric Hu: 920169, 1244766, 1245910
  • Frank-Rainer Grahl: 1246614
  • Greg Tatum: 1164252, 1242958, 1252971
  • Huma Zafar: 1206166
  • James Burke: 1139849
  • Jeffrey Tran: 555087, 637238, 938699, 1108019, 1230683, 1230685
  • Joe Whitfield-Seed: 1245496
  • Jonathan Howard: 1241931
  • KM Lee: 1248907
  • Leo Ufimtsev: 1229206
  • Maurya Talisetti: 1156176, 1242352
  • Michelangelo De Simone: 1247445, 1249833
  • Nils M.: 1225102
  • Oussama Ben Guirat: 1224192, 1251960
  • Priyen Patel: 1245722
  • Ricky Rosario: 1249642
  • Rok Garbas: 1248983
  • Ryo Motozawa: 1226047, 1244586, 1211783, 1244641
  • Sambuddha Basu: 952564
  • Sanyam Khurana: 1221494
  • Sourabh Shrivastava: 1241991
  • Stefan Dye: 1204520
  • Sándor Gecsey: 241698
  • Tristan: 1244197
  • Tushar Saini: 1228170
  • Vince Tieu: 524757
  • dlim: 1231549
  • radu stoica: 1248558, 1250499
  • Firefox UXNotification Overload and User Control

    Web browser users do more than browse and search. They employ detailed, sophisticated, and mentally engrossing workflows to complete tasks…

    SUMO BlogWhat’s Up with SUMO – 3rd June

    Hello, SUMO Nation!

    Due to a technical glitch (someone didn’t remember how to press the right buttons here, but don’t look at me… I’m innocent! Almost… ;-)) we’re a day late, but we are here and… so are the latest & greatest news from the world of SUMO!

    Welcome, new contributors!

    If you just joined us, don’t hesitate – come over and say “hi” in the forums!

    Contributors of the week

    Don’t forget that if you are new to SUMO and someone helped you get started in a nice way you can nominate them for the Buddy of the Month!

    Most recent SUMO Community meeting

    The next SUMO Community meeting

    • …is happening on WEDNESDAY the 8th of June – join us!
    • Reminder: if you want to add a discussion topic to the upcoming meeting agenda:
      • Start a thread in the Community Forums, so that everyone in the community can see what will be discussed and voice their opinion here before Wednesday (this will make it easier to have an efficient meeting).
      • Please do so as soon as you can before the meeting, so that people have time to read, think, and reply (and also add it to the agenda).
      • If you can, please attend the meeting in person (or via IRC), so we can follow up on your discussion topic during the meeting with your feedback.



    Support Forum

    Knowledge Base & L10n


    • for Android
      • Version 46 support discussion thread.
      • Reminder: version 47 will stop supporting Gingerbread. High time to update your Android installations. For all those who are already sad, a little teaser of what’s coming up (if you upgrade your Android OS, that is), aside from the usual Firefox mobile goodness:
        • you’ll be able to turn off web fonts,
        • the favicons will be removed from the URL bar to prevent spoofing
      • Version 48 articles will be coming after June 18, courtesy of Joni!
    • for iOS
      • Firefox for iOS 4.0 IS HERE!
      • Firefox for iOS 5.0 should be with us in approximately 4 weeks! It should be out as early as June 21 (subject to Apple’s approval) and Joni is writing English articles for it already. Release highlights include bidirectional bookmark sync!

    That’s it for this week! To round it all off nicely, go ahead and watch Kevin Kelly’s visit to Mozilla, during which he talked about the near future trends in technology. See you next week!



    WebmakerTransforming Learning Through Gigabit Technology

    The Mozilla Gigabit Community Fund, a partnership with the National Science Foundation and US Ignite, moves next-generation technology out of labs and into classrooms and other learning spaces in Gigabit cities across the United States.

    This month, the Gigabit team has been hard at work to connect gigabit technology with people and projects around the globe, discussing virtual reality (VR), 4K video streaming (4K) and artificial intelligence (AI) possibilities and the profound impact the technology can have on learning spaces.

    If you missed the call, you can learn more about opportunities available to you , challenges, and amazing resources by watching the recording below. You can also find the archived video and etherpad here.

    We wrapped up the month with a #TTWchat about gigabit technology around the world and how it can transform learning spaces. Here are the highlights:

    Learn more about the Mozilla Gigabit Fund here and keep up-to-date with their work on their blog or on Twitter.

    <noscript>[<a href="" target="_blank">View the story &#8220;Gigabit #TTWchat &#8211; May&#8221; on Storify</a>]</noscript>

    Mozilla Add-ons BlogDeveloper profile: Luís Miguel (aka Quicksaver)

    Luís Miguel claims to "bleed" add-ons.

    “I bleed add-on code,” says Luís Miguel.

    Always a heavy user of bookmarks and feeds, Luís Miguel one day decided to customize his Firefox sidebar to better accommodate his personal tastes (he didn’t like how the ever-present sidebar pushed web content aside). But Luís soon discovered he could only go so far solving this problem with minor CSS tweaks.

    That’s when he resolved himself to develop a full-blown add-on. He created OmniSidebar, an elegant extension that allows you to slide your sidebar into view with a simple gesture, among other rich interface features.

    Another of Luís’ add-ons—FindBar Tweak—has a similar origin story; Luís identified a personal desire first, then built an add-on to address it. In this case he wanted a quick way to scan code for just the parts applicable to his work.

    “Earlier today I was working with pinned tabs, and I had to research how they happen,” explains Luís. “Looking for the word ‘pinned’ in Firefox’s code using FindBar Tweak, I was able to easily read through only the relevant bits in a few seconds, because it not only takes me directly to what I’m looking for, but also helps me visually make sense of what is actually relevant.”

    Luís has created four other add-ons, including the popular Tab Groups. Luís spoke with me briefly about his unique interest in add-ons…

    It sounds like you basically create all of your add-ons based on personal browsing needs. Is that an accurate characterization?
    Luís Miguel: Yeah, that’s a fair way to put it. Everything has been about making my Firefox behave and interact with me the way I prefer it to, from quickly finding what I’m looking for in a page, to having my feeds and bookmarks readily accessible without screwing up the rest of the page layout, properly organizing all my buttons in the browser, keeping a clean window but always ready to interact in whatever way I need it to. The “anything goes” approach of Firefox add-ons make them a very fun playground for me in that respect.

    As a procrastination enthusiast, I’ve found that when the process—towards whatever goal—is optimal, fast, and effective, I am the most motivated to do it. So I look for every way to enhance productivity in every task I do, not just for developing, even just casual browsing really.

    Puzzle Bars can conveniently pull up your customized toolbar with a simple swing of the mouse.

    Puzzle Bars conveniently pulls up your customized toolbar with a simple swing of the mouse.

    Although, that’s not entirely the case anymore. There’s a lot in my add-ons that come from user suggestions and requests, many [features] I don’t really use myself. But if it’s to improve the add-on and I have the availability to do it, how can I say no to the most awesome and supportive users a developer could ask for?

    Beyond add-ons you’ve created, do you do other types of development?
    LM: I’ve contributed a few patches for Firefox itself through Bugzilla, but that’s about it. When I set out to do something, I focus on it, so right now I bleed add-on code.

    Are you working on any new add-ons you want to tell us about? 
    LM: I do have a couple of ideas for new add-ons, but those probably won’t happen for a while, mostly because I have to focus on my current ones a lot, as they will need to be ported to WebExtensions eventually. Since my add-ons are mostly UI-modifications at their base, that will be… challenging.

    I have been working on Tab Groups 2 though, which is a major rewrite of almost everything, to hopefully make it more stable and perform better. It’s turning out really awesome.

    What other add-ons—ones you haven’t created—are your favorites and why?
    LM: I have around 30 add-ons enabled in my main profile at any one time. A few favorites come to mind…

    AdBlock Plus is always at the top of my list. I dislike waiting a long time for pages to fully load because of several blinking boxes, or misleading ads.

    Download Panel Tweaker for a sleek, direct, and fully functional downloads panel.

    Tab Mix Plus for optimized opening, closing, moving, and loading tab behavior. There’s just so much it can do!

    Stylish for a few nits here and there, and the custom glass style I made for myself, which I’ve found no other theme or add-on out there can even come close to this.

    I especially like Turn Off the Lights. It helps me focus on whatever video I’m watching. I tend to get distracted easily. If there’s something in the corner of my eye that stands out for some reason, I will look at it. So that functionality is simple and yet very effective.

    Thanks for chatting with us, Luís! I can think of no better way to close this conversation than by sharing a recent installment of your web series…

    CalendarGSoC 2016: First Steps

    Time for a progress report after my first week or so working on the Event in a Tab GSoC project. Things are going well so far. In short, I have the current event and task dialogs opening in a tab rather than a window and I can create and edit tasks and events in a tab. While not everything is working yet most things already are.

    The trickiest part has been working with XUL, since I am not as familiar with it as I am with Javascript. With some help from Fallen on IRC I figured out how to register a new XUL document that contains an iframe and how to load another XUL file into this iframe. For an event or task that is editable one XUL file is loaded (calendar-event-dialog.xul), but if it is read-only then a different XUL file is loaded (calendar-summary-dialog.xul).

    Initially I used the tabmail interface’s “shared tab” option — where a single XUL file is loaded and then its appearance and content is modified to create the appearance of completely different tabs. (This is how Thunderbird’s “3-pane” and “single message” tabs work, and also Lightning’s “Calendar” and “Tasks” tab.) However, this did not work when you opened multiple events/tasks in separate tabs. So I figured out the tabmail interface’s other option which loads each tab separately as you would expect and everything is now working fine.

    The next step was to figure out how to access the data for an event (or task) from the tab. I actually figured out two ways to do this. The first was via the tabmail interface in the way that it is set up to work (i.e. “tabmail.currentTabInfo”). That meant that the current event dialog code (that referenced the data as a property of the “window” object) had to be changed to access it from this new location.  But that is not so good since we will be supporting both window and tab options and it would be nice if the same code could “just work” for both cases as much as possible.

    So I figured out a second way to provide access to the data by just putting it in the right place relative to the iframe, so that the current code could reach it without having to be modified (i.e. still as a property of the “window” object, but with the “window” being relative to the iframe). This is a better approach since the same code will work for both cases (events/tasks in a dialog window or in a tab).

    One small thing I implemented via the tabmail interface is that the title of the tab indicates whether you are creating a new item or modifying an existing one and whether the item is an event or a task. However, I will probably end up re-working this because the current dialog window code updates the title of the window as you change the title of the event/task, and that code can probably also be used to generate the initial title of the tab. This is something I will be looking into as I start to really work with the event dialog code.

    On the UI design side of things, I created three new mockups based on some more feedback from Richard Marti and MakeMyDay. Part of the challenge is that there are a number of elements that vary in size depending on how many items they contain (e.g. reminders, categories, attachments, attendees). Mockups K and L were my attempt at a slightly different approach for handling this, although we will be following the design of mockup J going forward. You can take a look at these mockups and read notes about them on the wiki page.

    The next steps will be to push toward a more finalized design and seek broader feedback on it.  On the coding side I will be identifying where things are not working yet and getting them to work. For example, the code for closing a window does not work from a tab and the status bar items are appearing just above the status bar (at the bottom of the window) because of the iframe.

    So far I think things are going well. It is really encouraging that I am already able to create and modify events and tasks from a tab and that most of the basic functionality appears to be working fine.

    — Paul Morris

    Air MozillaWeb QA Team Meeting, 02 Jun 2016

    Web QA Team Meeting Weekly Web QA team meeting - please feel free and encouraged to join us for status updates, interesting testing challenges, cool technologies, and perhaps a...

    Air MozillaWeb QA Team Meeting, 02 Jun 2016

    Web QA Team Meeting This is our weekly gathering of Mozilla'a Web QA team filled with discussion on our current and future projects, wonderful ideas, glorious demos, and a...

    Air MozillaReps weekly, 02 Jun 2016

    Reps weekly This is a weekly call with some of the Reps to discuss all matters about/affecting Reps and invite Reps to share their work with everyone.

    hacks.mozilla.orgBasics of building 3D games on the Web

    You might think that 3D games are harder to develop than 2D because of the extra dimension you have to take into account, but it’s easier than you think. We’ve recently updated the Games section on MDN with a collection of tutorials covering 3D development, with a focus on frameworks that offer shortcuts for developers who are getting started building games for the Web and are unfamiliar with WebGL.


    WebVR and 3D game development

    Virtual reality in the browser has made great progress this year, and the JavaScript API known as WebVR is under development. The WebVR specification is on the road to version 1.0. This will be a huge milestone for virtual reality technology in the browser. As the WebVR API matures, it will be time to move from “experimental” demos to the “production-ready” stage of serious commercial games and applications.

    The A-Frame framework built on top of Three.js is rapidly evolving. There are case studies of interesting VR projects already like Cardboard Dungeon and SECVRITY. The framework itself has reached version 0.2.0 and is quickly gaining interest in the community. Its simple yet powerful approach uses markup to create VR experiences that works across platforms and devices. The result: New tutorials, demos, and plugins are being created every single day.


    These are exciting times for cutting-edge VR experiments, but if you’re a fan of 2D games like me, jumping into the third dimension might be a challenge. Let’s explore the basics of 3D together, and see how some popular frameworks can help you achieve your goals more quickly, and create impressive games and demos.

    The concept of 3D games on the Web is fundamentally about rendering WebGL on Canvas to create hardware-accelerated rich interactive animations. The basic theory revolves around the rendering pipeline, which manages the information about your creations, and displays them on the screen.


    An overview of frameworks for 3D game development

    You can do all that yourself in pure WebGL, or you can make your life easier, speed up development, and focus only on the important parts of your game idea with a variety of available frameworks. The MDN Games tutorials include:

    Three.js is the most popular tool for WebGL animations, while PlayCanvas offers you a choice of using the PlayCanvas engine or the online editor to build a game or demo. Babylon.js is often picked for its simple API and powerful features. The A-Frame framework can also be used to build rapid prototypes of 3D worlds viewable immediately in virtual reality. We’ve also provided tutorials to cover fundamental concepts like shaders. Understanding what’s going on behind the scenes of the framework gives you greater control over how your game will look when all the post-processing is applied.

    Advantages of frameworks

    What are the advantages of using a framework for game development? Frameworks provide benefits and shortcuts. Here are some examples:


    You can offload work that feels repetitive compared to other parts of creating a game: loading assets, rendering the scene, or drawing everything on screen. You won’t have to manage the specific configuration of cameras, lights, and such. Instead, you can create some geometry, add animation, and forget about everything else – it will just work and you’ll see your creation immediately.

    You won’t have to worry about differences in how browsers implement features – that is taken care of by the framework and exposed for you in a simple, high level API.

    Frameworks add an extra layer that abstracts many things, so you can write less code and do more with less. A framework can help you focus on the core mechanics of your game. Sometimes a few lines of framework-specific code do exactly the same as dozens of lines of pure JavaScript implementation. (Keep in mind this isn’t always the case.)


    Different frameworks offer different experiences: Three.js is generally used to create animations; Babylon.js, on the other hand, is focused on creating games. It can also take care of anti-aliasing for you. Both frameworks can be used successfully to create games, so the choice really depends on your preferences and project goals.

    Some frameworks even add an extra layer of features and offer built-in physics engines, collision detection, or particle systems. All of that infrastructure is available to use in your project without the compatibility issues you’d need to address to use custom plugins or write these functionalities from scratch.

    It’s easier to start and quickly prototype a scene using frameworks – they offer low level of complexity to build complex creations. See how the source code of a simple 2D Breakout game in pure JavaScript is longer and more complicated than the same game in Phaser. Using a framework saves you time, so that you can focus on actually building something unique.


    In conclusion

    On the other hand, it is good to learn the language first to know how frameworks are built, why this way and not the other, and to be able to extend them if they are not doing exactly what you want them to. Frameworks tend to go in and out of fashion, and it can be an extra effort to learn their syntax. After all, you can always write a simple feature yourself in pure JavaScript – that’s a powerful skill.

    Check out my GitHub repository for a collection of demos showcasing how to build a simple 3D scene with the given tools or view them online.

    Remember: you don’t have to use any specific framework, and can achieve comparable results in pure JavaScript with WebGL. The demos shown above were picked to illustrate how to use the most popular tools right now. If you think I’m missing something, you can write about it and add it to the Github collection of 3D demos above – all contributions are welcome. If I did not include your favourite framework you can suggest it in the comments below or write an intro yourself, so more people know about it.

    Feel free to use the source code however you like — for example as a boilerplate for your new 3D project — and remember to show us what you’ve built on top of this! We’d love to hear from you right here in comments or over on the Github repo.

    Mozilla Add-ons BlogAdd-ons Update – Week of 2016/06/01

    I post these updates every 3 weeks to inform add-on developers about the status of the review queues, add-on compatibility, and other happenings in the add-ons world.

    The Review Queues

    In the past 3 weeks, 1277 listed add-ons were reviewed:

    • 1192 (93%) were reviewed in fewer than 5 days.
    • 68 (5%) were reviewed between 5 and 10 days.
    • 17 (1%) were reviewed after more than 10 days.

    There are 67 listed add-ons awaiting review.

    You can read about the recent improvements in the review queues here.

    If you’re an add-on developer and are looking for contribution opportunities, please consider joining us. Add-on reviewers get invited to Mozilla events and earn cool gear with their work. Visit our wiki page for more information.

    Firefox 48 Compatibility

    The compatibility blog post for Firefox 48 is up. The bulk validation should be run in the coming weeks.

    As always, we recommend that you test your add-ons on Beta and Firefox Developer Edition to make sure that they continue to work correctly. End users can install the Add-on Compatibility Reporter to identify and report any add-ons that aren’t working anymore.

    Extension Signing

    The wiki page on Extension Signing has information about the timeline, as well as responses to some frequently asked questions. The current plan is to remove the signing override preference in Firefox 48. This was pushed back because we don’t have the unbranded builds needed for add-on developers to test on Beta and Release.

    Multiprocess Firefox

    If your add-on isn’t compatible with multiprocess Firefox (e10s) yet, please read this guide. Note that in the future Firefox will only support extensions that explicitly state multiprocess compatibility, so make sure you set the right flag:

    Mozilla Add-ons BlogJune 2016 Featured Add-ons

    Firefox Logo on blue background

    Pick of the Month: Smart HTTPS (Encrypt Your Communications)

    by ilGur
    Automatically changes HTTP addresses to secure HTTPS, and if loading errors occur, will revert back to HTTP.

    “Using it is as easy as installing.”

    Featured: YouTube No Buffer (Stop Autoplaying)

    by James Fray
    A lightweight extension that prevents YouTube from auto-buffering videos.

    “I needed this, as YouTube makes the browser too slow. Thanks.”

    Featured: Weather Forecast Plus

    by Alexis Jaksone
    Easily check the weather anywhere in the world right from the convenience of your toolbar.

    “Simple, unobtrusive, snappy.”

    Nominate your favorite add-ons

    Featured add-ons are selected by a community board made up of add-on developers, users, and fans. Board members change every six months, so there’s always an opportunity to participate. Stayed tuned to this blog for the next call for applications. Here’s further information on AMO’s featured content policies.

    If you’d like to nominate an add-on for featuring, please send it to for the board’s consideration. We welcome you to submit your own add-on!

    Air MozillaOC16 Mitchell Baker Mozilla

    OC16 Mitchell Baker Mozilla Mozilla Executive Chairwoman Mitchell Baker talks about the digitization of everything.

    SUMO BlogSUMO Release Report: Firefox 46 and Firefox for iOS 4.0

    Hello, SUMO Nation!

    We have a document to share with you, and we’re also sharing its entirety with you below (if you are allergic to shared documents).

    It explains what has happened during and after the launch of Firefox 46 and Firefox for iOS 4.0 on the SUMO front – so you can see how much work was done by everyone in the community in those busy days.

    If you have questions, as always, go to our forums and fire away!

    Without further ado, here is the…

    SUMO Release Report: Firefox 46 and Firefox for iOS 4.0

    Knowledge Base and Localization

    Articles Created and Updated
    Article Voted “helpful” (English/US only) Global views
    Desktop (April 28-May 16)
    Firefox 46 Crashes at startup on OSx 38% 1483
    Add-on signing in Firefox 75% 53
    Android (April 28-May 16)
    Firefox is no longer be supported on this version of Android 73% 1818
    Open links in the background for later viewing with Firefox for Android 76-85% 2372
    Add-on signing in Firefox for Android 70-73% 6455
    Localization Coverage
    Article % of top 10 locales it is localized into % of top 20 locales it is localized into
    Desktop (April 28-May 16)
    Firefox 46 Crashes at startup on OSx 80%* 50%*
    Add-on signing in Firefox 100% 100%
    Android (April 28-May 16)
    Firefox is no longer be supported on this version of Android 40%* 25%*
    Open links in the background for later viewing with Firefox for Android 100% 65%*
    Add-on signing in Firefox for Android 100% 65%*
    • Our l10n tool at the moment does not surface the latest content (focusing on the most frequently visited one), so we rely on 1:1 communications to inform contributors about new launch articles. This may lead to lower rates of l10n initially after a launch.
    • In the top 20 locales, the bottom half includes 8 that are under localized due to lack of active l10n community members. We are working on addressing this in the coming months through community efforts (e.g. for Turkish and Arabic).
    • Two of the top 20 locales are from the Nordics (Swedish, Finnish), where English is widely spoken, which impacts community interest in localizing content into their native languages.

    Support Forum Threads

    Solved top viewed threads
    Unsolved top viewed threads
    Bugs Created from Forum threads

    Social Support Highlights

    Top 5 Contributors Replies
    Andrew Truong 70
    Jhonatas Rodrigues Machado 17
    Noah Y 15
    Swarnava Sengupta 4
    Magno Reis 2
    • Jhonatas started contributing later in release, but has been doing a lot of great work since he joined SUMO.
    Trending issues

    These topics are categorized by our social support team when they submit a response to a user.
    “Not Working” is an easy categorization, but doesn’t give us much information. As time goes on we will work to refine the buckets that seem too general.

    Trending issues

    Air MozillaThe Joy of Coding - Episode 59

    The Joy of Coding - Episode 59 mconley livehacks on real Firefox bugs while thinking aloud.

    Project TofinoTofino Project Goals Update

    This is the first in a fortnightly series of blog posts providing updates on the Tofino Project’s progress. Expect Product design updates…

    Mozilla Add-ons BlogUsing Google Analytics in Extensions

    As an add-on developer, you may want to have usage reporting integrated into your add-on. This allows you to understand how your users are using the add-on in real life, which can often lead to important insights and code updates that improve user experience.

    The most popular way to do this is to inject the Google Analytics script into your codebase as if it were a web page. However, this is incompatible with our review policies. Injecting remote scripts into privileged code – or even content – is very dangerous and it’s not allowed. Fortunately, there are ways to send reports to Google Analytics without resorting to remote script injection, and they are very easy to implement.

    Update: add-ons that use GA are required to have a privacy policy on AMO, and the data they send should be only what’s strictly necessary for usage reporting. This blog post is meant to show the safer ways of using GA, not advocate its unrestricted use.

    I created a branch of one of my add-ons to serve as a demo. The add-on is a WebExtension that injects a content script into some AMO pages to add links that are useful to admins and reviewers. The diff for the branch shouldn’t take much time to read and understand. It mostly comes down to this XHR:

    let request = new XMLHttpRequest();
    let message =
      "v=1&tid=" + GA_TRACKING_ID + "&cid= " + GA_CLIENT_ID + "&aip=1" +
      "&ds=add-on&t=event&ec=AAA&ea=" + aType;"POST", "", true);

    In my demo I do everything from the content script code. For add-ons with a more complex structure, you should set up a background script that does the reporting and have content scripts send messages to it if needed.

    I set up my reporting so the hits are sent as events. You can read about reporting types and all the different parameters in the Google Analytics developer docs.

    Thanks to the real-time tracking feature I could see that my implementation was working right away:


    That’s it! With just a few lines of code you can set up Google Analytics for your add-on safely, in a way that meets our review guidelines.

    Hive Learning Network NYCNew York 2016: State of the Hive Meet-up


    An annual network-wide celebration and reflection of the year,  Hive NYC’s State of the Hive (SOTH) meet-up took place on May 11th, 2016 at the Center for Social Innovation with 50 attendees from 44 member organizations. In addition to honoring members’ great work, Hive HQ wanted to utilize the time together to acknowledge recent transitions — from staff changes to the future of the Hive Digital Media Learning Fund — and discuss how they will impact the network. We also wanted an opportunity to collectively brainstorm directions for Hive NYC moving ahead.

    Envisioning a stronger network

    To get a better sense of where to start these conversations, we spent several weeks leading up to the SOTH gathering feedback from Hive NYC members about what they see as Hive’s value, potential, and areas for improvement.  The responses we heard were insightful and rich with new ideas; members’ suggestions for strengthening the network ranged from being as precise as creating a user guide for Slack to as faceted as identifying stronger and more strategic partnerships to support Hive collaborations.  What stood out to us most, however, was members’ genuine appeal for Hive to not only continue building a supportive peer learning space, but also to move into a more active role in connecting members and helping them change the systems in which they work.

    In light of this feedback, we saw SOTH as an opportune moment to revisit Hive NYC’s core goals, which the network has developed collaboratively over the past few years as:

    • Strengthen Hive NYC as a context for learning and innovation;
    • Develop conditions for the spread and scale of Hive NYC ideas;
    • Illustrate and develop youth trajectories and pathways; and
    • Increase equity and access to education opportunities in NYC (Note: We added this goal to our list following the SOTH based on members’ input during the meet-up.)


    For our first part of the day, we asked members to break into small groups and think about how to work towards these goals as a network given current needs, interests, and work environments using a summary of members’ feedback as a guide. Through this process, the following themes emerged:

    Hive is well-positioned to engage in collective impact: There’s a strong interest in leveraging the expertise within Hive NYC to advocate for essential policy changes in NYC’s education system.

    Membership and eligibility criteria should be more clearly defined: While members value the diversity and breadth of knowledge that an open membership process has brought to the network, it’s been challenging to build strong relationships and collaborations without a clear sense of who is actively part of the network and why.  To create a more cohesive network, we need to develop more structured membership criteria that transparently details Hive’s values, expectations, decision-making processes, and participation pathways.

    Create opportunities for deeper engagement:  In all avenues for participating in Hive–from online communications channels to meet-ups to community calls–members want a chance to join in deeper conversations and more focused professional development and learning opportunities.

    While many more thoughtful suggestions were raised, these stood out to us as our key focus areas, and will map our way throughout the summer and beyond as we work to strengthen Hive as a network of practice.  In the next couple of weeks, we’ll be forming working groups focused on these topics so that we can collaboratively determine how to move them forward.

    Hive member talks, inspired by Ignite


    We designed the next part of the day to showcase the expansive range of work across Hive in a way that was both fun and accessible.  Adapting the format used in Ignite talks, we asked 10 members to give speedy presentations about what they’ve been learning and working on over the past year.  The talks they ended up crafting were dynamic and information-packed.  Here’s a snapshot of what they covered:

    • Lessons on collaboration
    • Digital media production as tool for youth organizing and leadership
    • Culturally responsive pedagogy
    • Connected credentials and portfolios as alternative methods for assessing learning
    • Computational thinking and personal expression
    • How Hive members can collectively change NYC’s DoE and DYCD.

    Stayed tuned for a follow-up post next week that will include a list of resources recommended by our speakers to further explore the ideas they presented.

    Mozilla’s role

    For our closing note, we asked Chris Lawrence, Vice President of Learning at Mozilla to share the Foundation’s strategic priorities and how they will shape Hive NYC moving forward, highlighting the following:

    • Mozilla main focus is advocating for the open web, digital inclusion, and web literacy.
    • Mozilla’s strategic plan is heavily influenced and informed  by Hive NYC’s approach to collaborative, innovative digital learning practices.
    • Continued collaboration with learning communities like Hive NYC will strengthen Mozilla’s network model so that it can explore new participation methods and share its work in communities around the world.

    Next steps

    While Mozilla has refined its focus on web literacy and digital inclusion, maintaining Hive as an healthy ecosystem through peer learning, collaborative RFPs, and experimenting with new ideas is essential to driving its priorities forward. The working groups we’re forming this summer will be key to defining how this will look in the network in the months and years ahead.

    We’re excited to explore all of the ideas and trajectories that were generated during the event with you all over the next year. Thanks to all who contributed to our 2016 State of the Hive.

    All photos in this post were taken by Christian Rodriguez, a NYC SALT alumn.

    The post New York 2016: State of the Hive Meet-up appeared first on Hive NYC.

    Mozilla Web DevelopmentDjango, Pipeline, and Gulp

    Bedrock, the code behind, is a very large Django project. It is mostly large due to the volume and diversity of independent pages it serves. These pages come with a surprising amount of static media (css, js, images, fonts, etc.). So, any system that we use to deal with said media should be efficient in order to keep our development servers fast.

    We like django-pipeline for managing our static media in production. It does a great job of bundling, minifying, and compressing our css and js. When using it in a development environment however, it does not scale well. The issue is that it does not watch for changes to your files, so all it can do is copy them all from their source to the static directory on every page load. For a reasonable number of files this is probably fine, but as I said ours is not that. This is exasperated in slow I/O environments like Docker on a non-linux system (like OSX). We’ve not been able to setup an acceptable Docker-based local dev environment yet because it can literally take several minutes to render the home page.

    Due to all of the issues noted above we’ve been looking for other ways of handling static media. We’ve considered a few times to move to a completely nodejs based system that would be completely independent of the Django side, and may still do that some day, but the problem has always been scope and impact. Again because the project is so large, making sweeping changes that affect workflow and all static files can both take a lot of time and be very disruptive when they land. So for a long time we figured we were stuck. But recently a conversation started in IRC about being able to just disable django-pipeline’s copying of files. If we could do that we could use gulp-watch to much more quickly and efficiently manage these files while being edited and still get the benefits of django-pipline for production. It turned out that someone else already had this idea and mostly we just needed to upgrade django-pipeline.

    After that it was a simple matter of adding a task to our Gulpfile:

    gulp.task('media:watch', function () {
        return gulp.src('./media/**/*')
            .pipe(watch('./media/**/*', {
                'verbose': true

    But it was still a bit odd now having to have two shells open, one for the gulp task and another for the Django dev server. So we did a little more gulp magic and now have a single command to start up both the file watching and the Django server that combines the output of both in a single terminal.

    gulp.task('serve:backend', function () {
        var devServerPort = process.env.PORT || 8000;
        process.env.PYTHONUNBUFFERED = 1;
        process.env.PYTHONDONTWRITEBITECODE = 1;
        spawn('python', ['', 'runserver', '' + devServerPort], {
            stdio: 'inherit'
    gulp.task('default', function() {

    You can see the full gulpfile.js in our repo on Github if you’d like. It’s a simple but very effective change and has made a very noticeable improvement in the speed of the local development server. And now we hope that we can finally complete and recommend Docker as the default setup for local development on bedrock.

    QMOFirefox 48.0 Aurora Testday, June 3rd

    Hello Mozillians,

    We are happy to let you know that Friday, June 3rd, we are organizing Firefox 48.0 Aurora Testday. We’ll be focusing our testing on the following features: New Awesomebar, Windows Child Mode and  APZ. Check out the detailed instructions via this etherpad.

    No previous testing experience is required, so feel free to join us on #qa IRC channel where our moderators will offer you guidance and answer your questions.

    Join us and help us make Firefox better! See you on Friday!

    SUMO BlogWhat’s Up with SUMO – 26th May

    Hello, SUMO Nation!

    We’ve been through a few holidays here and there, so there’s not a lot to report this week. We hope you’ll enjoy this much lighter-than-usual set of updates :-)

    Welcome, new contributors!

    If you just joined us, don’t hesitate – come over and say “hi” in the forums!

    Contributors of the week

    Don’t forget that if you are new to SUMO and someone helped you get started in a nice way you can nominate them for the Buddy of the Month!

    Most recent SUMO Community meeting

    The next SUMO Community meeting

    • …is happening on WEDNESDAY the 1st of June – join us!
    • Reminder: if you want to add a discussion topic to the upcoming meeting agenda:
      • Start a thread in the Community Forums, so that everyone in the community can see what will be discussed and voice their opinion here before Wednesday (this will make it easier to have an efficient meeting).
      • Please do so as soon as you can before the meeting, so that people have time to read, think, and reply (and also add it to the agenda).
      • If you can, please attend the meeting in person (or via IRC), so we can follow up on your discussion topic during the meeting with your feedback.



    Support Forum

    Knowledge Base & L10n


    This is it for the diet version of WUWS. We’re going “lite” for this week, to keep your minds slim for the summer ;-) See you around SUMO!