SUMO BlogWhat’s Up with SUMO – 28th July

Hello, SUMO Nation!

July’s almost over… but our updates are not, obviously :-) How have you been? Are you melting in the shade or freezing in the sun? Maybe both? ;-) Here are the hotte… no, wait, the coolest news on the web, for your eyes only!

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 3rd of August!
  • 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.

Community

Social

Support Forum

Knowledge Base & L10n

Firefox

  • for Desktop
    • Version 48 coming August 2nd.

Thus, between a Firefox for iOS and a Firefox for Desktop and Android released into the wild wide web – that’s a lot of heat! Now I know why it’s so easy to sweat nowadays. Well, maybe there will be some relief in the weeks between releases ;-) Winter is coming! Slowly, but surely…

Keep rocking the helpful web, SUMO Nation!

Air MozillaWeb QA Team Meeting, 28 Jul 2016

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, 28 Jul 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.

Air MozillaPrivacy Lab - July 2016 - Student Privacy

Privacy Lab - July 2016 - Student Privacy Join us for presentations and a lively discussion around Student Privacy. Guest speakers include: *Alex Smolen, head of security/privacy for Clever *Andrew Rock, online privacy...

Air MozillaThe Joy of Coding - Episode 65

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

Mozilla Add-ons BlogLinting and Automatically Reloading WebExtensions

We recently announced web-ext 1.0, a command line tool that makes developing WebExtensions more of a breeze. Since then we’ve fixed numerous bugs and added two new features: automatic extension reloading and a way to check for “lint” in your source code.

You can read more about getting started with web-ext or jump in and install it with npm like this:

npm install --global web-ext

Automatic Reloading

Once you’ve built an extension, you can try it out with the run command:

web-ext run

This launches Firefox with your extension pre-installed. Previously, you would have had to manually re-install your extension any time you changed the source. Now, web-ext will automatically reload the extension in Firefox when it detects a source file change, making it quick and easy to try out a new icon or fiddle with the CSS in your popup until it looks right.

Automatic reloading is only supported in Firefox 49 or higher but you can still run your extension in Firefox 48 without it.

Checking For Code Lint

If you make a mistake in your manifest or any other source file, you may not hear about it until a user encounters the error or you try submitting the extension to addons.mozilla.org. The new lint command will tell you about these mistakes so you can fix them before they bite you. Run it like this:

web-ext lint

For example, let’s say you are porting an extension from Chrome that used the history API, which hasn’t fully landed in Firefox at the time of this writing. Your manifest might declare the history permission like this:

{
  "manifest_version": 2,
  "name": "My Extension",
  "version": "1.0",
  "permissions": [
    "history"
  ]
}

When running web-ext lint from the directory containing this manifest, you’ll see an error explaining that history is an unknown permission.

Try it out and let us know what you think. As always, you can submit an issue if you have an idea for a new feature of if you run into a bug.

The Mozilla BlogMozilla Delivers Improved User Experience in Firefox for iOS

When we rolled out Firefox for iOS late last year, we got a tremendous response and millions of downloads. Lots of Firefox users were ecstatic they could use the browser they love on the iPhone or iPad they had chosen. Today, we’re thrilled to release some big improvements to Firefox for iOS. These improvements will give users more speed, flexibility and choice, three things we care deeply about.

A Faster Firefox Awaits You

 

It’s summer intern season and our Firefox for iOS Engineer intern Tyler Lacroix pulled out all the stops this month when he unveiled the results of his pet project – making Firefox faster. In Tyler’s testing, he saw up to 40% reduction in CPU usage and up to 30% reduction in memory usage when using this latest version of Firefox. What this means is that users can get to their Web pages faster while seeing battery life savings. Of course, all devices and humans are different so results may vary. Either way, we are psyched to roll out these improvements to you today.

It’s Now Easy to Add Any Website Specific Search Engine. And Change Your Mind.

 

We’ve already included a set of the most popular search engines in Firefox for iOS, but users may want to search other sites right from the address bar. Looking for that perfect set of moustache handlebars for a vintage road bike? Users can add sites like Craigslist and eBay. Want to become a trivia champ? Get one tap access to Wikipedia. Simply go to a website with a search box and tap on the the magnifying glass to add that search to your list of search engines.

addsearchcustom

New Menu for Easier Navigation

 

Navigation in iOS browsers is a huge pain point for users who have come to expect the same seamless experience that’s available on their desktop or laptop. Firefox for iOS features a brand new menu on the toolbar that allows for easier navigation and quick access to frequently used features – from adding a bookmark to finding text in page.

menu button cropped

Recover Closed Tabs and Quickly Flip Through Open Tabs

 

Browser tabs on mobile devices have traditionally been difficult to use. Hard to see, hard to manage, hard to navigate, and gone forever in a tap. In this upgraded Firefox for iOS users can easily recover all closed tabs and navigate through open tabs.

undo closed tabs

Home Again, Home Again, With One Quick Tap

 

homepage-button

Almost everyone has one page they go to first and return to often. Further expanding the ability to customize their Firefox for iOS experience, users can now set their favorite site as their homepage. The designated website will open immediately with a tap of the “home” button. This makes it easier than ever before to visit preferred sites in a matter of seconds.

We created these new features in Firefox for iOS because of what we heard from our users, and we look forward to more feedback on the updates. To check out our handiwork, download Firefox for iOS from the App Store and let us know what you think.

From iOS to Android to Windows to Linux, we are supporting a healthy and open web by building a better Firefox. And we couldn’t do it without our hundreds of millions of active users across all platforms and our vibrant community. Thanks, everyone!

Download_on_the_App_Store_Badge_US-UK_135x40

For more information:

Air MozillaConnected Devices Weekly Program Update, 26 Jul 2016

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

Mozilla L10NL20n in Firefox: A Summary for Developers

L20n is a new localization framework for Firefox and Gecko. Here’s what you need to know if you’re a Firefox front-end developer.

Gecko’s current localization framework hasn’t changed in the last two decades. It is based on file formats which weren’t designed for localization. It offers crude APIs. It tasks developers with things they shouldn’t have to do. It doesn’t allow localizers to use the full expressive power of their languages.

L20n is a modern localization and internationalization infrastructure created by the Localization Engineering team in order to overcome these limitations. It was successfully used in Firefox OS. We’ve put parts of it on the ECMA standardization path. Now we intend to integrate it into Gecko and migrate Firefox to it.

Overview of How L20n Works

For Firefox, L20n is most powerful when it’s used declaratively in the DOM. The localization happens on the runtime and gracefully falls back to the next language in case of errors. L20n doesn’t force developers to programmatically create string bundles, request raw strings from them and manually interpolate variables. Instead, L20n uses a Mutation Observer which is notified about changes to data-l10n-* attributes in the DOM tree. The complexity of the language negotiation, resource loading, error fallback and string interpolation is hidden in the mutation handler. It is still possible to use the JavaScript API to request a translation manually in rare situations when DOM is not available (e.g. OS notifications).

What problems L20n solves?

The current localization infrastructure is tightly-coupled: it touches many different areas of the codebase.  It also requires many decisions from the developer. Every time someone wants to add a new string they need to go through the following mental checklist:

  1. Is the translation embedded in HTML or XUL? If so, use the DTD format. Be careful to only use valid entity references or you’ll end up with a Yellow Screen of Death. Sure enough, the list of valid entities is different for HTML and for XUL. (For instance …
    is valid in HTML but not in XUL.)
  2. Is the translation requested dynamically from JavaScript? If so, use the .properties format.
  3. Does the translation use interpolated variables? If so, refer to the documentation on good practices and use #1, %S, %1$S, {name} or &name; depending on the use-case. (That’s five different ways of interpolating data!) For translations requested from JavaScript, replace the interpolation placeables manually with String.prototype.replace.
  4. Does the translation depend on a number in any of the supported languages? If so, use the PluralForm.jsm module to choose the correct variant of the translation. Specify all variants on a single line of the .properties file, separated by semicolons.
  5. Does the translation comprise HTML elements? If so, split the copy into smaller parts surrounding the HTML elements and put each part in its own translation. Remember to keep them in sync in case of changes to the copy. Alternatively write your own solution for replacing interpolation specifiers with HTML markup.

What a ride! All of this just to add a simple You have no new notifications message to the UI.  How do we fix this tight-coupled-ness?

L20n is designed around the principle of separation of concerns. It introduces a single syntax for all use-cases and offers a robust fallback mechanism in case of missing or broken translations.

Let’s take a closer look at some of the features of L20n which mitigate the headaches outlined above.

Single syntax

In addition to DTD and .properties files Gecko currently also uses .ini and .inc files for a total of four different localization formats.

L20n introduces a single file format based on ICU’s MessageFormat. It’s designed to look familiar to people who have previous experience with .properties and .ini. If you’ve worked with .properties or .ini before you already know how to create simple L20n translations.

Primer on the FTL syntax

Fig. 1. A primer on the FTL syntax

A single localization format greatly reduces the complexity of the ecosystem. It’s designed to keep simple translations simple and readable. At the same time it allows for more control from localizers when it comes to defining and selecting variants of translations for different plural categories, genders, grammatical cases etc. These features can be introduced only in translations which need them and never leak into other languages. You can learn more about L20n’s syntax in my previous blog post and at http://l20n.org/learn. An interactive editor is also available at https://l20n.github.io/tinker.

Separation of Concerns: Plurals and Interpolation

In L20n all the logic related to selecting the right variant of the translation happens inside of the localization framework. Similarly L20n takes care of the interpolation of external variables into the translations. As a developer, all you need to do is declare which translation identifier you are interested in and pass the raw data that is relevant.

Plurals and interpolation in L20n

Fig. 2. Plurals and interpolation in L20n

In the example above you’ll note that in the BEFORE version the developer had to manually call the PluralForm API. Furthermore the calling code is also responsible for replacing #1 with the relevant datum. There’s is no error checking: if the translation contains an error (perhaps a typo in #1) the replace() will silently fail and the final message displayed to the user will be broken.

Separation of Concerns: Intl Formatters

L20n builds on top of the existing standards like ECMA 402’s Intl API (itself based in large part on Unicode’s ICU). The Localization team has also been active in advancing proposals and specification for new formatters.

L20n provides an easy way to use Intl formatters from within translations. Often times the Intl API completely removes the need of going through the localization layer. In the example below the logic for displaying relative time (“2 days ago”) has been replaced by a single call to a new Intl formatter, Intl.RelativeTimeFormat.

Intl API in use

Fig. 3. Intl API in use

Separation of Concerns: HTML in Translations

L20n allows for some semantic markup in translations. Localizers can use safe text-level HTML elements to create translations which obey the rules of typography and punctuation. Developers can also embed interactive elements inside of translations and attach event handlers to them in HTML or XUL. L20n will overlay translations on top of the source DOM tree preserving the identity of elements and the event listeners.

Semantic markup in L20n

Fig. 4. Semantic markup in L20n

In the example above the BEFORE version must resort to splitting the translation into multiple parts, each for a possible piece of translation surrounding the two <label> elements.  The L20n version only defines a single translation unit and the localizer is free to position the text around the <label> elements as they see fit.  In the future it will be possible to reorder the <label> elements themselves.

Resilient to Errors

L20n provides a graceful and robust fallback mechanism in case of missing or broken translations. If you’re a Firefox front-end developer you might be familiar with this image:

Yellow Screen of Death

Fig. 5. Yellow Screen of Death

This errors happens whenever a DTD file is broken. The way a DTD file can be broken might be as subtle as a translation using the &hellip; entity which is valid in HTML but not in XUL.

In L20n, broken translations never break the UI. L20n tries its best to display a meaningful message to the user in case of errors. It may try to fall back to the next language preferred by the user if it’s available. As the last resort L20n will show the identifier of the message.

New Features

L20n allows us to re-think major design decisions related to localization in Firefox. The first area of innovation that we’re currently exploring is the experience of changing the browser’s UI language. A runtime localization framework allows the change to happen seamlessly on the fly without restarts. It will also become possible to go back and forth between languages for just a part of the UI, a feature often requested by non-English users of Developer Tools.

Another innovation that we’re excited about is the ability to push updates to the existing translations independent of the software updates which currently happen approximately every 6 weeks. We call this feature Live Updates to Localizations.

We want to decouple the release schedule of Firefox from the release schedule of localizations. The whole release process can then become more flexible and new translations can be delivered to users outside of regular software updates.

Recap

L20n’s goal is to improve Mozilla’s ability to create quality multilingual user interfaces, simplify the localization process for developers, improve error recovery and allow us to innovate.

The migration will result in cleaner and easier to maintain code base. It will improve the quality and the security of Firefox. It will provide a resilient runtime fallback, loosening the ties between code and localizations. And it will open up many new opportunities to innovate.

The Mozilla BlogSusan Chen, Promoted to Vice President of Business Development

I’m excited to announce that Susan Chen has been appointed Vice President of Business Development at Mozilla, a new role we are creating to recognize her achievements.

Susan ChenSusan joined Mozilla in 2011 as Head of Strategic Development. During her five years at Mozilla, Susan has worked with the Mozilla team to conceive and execute multiple complex negotiations and concluded hundreds of millions dollar revenue and partnership deals for Mozilla products and services.

As Vice President of Business Development, Susan is now responsible for planning and executing major business deals and partnerships for Mozilla across its product lines including search, commerce, content, communications, mobile and connected devices. She is also in charge of managing the business development team working across the globe.

We are pleased to recognize Susan’s achievements and expanded scope with the title of Vice President. Please join me in welcoming Susan to the leadership team at Mozilla!

Background:

Susan’s bio & Mozillians profile

LinkedIn profile

High-resolution photo

QMOFirefox 49.0 Aurora Testday Results

Hello mozillians!

Last week on Friday (July 22nd), we held another successful event – Firefox 49.0 Aurora Testday.

Thank you all for helping us making Mozilla a better place – Moin Shaikh, Georgiu Ciprian, Marko Andrejić, Dineesh Mv, Iryna Thompson.

From Bangladesh: Rezaul Huque Nayeem, Nazir Ahmed Sabbir, Hossain Al Ikram, Azmina Akter Papeya, Md. Rahimul Islam, Forhad Hossain, Akash, Roman Syed, Niaz Bhuiyan Asif, Saddam Hossain, Sajedul Islam, Md.Majedul islam, Fahim, Abdullah Al Jaber Hridoy, Raihan Ali, Md.Ehsanul Hassan, Sauradeep Dutta, Mohammad Maruf Islam, Kazi Nuzhat Tasnem, Maruf Rahman, Fatin Shahazad, Tanvir Rahman, Rakib Rahman, Tazin Ahmed, Shanjida Tahura Himi, Anika Nawar and Md. Nazmus Shakib (Robin).

From India: Nilima, Paarttipaabhalaji, Ashly Rose Mathew M, Selva Makilan R, Prasanth P, Md Shahbaz Alam and Bhuvana Meenakshi.K

A big thank you goes out to all our active moderators too!

Results:

I strongly advise everyone of you to reach out to us, the moderators, via#qa during the events when you encountered any kind of failures. Keep up the great work!

Keep an eye on QMO for upcoming events! 😉

Mozilla IndiaRust – A growing community in India

Rust, a systems programming language which was started as a part-time side project in 2006 by Graydon Hoare is now supported by Mozilla Research for almost seven years now. Mozilla’s involvement came in 2009 once the language was fairly mature enough and could demonstrate its core concepts. Rust poses itself as an alternative to C++ by making system programming safer, providing better concurrency support and offer tractable features to parallel programming. Despite a long history of innovations and strategic decision changes in Mozilla, Rust’s core principles have remained constant. It focuses on three crucial necessities – safety, speed and concurrency.

Rust_Logo.svg

Rust aims to offer an alternative to existing programming languages by providing a comfortable level of abstraction and by helping programmers write efficient code. To quote from the official FAQs,

“Rust exists because other languages at this level of abstraction and efficiency are unsatisfactory.”

Some notable applications written in Rust include Servo, Mozilla’s experimental browser engine and also a few components for Firefox. Apart from Mozilla, other tech giants like Samsung and Dropbox also use Rust for a variety of purposes. Samsung, a long-time supporter of the language contributed in building Android support to the Rust compiler. Dropbox has been writing Rust components for almost two years now. Inspired by the popular sitcom Silicon Valley, they’ve written a faster Brotli decoder for lossless image compression using Rust which reduces the bandwidth being used by their customers.

Rust in India

Mozilla India’s association with Rust started way back in 2014 with Manish Goregaokar contributing to Servo as part of the GSoC (Google Summer of Code) program. To start things off, Rust’s stable release (1.0) was celebrated at Mozilla Community Space, Bangalore on 25 March 2015 and was attended by various members of the community. The latest stable release of the language is 1.10, meaning 10 releases in just a short span of 18 months – indicating a six-weekly release cycle which ensures that new features and fixes land very quick.

Mozilla Rust Release Meetup, Bangalore

Mozilla Rust Release Meetup, 2015, Bangalore

 

Manish has been a continuous contributor to the language and now, is a member of the community team as well as the moderation team of Rust. You know whom to get in touch with if you’d like to contribute!

Towards the end of 2015, we had another Mozillian, Jaipradeesh, from DoSelect initiate an innovative method to spike interest levels in Rust – an online coding challenge using the language (the first of its kind) which helped developers get a taste of Rust’s syntax and style of coding. Rustaceans from all over the world took part in this challenge.

Fast forward to July 2016 – we have a bunch of organizations using rust and a few Rustaceans (as they call themselves) presenting sessions and projects using the language at  Rust Meetup – Bangalore, in early July. Kaustav, a Mozillian and Rust user had organized this meetup to bring together the developer community interested in Rust here in Bangalore and possibly pave the way for new ones. This meetup provided an ideal platform for contributors of the language connect with the developers who use Rust for a variety of uses, and for those who had not yet heard of or used it, an opportunity to know it’s varied facets. It also gave insights into the Rust world for those who had yet to begin their journey, yet. Manish handled the introductory session on the syntax and semantics of Rust, followed by Kaustav who talked about Rustup, Cargo and cross compiling Rust programs. Later on, we had Rahul Sharma who is currently working on Servo as a G’SoC intern give an insight into contributing for the the project. This was followed by a few interesting demos by Rust users from different parts of the country. On the whole, the meetup provided a kick-start for anyone who wanted to learn more about Rust and eventually use the language in their projects. Interestingly, it also helped contributors to collect feedback from the people who use Rust in production.
A win-win I must say!

How you can contribute

If this gets you interested to know more about Rust, here are a few opportunities to contribute.  Rust has a very active community that helps newbie contributors get up to speed and also moderate the development & design of the language. A dedicated IRC channel #rust-beginners has been set up where beginners are welcome to post any queries they might have. There are a wide variety of contribution opportunities like bug triaging, documentation, building communities, building IDEs, writing code for libraries, etc.

With Mozilla deciding to ship Rust in Firefox and the community members engaging developers with informative sessions such as the ones above, I hope the community in India will be encouraged to make meaningful contributions to the language, it’s ecosystem and build amazing applications using Rust in the near future.

To the many Rustaceans still in the making, cheers!

PS: Thanks Kaustav for all your inputs!

Mozilla IndiaMozilla India Planning Meetup 2016

Mozilla-India-Planning-Meetup-2016“Coming Together is the Beginning, Staying together is the progress and working together is the Success.”

A team of initiators joined to put forth the future into the present as a plan. A team of 25 members, selected gems from various sub-communities represented their crew by their presence in the Mozilla India Planning Meetup – 2016 at Pune on 09th & 10th of July 2016. The team had also invited George Roter, Head of Core Contributors, Participation at Mozilla to support them in their journey.

With the energy being widespread the Day 1 had marked its beginning.

Day 1

Inspiration, the only thing which kindles the inner spirit of every human. The first session of the meetup was Stories of Self conducted by Haiyya. A well-organised presentation of one’s life, i.e., the experience we share can be the best rope of hope to all those who listen to it.

Future vision of Mozilla

Future goals of Mozilla were the theme of the next session.  The goals focus on five important areas

  1. Context Graph and other Test Pilot features in Firefox
  2. Future of Rust and Servo
  3. Connected Devices
  4. Mozilla’s Issues Agenda and Advocacy
  5. Mozilla Leadership Network
1] Context Graph

Context Graph is a recommendation system for the Web. Searching content in the search bar won’t just limit the results based on the browsing history but will also explore documents and links corresponding to the search, based on metadata of all web pages.

The Activity stream is the first Context Graph feature, currently available in Test Pilot. It will evolve into a search engine which will also help the users to discover places on the Web, they have never seen. It would be available for both desktop and mobile platforms.

2] Future of Rust and Servo

Mozilla Research is supporting a new system programming language called Rust since 2009. This language concentrates on three crucial necessities – safety, speed and concurrency. Rust is one of the key focus areas, and it aims to provide a better platform for programmers in writing efficient codes with a comfortable level of abstraction.  

On the other hand, Servo – the parallel browser engine project is under trial. It is a modern, high-performance engine designed for both application and embedded use. It is written in the new system programming language – Rust. This project aims to achieve better parallelism, security, modularity, and performance. To know more about Servo, check- https://servo.org/.

3] Connected Devices

Mozilla wants to create open and accessible platforms that will allow individuals, businesses and others to benefit from Internet of Things(IoT).  IoT leads the way to the next phase of the Internet. The IoT ideas that align with Mozilla’s goals would be selected, and their problem statement and solutions would be worked on. Later, the prototypes of such statements would be built and would be tested in the market. Depending on the market response, the production of such devices would begin.

Thus, the outcome of the overall process would be defining platforms.

4] Mozilla’s Issue Agenda and Advocacy

Mozilla has identified five issues that must be tackled in the current era, to build an Open Internet:

  1. Open privacy and security
  2. Open innovation
  3. Decentralization
  4. Web-literacy
  5. Digital inclusion
Mozilla Advocacy Engine:

A global movement to build and protect the next wave of openness and opportunity online.

The near-term goals are Online Privacy and Encryption whereas the mid-term goals are to increase the influence on issues like privacy, digital inclusion and web literacy.The long-term goals were set as behaviour change and policy change. The impact of this will be providing conscious choice to build and protect Open Internet and launch of products, policies and laws in support of the Open Internet.

5] Mozilla Leadership Network

The Mozilla Leadership Network is a global network of diverse leaders who will ensure the next wave of access, inclusion and opportunity online. It open practices to shape the Web in new ways and increase influence on privacy, digital inclusion and web literacy. It also supports to improve their skills and experience as leaders.

The thematic hubs to be focused are learning, science, internet policy and advocacy, women and web literacy, Internet of Things.

MLN audience:
  • Champion
  • Executive
  • Professional
  • Emerging Leader
  • Young Leader

This will generate a high impact on network alignment, network connectivity, network size, member influence and reach.

Discussion on community restructure was the next session.

Restructuring – the way to fill the gap.This session focused on bringing out the thoughts of participants regarding the structure of the Mozilla India community. The participants were divided into groups and were asked to project their ideas about the structure of the community. The presentation by each team laid the first stone of change. With this brainstorming session, we got an overview, i.e., we paved the foundation.

Day 2

The agenda for the second day focused on two topics, one related to a restructuring of the community structure and the other about the plan for the Meetup 2016.

With the foundation we created the day before, we were ready to lay the roads towards reformation.The attendees were divided into various groups and were asked to derive strategies around the following blocks:

  • Training and Workshops.
  • Conflict Resolution.
  • Team building and Recognition.
  • Planning and Community restructure.
  • Communication.

The motive of this session was to take into consideration a broader perspective about the functioning of the Mozilla India community and derive strategies around them. The restructuring process is a five weeks plan from 20th July to 21st August. Mozilla India has invited people to suggest the task force structure via this link before August.

Following this, “the planning for the Mozilla India Meetup 2016”  was set to fire.

MOZILLA INDIA MEETUP 2016
Dates:   August 26th – 28th 2016.
Title:   “Mozilla India Meetup 2016”

The following points were listed as the goals for the meetup in August after the acceptance by all the participants.

  • Develop a strategy, direction and plan for the future of the community.
  • Re-structure the Mozilla India community — structures and processes.
  • Increase the leadership/mobilising skills of the attendees (and develop strong onboarding programs for new community members).
  • Improve communication processes and tools, and transparency.
  • Build strong teams.
  • Build strong recognition practices.
  • Create accountability systems and a code of conduct.
  • Build a plan for increasing diversity and inclusive practice across the community.

“Team working marks its excellence only by the space given to everyone in the team.”

Believing this saying the team assembled at Pune was divided and assigned with separate task regarding the preparation for our Meetup.

Communication

Members: Biraj, Ashish, Siddhartha, Shaguftha.
Role: Share updates about the meetup to the community. Work closely with the Marketing Communications Team.

Logistics

Members: Prathamesh, Chandrakant, Sayak.
Role: To make local logistics arrangements like booking hotel, travel, etc.

Regional Coordinators and Invitations

Members: Mehul, Akhil, Viswaprasath.
Role: Keep a follow-up with the regional members. Work closely on the invitations with the Reps Council members from India and the Participation Team.

Staff/functional coordination

Members: Sayak, Anivar.
Role: To work closely with the Mozilla staff and share status updates of the meetup.

Documentation

Members: Ankit, Kailas, Harsha.
Role: To document the entire meetup.

Content/facilitation

Members: Mayur, Anup, Priyanka, Meghraj, Diwanshi.
Role: Work on agenda and broadcast the content which would be facilitated for the meetup.

Strategy/Structure Options

Members: Deb, Vnisha, Prathamesh, Vineel, George.
Role: Draft an email which will call for proposals/suggestions. Make the proposals/suggestions public and open for the community to review and comment. The process, analyse and integrate the suggestions. Declare the finalised structure.

In the order, as mentioned above, the responsibilities were shared among the people within the gathering.

The selection criteria for this meetup was also drafted as a document. As per this document, the application will be open during the last week of July and the selection will be purely based the interest and contribution of the people towards Mozilla. [Update: The application is open to all now]

The days were on the swing, teaching everyone in the crew a new thing every second and also allowing us to explore a lot new sides of the community we have been travelling for a considerable period in the past.

Hoping to meet a much bigger team in Mozilla India Meetup 2016.

Mozilla IndiaMozilla India Meetup 2016 | Apply Now

Mozilla India is organising the ‘Mozilla India Meetup 2016’ during August 26 – 28, 2016 at Pune.

Mozilla India Meetup 2016 is a pan India community meetup which is being organised to bring together the potential, active and committed contributors across India to align the community with the goals and strategies of Mozilla. This meetup is an opportunity to work with the people and
groups in designing the policies and commitments which would benefit Mozilla India in future. This gathering is also seen as a great platform to get all the participants on the same page as to where we’re heading.

To manage the selection process, we have created a lightweight application form to have you indicate both your availability and commitment. Before you fill this out, please make sure that you are:

  • 100% sure that you are available to come to Pune, India and spend the entire weekend with Mozilla India community from August 26th to 28th.
  • Able to commit substantial effort to Mozilla’s mission/work in the next One year following from August 2016.
  • That being at the Mozilla India Meetup will be helpful to deepen the impact of your work and relationship with Mozilla India community and Mozilla.

Find everything about the process, check out this wiki page.

The application process would be closed on July 29th, 2016 at 12 midnight (IST). No late applications would be accepted.

For those selected Mozillians, all the costs of attending, including travel, food and hotel will be covered by Mozilla.

Excited? Apply Now.

SUMO BlogSUMO Show & Tell: How I Got Involved With Mozilla

Hey SUMO Nation!

London Work Week 2016During the Work Week in London we had the utmost pleasure of hanging out with some of you (we’re still a bit sad about not everyone making it… and that we couldn’t organize a meetup for everyone contributing to everything around Mozilla).

Among the numerous sessions, working groups, presentations, and demos we also had a SUMO Show & Tell – a story-telling session where everyone could showcase one cool thing they think everyone should know about.

I have asked those who presented to help me share their awesome stories with everyone else – and here you go, with the second one presented by Andrew, a jack-of-all-trades and Bugzilla tamer.

Take a look below and relive the origin story of a great Mozillian – someone just like you!

WhistlerIt all started… with an issue that I had with Firefox on my desktop computer running Windows XP, back in 2011. Firefox wouldn’t stop crashing! I then discovered the support site for Firefox. There I found help with my issue through support articles, and at the same time, I was also intrigued by the ability to help other users through the very same site as well.

As I looked into the available opportunities to contribute to the support team, I landed upon live chat. Live chat was a 1-on-1 chat to help out users with the issues they had. Unfortunately, after I joined the team, the live chat was placed on a hiatus. It was recommended that I move on to the forums and knowledge base, because rather than just helping one user and only them benefiting, on the forums I could help many more people through a single suggestion. For some, this floated well and with others it didn’t, because we weren’t taking care of the user personally (like on the chat).

It definitely took some time for me to adjust to this new setting, as things were (and are) handled differently on the forum and on the knowledge base. Users on the forum sometimes do respond immediately, but most of the time they respond later, and some actually don’t respond at all. This is one of the differences between helping out through live chat and through the forums.

The knowledge base on the other hand, can be really complex. There is markup being used to present text in a different way to different users. We must be as clear and precise as possible when writing the article, since although we may know really well what we are talking about, the article reader (usually a user in need of helpful information) may not. It is definitely challenging for some Mozillians to get involved with writing, but once you do, you get the hang of it and truly enjoy it.

From there on, I kept contributing to the forum and knowledge base, but I also went to find out how I could contribute to other areas of Mozilla. I landed upon triaging bugs within Mozilla sites thanks to the help of Liz Henry and Tyler Downer. Furthermore, as Firefox OS rolled out, I started to provide support to the users, write more articles and file bugs in regards to the OS.

As things moved forward so did life – at the moment I am contributing through the Social Support team. Contributing through Social helps our users on social media realise that we are listening to them and that their comments and woes are not falling on deaf ears. We respond to all types of concerns, be they praises or complaints. Helping users on Twitter while being restricted to 140 characters is difficult, whereas on Facebook we can provide a more detailed explanation and response. With Social Support, a single response from us sometimes reaches only a single person – other times it can reach thousands through re-sharing.

Social media makes it easy to identify issues, crises, and hot topics – it is where people nowadays now go to seek assistance, rant, and share their experiences. Also, as posts and tweets can spread easily on social media, it is a double-edged sword: if something positive is spreading, we hope it spreads more. However, if something negative is spreading, we must contain it, identify, and address the root cause of the issue. The bottom line is: we must help our users while keeping everything in the balance and being constantly vigilant.

TorontoIn 2013, I was very thankful that I was able to attend the Summit that was held in 3 places across the world. I was invited to Toronto, where I held a session called “What does ‘Mozillian’ mean?” In that session, we defined what the term “Mozillian” meant, who was included, not included, and what roles and capabilities were necessary to classify an individual to be a Mozillian. At the end of the session, we touched base via email to finalize our thoughts and gather the necessary information to pass along to others. Although we made some progress, defining who a Mozillian is, who can (or can’t) be one, and setting a specific criteria is somewhat impossible. We must be accepting of those who come and go, those with different backgrounds, personal preferences regarding getting things done, and (sometimes highly) different opinions. All that said, we are a huge family – a huge Mozilla family.

Thank you Andrew for sharing your story with us. I personally appreciate your relaxed and flexible perspective on (sometimes inevitable) changes and challenges we all face when trying to make Mozilla work for the users of the web.

Here’s to many more great chances for you to rock the (helpful, but not only) web with Mozilla and others!

SUMO BlogWhat’s Up with SUMO – 21st July

Hello, SUMO Nation!

Chances are you have noticed that we had some weird temporal issues, possibly caused by a glitch in the spacetime continuum. I don’t think we can pin the blame on the latest incarnation of Dr Who, but you never know… Let’s see what the past of the future brings then, shall we?

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 the 27th of July!
  • 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.

Community

Social

Support Forum

Knowledge Base & L10n

  • If you’re an active localizer in one of the top 20+ locales, expect a list of high priority articles coming your way within the next 24 hours. Please make sure that they are localized as soon as possible – our users rely on your awesomeness!
  • Final reminder: remember the discussion about the frequency & necessity of KB updates and l10n notifications? We’re trying to address this for KB editors and localizers alike. Give us your feedback!
  • Reminder: L10n hackathons everywhere! Find your people and get organized! If you have questions about joining, contact your global locale team.

Firefox

  • for Android
    • Version 48 is still on track – release in early August.
  • for Desktop
    • Version 48 is still on track – release in early August.

Now that we’re safely out of the dangerous vortex of a spacetime continuum loop, I can only wish you a great weekend. Take it easy and keep rocking the helpful web!

Mozilla Add-ons BlogNew WebExtensions Guides and How-tos on MDN

The official launch of WebExtensions is happening in Firefox 48, but much of what you need is already supported in Firefox and AMO (addons.mozilla.org). The best place to get started with WebExtensions is MDN, where you can find a trove of helpful information. I’d like to highlight a couple of recent additions that you might find useful:

Thank you to Will Bamberg for doing the bulk of this work. Remember that MDN is a community wiki, so anyone can help!

Air MozillaWeb QA Team Meeting, 21 Jul 2016

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, 21 Jul 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 BlogCompleting Firefox Accounts on AMO

In Feburary we rolled out Firefox Accounts on addons.mozilla.org (AMO). That first phase created a migration flow from old AMO accounts over to Firefox Accounts. Since then, 84% of developers who have logged in have transitioned over to a Firefox Account.

The next step is to remove the ability to log in using an old AMO account. Once this is complete, the only way to log in to AMO is by using Firefox Accounts.

If you have an old account on AMO and have not gone through the migration flow, you can still access your account if the email you use to log in through Firefox Accounts is the same as the one previously registered on AMO.

We expect that the removal of old logins will be completed in a couple of weeks, unless any unforeseen problems occur.

Frequently asked questions

What happens to the add-ons I develop when I convert to a new Firefox Account?

All the add-ons are accessible to the new Firefox Account.

Why do I want a Firefox Account?

Firefox Accounts is the identity system that is used to synchronize Firefox across multiple devices. Many Firefox products and services will soon begin migrating over, simplifying your sign-in process and making it easier for you to manage all your accounts.

Where do I change my password?

Once you have a Firefox Account, you can go to accounts.firefox.com, sign in, and click on Password.

If you have forgotten your current password:

  1. Go to the AMO login page
  2. Click on I forgot my password
  3. Proceed to reset the password

QMOFirefox 49.0 Aurora Testday, July 22nd

Hello Mozillians,

Good news! We are having another testday for you 😀 This time we will take a swing at Firefox 49.0 Aurora, this Friday, 22nd of July.  The main focus during the testing will be around Context Menu, PDF Viewer and Browser Customization. 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.

I know this is short notice but we hope you will join us in the process of making Firefox a better browser. See you on Friday!

Mozilla Web DevelopmentBeer and Tell – July 2016

Once a month, web developers from across the Mozilla Project get together to talk about our side projects and drink, an occurrence we like to call “Beer and Tell”.

There’s a wiki page available with a list of the presenters, as well as links to their presentation materials. There’s also a recording available courtesy of Air Mozilla.

Moby von Briesen: Jam Circle

This week’s only presenter was mobyvb, who shared Jam Circle, a webapp that lets users play music together. Users who connect join a shared room and see each other as circles connected to a central node. Using the keyboard (or, in browsers that support it, any MIDI-capable device), users can play notes that all other users in the channel hear and see as colored lines on each circle’s connection to the center.

The webapp also includes the beginnings of an editor that will allow users to write chord progressions and play them alongside live playback.

A instance of the site is up and running at jam-circle.herokuapp.com. Check it out!


If you’re interested in attending the next Beer and Tell, sign up for the dev-webdev@lists.mozilla.org mailing list. An email is sent out a week beforehand with connection details. You could even add yourself to the wiki and show off your side-project!

See you next month!

Air MozillaThe Joy of Coding - Episode 64

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

Air MozillaThe Invention Cycle: Going From Inspiration to Implementation with Tina Seelig

The Invention Cycle: Going From Inspiration to Implementation with Tina Seelig Bringing fresh ideas to life and ultimately to market is not a well charted course. In July, our guest Tina Seelig will share a new...

Mozilla IndiaOne Web with an Oath to Touch Base Maximum Lives

At the heart of hearts, we believe that the Internet is the basic need of the hour and as a citizen of the 21st century, everyone must have access to the Internet. While we still have a literacy rate of 74.04% in the country and 77.08% in West Bengal, there are still a lot of people from various age groups have not used the Internet or do not know how to use it. The Initiative planned in such a way that we can reach out to a maximum number of people of all ages within a given time frame and teach them about the most potential resource of the world, the Web.

With Kolkata being the only city in the country to go full wifi in next one year, many teenagers and kids will be using the Internet in near future. So, educating them about the Web is a necessity. Keeping this in mind, we came up with the One Web, an initiative to touch maximum lives in 3 months. The planning was driven by Ranodeep Saha, along with Co-organizers Ayan Choudhury, and Shahid Ali Farooqui. And the blueprint got ready in just seven days. The project finally got off to a flying start on 3rd of July, 2016.

A rain marred Sunday morning saw 23 volunteers engaging themselves to impart training on web literacy to some 153 underprivileged children at a southbound back alley near Topsia. It went on for 2 hours.

The 2nd event took place on 17th July 2016 at Kailash Vidyamandir near Chetla. Some 129 students participated with great enthusiasm. The idea is to hold one event on every alternate Sunday, for three consecutive months. So, just hold your breath!! There are a lot more in store to come up in next 6-7 Sundays.

Special thanks to all our partners who supported the cause and stood by us. They include, Tiljala Shed, Theorex, ConnectIndia, Indus Youniverse, Social Bong,Friends FM, Ip Mall, Campus Karma, The Anon Production, Your Story Bangla, Izifiso, Calcutta Instagramers, Daily Mirage, Agastya Buoyant & Rb-ArtFx

Air MozillaConnected Devices Weekly Program Update, 19 Jul 2016

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

Mozilla L10NLocalization Hackathon in Berlin

After much delays, collectively we picked a balmy first weekend of June and Berlin as our host city for a localization hackathon. We had four representing each of Dutch/Frisian and Ukrainian communities, three of German, one of South African English. Most of them had not been to an l10n hackathon, many have never not met in person within the community even though they had been collaborating for years.

Group shot

As with the other hackathons this year we allowed each team to plan how they spent their time together, and set team goals on what they wanted to accomplish over the weekend. The localization drivers would lead some group discussions. As a group, we split the weekend covering the following topics:

A series of spectrograms where attendees answer yes/no, agree/disagree questions by physically standing on a straight line from one side of the room to the other. We learned a lot about our group on recognition, about the web in their language, and about participation patterns. As we’re thinking about how to improve localization of Firefox, gaining insights into localizers hearts and life is always helpful.

Axel shared some organizational updates from the Orlando All-Hands: we recaped the status of Firefox OS and the new focus on Connected Devices. We also covered the release schedule of Firefox for iOS and Android.

We spent a bit more time talking about the upcoming changes to localization of Firefox, with L20n and repository changes coming up. In the meantime, we have a dedicated blog post on l20n for localizers, so read up on l20n there. Alongside, we’ll stop using individual repositories and workflows for localizing Firefox Nightly, Developer Edition, Beta, and release. Instead the strings needed for all of them will be in a single place. That’s obviously quite a few changes coming up, and we got quite a few questions in the conversations. At least Axel enjoys answering them.

Lunch

Our renewed focus on translation quality that resulted in development of the style guide template as a guideline for localization communities to emulate. We went through all the categories and sub-categories and explained what was expected of them to elaborate and provide locale specific examples. We stressed the importance of having one as it would help with consistency between multiple contributors to a single product or all products and projects across the board. This exercise encouraged some of the communities who thought they had a guide to review and update, and those who didn’t have one to create one. The Ukrainian community created a draft version soon after they returned home. Having an established style guide would help with training and on boarding new contributors.
We also went over the categories and definitions specified in MQM. We immediately used that knowledge to review through live demo in Pontoon-like tool some inconsistencies in the strings extracted from projects in Ukrainian. To me, that was one of the highlights of the weekend: 1) how to give constructive feedback using one of the defined categories; 2) Reoccurring type of mistakes either by a particular contributor or locale; 3). Terminology consistency within a project, product or a group of products, especially with multiple contributors; 4) Importance of peer review

For the rest of the weekend, each of the community had their own breakout sessions, reviewed their own to-do list, fixed bugs, completed some projects, and spent one on one time with the l10n drivers.

Brandenburg Gate and the teamWe were incredibly blessed with great weather. The unusually heavy rain that flooded many parts of Germany stopped during our visit. A meetup like this would not be complete without experiencing some local cultures. Axel, a Berlin native was tasked to show us around. We walked, walked and walked and with occasionally public transportation in between. We covered several landmarks such as the Berlin Wall, the Brandenburg Gate, several memorials, the landmark Gedächtniskirche as well as parks and streets crowded with the locals. Of course we sampled cuisines that reflected the diverse culture that Berlin had been: we had great kebabs and the best kebabs, Chinese fusion, the seasonal asparagus and of course the German beer. For some of us, this was not the first Berlin visit. But a group activity together, with Axel as our guide, the visit was so much memorable. Before we said goodbye, the thought of next year’s hackathon came to mind. Our Ukraine community had volunteered to host it in Lviv, a beautiful city in the western part of the country. We shall see.

Air MozillaMartes mozilleros, 19 Jul 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...

Mozilla Web DevelopmentExtravaganza – July 2016

Once a month, web developers from across Mozilla get together to talk about the work that we’ve shipped, share the libraries we’re working on, meet new folks, and talk about whatever else is on our minds. It’s the Webdev Extravaganza! The meeting is open to the public; you should stop by!

You can check out the wiki page that we use to organize the meeting, or view a recording of the meeting in Air Mozilla. Or just read on for a summary!

Shipping Celebration

The shipping celebration is for anything we finished and deployed in the past month, whether it be a brand new site, an upgrade to an existing one, or even a release of a library.

Basket switch to Salesforce

First up was pmac, who shared the news that Basket, email newsletter subscription service, has switched to using Salesforce as the backend for storing newsletter subscriptions. In addition, the service now has a nifty public DataDog metrics dashboard showing off statistics about how the service is performing.

Engagement Engineering Status Board

Next was giorgos, who shared status.mozmar.org, a status page listing the current status of all the services that Engagement Engineering maintains. The status board pulls monitoring information from Dead Man’s Snitch as well as New Relic‘s application and Synthetics monitoring. The app runs a worker using AWS Lambda that pulls the information and writes it to a YAML file in the repo‘s gh-pages branch, and the status page itself reads the YAML file via JavaScript to build the display.

DXR

ErikRose stopped by to share more cool things that shipped in DXR this month:

  • Indexing for XBL and JavaScript.
  • Indexing 32+ new projects
  • Added a 3rd build server
  • Several performance optimizations that cut down build times by roughly 25%.
  • C++ macro definitions, method overrides, pure virtuals, substructs, and more are all now indexed. In addition, you can now easily jump between header files and their implementations.
  • UI improvements, including contrast improvements, a new filename filter, and jumping directly to files that are the only result of a query.

Special thanks to intern new_one and contributors twointofive and abbeyj. Also special thanks to MXR for being shut down due to security bugs and allowing DXR to flourish in its wake.

Fathom 1.0 and 1.1

Erik also brought up Fathom, an experimental framework for extracting meaning from webpages. Fathom allows you to write declarative rules that score and classify DOM nodes, and then extract those nodes from a DOM that it analyzes.

This month we shipped the 1.0 version of Fathom, as well as a 1.1 release with a bug fix for Firefox support as well as an optimization fix. It’s available as an NPM module for use as a library.

Roundtable

The Roundtable is the home for discussions that don’t fit anywhere else.

Engagement Engineering Hiring – Senior Webdev and Site Reliability Engineer

Last up was pmac again, who wanted to mention that the Mozilla Engagement Engineering team is hiring a Senior Web Developer and a Site Reliability Engineer. If you’re interested in working at Mozilla, click those links to apply on our careers site!


If you’re interested in web development at Mozilla, or want to attend next month’s Extravaganza, subscribe to the dev-webdev@lists.mozilla.org mailing list to be notified of the next meeting, and maybe send a message introducing yourself. We’d love to meet you!

See you next month!

Mozilla Add-ons BlogA Better Add-on Discovery Experience

People who personalize Firefox like their Firefox better. However, many people don’t know that they can, and for those who know it isn’t particularly easy to do. So a few months ago, we began rethinking our entire add-on discovery experience—from helping people understand the benefits of personalization, to making it easier to install an add-on, to putting the right add-on in front of people at the right time.

The first step we’ve taken towards a better discovery experience is in the redesign of our Add-on Discovery Pane. This is typically the first page users see when they launch the Add-on Manager at about:addons.

Add-on Discovery Pane before Firefox 48

Add-on Discovery Pane before Firefox 48

We updated this page to target people who are just getting started with add-ons, by simplifying add-on installation to just one click and using clean images and text to quickly orient a new user.

Disco Pane One Click Install

It features a tightly curated list of add-ons that provide customizations that are easy for new users to understand.

Add-on Discovery Pane starting with Firefox 48

Add-on Discovery Pane starting with Firefox 48

We started with a small list and collaborated with their developers to ensure the best possible experience for users. For future releases, we will refresh the featured content on a more frequent basis and open up the nomination process for inclusion.

Our community of developers create awesome add-ons, and we want to help users discover them and love their Firefox even more. In the coming months, we are going to continue improving the experience by making recommendations that are as uniquely helpful to users as possible.

In the meantime, this first step toward improving the Firefox personalization experience will land in Firefox 48 on August 1, and is available in Firefox Beta now. So download Firefox Beta, go to about:addons and give it a try! (You can also reach this page by going to the Tools menu and choosing “Add-ons”). We would love to hear your feedback in the forums.

Air MozillaIntroducing Mozilla Tech Speakers

Introducing Mozilla Tech Speakers Havi Hoffman introduces the Mozilla Tech Speakers Series.

Mozilla IndiaMozilla Hello Web – Inspiring Minds, Enriching Lives

Arkodyuti-Saha-Hello-Web

Hello Web is an initiative to take Mozilla’s aim of making the world web literate a step closer to reality. Mozillians went across India spreading the message of the necessity of being better Web citizens and providing internet connectivity to institutions. Web literacy sessions to teach people about the Internet and fundamentals of computers were held in various orphanages and educational institutions across India.

We had conducted Hello Web in December 2015. Then we went to various schools and coaching institutions to spread web literacy. Mozilla web literacy campaigns took place across five cities in India namely, Kolkata, Surat, Navi Mumbai, Jaipur and Rewa. This summer, we decided to do it differently because if you do not break new grounds and improve upon what you have done before, the job loses its value. When the idea of conducting sessions in orphanages was proposed, everybody agreed. We collaborated with The Hope Foundation, Kolkata and requested them to permit us to conduct a web literacy campaign at orphanages. Hello Web was not intended to be a one-time session programme, the team wanted it to be the starting point of a long-term initiative. So, it was decided that campaigners would bring to the orphanage homes internet connectivity. If these children have access to the internet, they would be able to explore its benefits on their own as no theoretical explanation can be better than a practical experience. Mozilla Clubs have been set up in these places so that we can provide proper kits and teaching materials to those in charge. Volunteers could also monitor the progress of the children.

Shreenath, Ashun, Rayan, Debol, Sourath, Rohit, Kalyan, Tamoghna, Ayan, Farag who volunteered for Hello Web. We received invaluable support from our partners Kolkata Bloggers, Mio Amore, Sourcekart and we are grateful to them for the same. A lot of young bloggers from the Kolkata Bloggers network, from different schools and colleges in the city who volunteered for the initiative, came up with blog posts on the events, on the importance of web literacy in general and on the impact the campaign has made on them. They have set an example that other youngsters are now keen to follow, leading to a better ecosystem which encourages an environment conducive for web learning. In short, Hello Web was nothing but an initiative to initiate a change we all wish to see.

Mozilla L10NLocalization Hackathon in Ljubljana

Earlier this week I came back from the Ljubljana Localization Hackathon which took place over the weekend. It was an inspiring meetup focused on translating Mozilla projects. I left full of energy and ideas and happy to have met many amazing people contributing to Mozilla.

Group photo

Almost thirty participants from Armenia, Bulgaria, Greece, Hungary, Macedonia, Romania, Serbia and Slovenia gathered in Ljubljana for three days. We discussed the current state of localization, the future of the localization process and technology at Mozilla. There was time for each of the communities to work on their goals as well as time for everyone to talk to each other and have fun.

Updates

The morning of the first day was dedicated to a series of updates from the Localization Drivers team. I started out by announcing the team’s updated mission statement which is all about becoming an efficient localization provider for Mozilla. I also summarized the recent changes in the team which is now divided in two working groups: the Technical Project Management group (Delphine, Francesco, Jeff and Peiying) and the Technical group (Axel, Matjaž, Staś and Zibi).

Francesco (flod) explained the thinking behind the new release process and the plan to use single repositories for each locale for all release channels. Right now there are five different versions of Firefox: Nightly, Dev Edition Aurora, Beta, Release, and ESR and each localization exists across four different repositories. After the migration there will only be one canonical repository for each locale. This will greatly simplify the setup for the localization teams.

Delphine then took the stage to introduce MQM which was well received. MQM is a framework for evaluating translation issues. It provides structure to the process of reviewing localizations and makes it easier to give constructive feedback to the localizers as well as track the quality of the localization over time. A central piece of MQM is a good and up-to-date style guide. Many localization teams spent the Saturday and Sunday afternoon working on their style guides. Delphine also mentioned new Transvision features available to the localizers: the Translation Consistency view and the Unchanged Strings view.

The main theme of the morning updates was simplicity and quality. We’re making a lot effort to reduce the complexity of the localization process at Mozilla and to create approachable quality benchmarks. We want to close the feedback loop between the current localizers and new contributors; help them connect, discuss and encourage participation.  The reviewers should be able to explain why a suggestion was rejected.  There needs to be an easy and contextual communication layer between new localizers and the reviewers.

An important part of this strategy is careful planning of the work load for the localization teams. In the past we ran an experiment involving Firefox for iOS: the localizers weren’t required to manually sign off on any particular changeset. It turned out to be a big success. Delphine announced that going forward there will be no more sign-off requests done by localizers themselves. Instead the Localization Drivers will verify that the changesets work and sign off on them, thus reducing the overhead for the localizers.

Without signoffs we’ll need a better way of tracking progress and understanding the state of completion for each locale. Francesco briefed everyone on the plan to group strings into so-called buckets. Buckets will be based on how visible strings are or who their target audience is. The likely candidates for individual buckets include: the main browser UI, Developer Tools, DOM/CSS Parser errors etc. Buckets will have priorities and will allow us to track progress separately per bucket.

Spectrograms

Saturday morning is also when we took it outside to do an exercise called a spectrogram. If you’ve followed the blog posts about the previous hackathons or you have been to one, you’re likely familiar with the concept. Spectrograms allow us to have a laid-back conversations on different topics. We start off by asking a question. Depending on how strongly they feel about the answer the participants then move along an imaginary line. The line allows us to capture the subtleties in opinions and feelings. That is, the whole spectrum of responses.

Spectrograms in Ljubljana

A number of responses stood out to me during the exercise. We talked about the communication inside of the localization teams and between the localization teams and the Drivers team. People were generally happy with how quick they got their answers in IRC and the mailing list. However a few contributors expressed a concern that it is not clear to the new-comers how to contact their locale’s team.

We asked how people felt about the amount of work they did and the number of projects there were to localize. Everyone ended up in the middle of the spectrum and Stoyan from Bulgaria offered an interesting explanation: it’s because localizers like what they do and they choose to do it themselves. Related to this was a question about deadlines: are they too short? A sentiment that resonated with a lot of participants was that they didn’t mind the deadlines—but rather the amount of time it takes for a translation to reach the users. This turned out to be an important insight closely related to Live Updates to Localizations that we’re working on as part of the effort to port Firefox to L20n (more on that later).

Goce from Macedonia recalled an experience which I feel we should all remember about and try not to repeat in the future. Back in the Firefox OS days there was a big rush to get a lot of content localized before the launch. In the end the release was delayed and canceled. It’s important for all involved stakeholders to have a good visibility into the release planning. Precise time estimates help prioritize community work and make sure efforts beyond the call of duty that we often see from the community aren’t in vain.

The question about mentoring new contributors vs. localizing alone spurred a long conversation with many take-aways. Fredy from Greece admitted that reviewing someone’s translations can sometimes be the same amount of work then just doing the whole translation from scratch himself. He wondered if translations could have their Discussion pages similar to definitions in Wikipedia which would be then publicly accessible and easy to reference in the future. Matjaž noted that reviewing might be in fact rather easy, but it’s giving meaningful feedback to the translators that is hard and time-consuming. MQM will definitely help in this respect. We’re working on prototyping the UI for Pontoon to make it easy to use for everyone.

Balázs from Hungary then quipped that there are two kinds of people: those who are willing to contribute and those who are able to do it. Usually these two kinds don’t overlap. The role of authoring tools like Pontoon and Pootle is to help those who are willing bridge the gap of not being able to.

The conversation about mentoring and evaluating new contributors ended on a high note with a great story from Slovenia’s very own Lan. Lan is a SUMO localizer and he was able to attract a new contributor to the Slovenian localization a year ago. When he started reviewing their contributions he realized the translations weren’t as good as he had hoped. Lan didn’t get discouraged though. He took his time to review all translations, corrected them and then asked the new contributor to go through the fixes to get an idea of how to improve. This turned out to be a good investment of Lan’s time; today the new contributor is still active and their translations are much better!

(Lan’s story is even more impressive if you consider that he is still in high school. In fact two very active members of the Slovenian community, Lan and Amadej, are both very young. I can’t wait to see what Mozilla will have become when they’re my age!)

While it’s clear that chaperoning new contributors could help foster the community growth, the group was divided with respect to how to actually do it. Some prefer to give out small independent assignments to localize real existing projects and nurture the sense of ownership. Others would rather create a single testing project with a known good translation and evaluate new contributions in reference to it.

27609225113_304d8623dd_k

The question about the preferred frequency of contribution always leads to interesting findings. The two extremes of the spectrum are “I want to localize small numbers of strings daily” and “I want to localize a big number of strings once a year”. In Ljubljana most of the participants chose to stand somewhere in the middle. A smaller group preferred daily assignments that could be completed during a coffee break. Another group would rather see the frequency of localization aligned with the frequency of releases of the software. One person in the middle was Marko from Serbia who summarized his choice by saying that he liked seeing the results of his work on a regular basis.

The last question that I would like to highlight here was about testing. We wanted to know how the localizers test their localizations. The responses covered the entire spectrum. Some localization communities have dedicated QA teams while other localizers dogfood their own work by using the software themselves. Another group wasn’t sure how to test nor where to find the nightly builds. This suggests that we can do better with documenting the best practices for testing. Matjaž also suggested that this kind of information for each project could be displayed by Pontoon.

The difficulties in testing often stem from the fact that some translations are hard to come by in regular usage and only show up in rare situations. The experiences from localizing Firefox for iOS prove that automated screenshots are an invaluable tool in such situations, in addition to being useful overall.

Pontoon and L20n

On Sunday morning Matjaž and I took the stage to represent the Technical group of the Localization Drivers team. Matjaž presented Pontoon which had already been used by some of the localization teams.  There have been many improvements to performance and usability of Pontoon as of late: faster sync, bulk actions, more readable diffs, better filtering, suggestions from other languages, support for L20n’s syntax and more!  Looking into the future, one of the most important tasks ahead of us is the merger of Pontoon and l10n.mozilla.org. We want to make sure all information relevant to localization is in one place.

The L20n presentation was divided into two parts.  I introduced L20n’s new syntax, FTL, and recommended the L20n by Example and the FTL Tinker as the learning resources.  I then showed a few use-cases where L20n really shines. The first one was according past participles with the gender of the subject. The second one was about particles governing the grammatical case of nouns.  My audience could easily relate—their native languages are among the ones with the most complex grammars in the world. In fact, it was an incredible diverse gathering of languages!  We had a strong group of Slavic languages (Bulgarian, Macedonian, Serbian, Slovenian), followed by a Romance language (Romanian) as well as two of the oldest  languages in the world: Greek and Armenian. And don’t forget Hungarian which is one of the few European languages that isn’t part of the Indo-European family of languages.

In the second part I showed a build of Firefox ported to L20n and demoed Live Updates to Localization. It seems like the ability to push translation updates and fixes almost live without having to wait for the next software update really is a game changer. The feedback I got afterwards was very positive.

Working in Groups

Both afternoons on Saturday and Sunday were dedicated to working in groups. All the participating localization teams had set goals leading up to the hackathon. The goals ranged from catching up with localizations to reviewing suggestions to discussing the health of the community to creating style guides.  The list of goals is available in the wiki.

Working in groups in Ljubljana

The Bulgarian community deserves a special mention here.  During the hackathon Ognyan transferred the leadership of the localization team to Stoyan (first from the left in the picture below).  Congratulations, Stoyan!  Ognyan and Stoyan then quickly proceeded to update the Bulgarian localization of Firefox Desktop to 100% complete.

Stoyan and Ognyan

Notice the Mozilla l10n photo frame above?  Make sure to check out more pictures with it taken by Nino. We also had custom-made name badges and other visual accessories.  All design materials were created by Mozilla Slovenija community designer Rok.  They are available on GitHub for other teams and hackathons to reuse.

Fun and Rest

Ljubljana is a beautiful city. It’s very friendly to pedestrians; almost everything was in walking distance from the venue. It’s also very green and inviting when it comes to spending time outdoors. After a period of focused effort it was great to take a short stroll across the city.

Thanks to the amazing organizer and host, Gašper, each evening was full of activities and opportunities to get to know each other. We tasted traditional dishes from Prekmurje, a region of Slovenia close to the Hungarian border. We visited the Ljubljana castle which offers fantastic views on the mountains surrounding the city. We even competed at a kart racing circuit!

28124977172_0d215afb9a_k

Helping Gašper was Nino, also from Slovenia, who managed the hackathon’s presence on social media. He took over the Mozillagram Instagram account for the weekend which resulted in a 10% increase in followers. Nino’s work was highlighted during the Weekly Meeting on Monday. I would also like to give a special shout-out to Jobava from Romania who did a great job taking notes during the whole weekend.  Having a dedicated person in charge of the note taking was instrumental to making everyone’s time productive. Jobava managed to capture a lot of details and insights. I often looked into his notes when writing this blog post. Hvala, Nino and Jobava!

The hackathon was an astounding success. It was diverse, educational and inspiring. A huge Thank you! to everyone who participated and helped organize it. I couldn’t be more excited for the future of localization at Mozilla!

Mozilla Web DevelopmentAuto-generating a changelog from git history

At Mozilla we share a lot of open source libraries. When you’re using someone else’s library, you might find that an upgrade breaks something in your application — but why? Glancing at the library’s changelog can help. However, manually maintaining a changelog when building features for a library can be a challenge.

We’ve been experimenting with auto-generating a changelog from commit history itself and so far it makes changelogs easy and painless. Here’s how to set it up. These tools require NodeJS so it’s best suited for JavaScript libraries.

First, you need to write commit messages in a way that allows you to extract metadata for a changelog. We use the Angular conventions which specify simple prefixes like feat: for new features and fix: for bug fixes. Here’s an example of a commit message that adds a new feature:

feat: Added a `--timeout` option to the `run` command

Here’s an example of a bug fix:

fix: Fixed `TypeError: runner is undefined` in the `run` command

The nice thing about this convention is that tools such as Greenkeeper, which sends pull requests for dependency updates, already support it.

The first problem with this is a social one; all your contributors need to follow the convention. We chose to solve this with automation by making the tests fail if they don’t follow the conventions 🙂 It’s also documented in our CONTRIBUTING.md file. We use the conventional-changelog-lint command as part of our continuous integration to trigger a test failure:

conventional-changelog-lint --from master

There was one gotcha in that TravisCI only does a shallow clone which doesn’t create a master branch. This will probably be fixed in the linter soon but until then we had to add this to our .travis.yml:

Alright, everybody is writing semantic commits now! We can generate a changelog before each release using the conventional-changelog tool. Since we adopted the Angular conventions, we run it like this before tagging to get the unreleased changes:

conventional-changelog -p angular -u

This scrapes our commit log, ignores merges, ignores chores (such as dependency updates), ignores documentation updates, and makes a Markdown list of features and fixes linked to their git commit. Example:

### Bug fixes
* Fixed `TypeError: runner is undefined` in the `run` command ([abc1abcd](https://github.com/.../))

### Features
* Added a `--timeout` option to the `run` command ([abc1abcd](https://github.com/.../))

As you can see, we also make sure to write commit messages in past tense so that it reads more naturally as a historic changelog. You can always edit the auto-generated changelog to make it more readable though.

The conventional-changelog tool can update a README.md file but, for us, we just paste the Markdown into our github releases so that it shows up next to each release tag.

That’s it! There are a lot of options in the tools to customize linting commits or changelog generation.

Air MozillaWebdev Beer and Tell: July 2016

Webdev Beer and Tell: July 2016 Once a month web developers across the Mozilla community get together (in person and virtually) to share what cool stuff we've been working on in...

Mozilla Add-ons BlogWriting an opt-in UI for an extension

Our review policies for addons.mozilla.org (AMO) require transparency when it comes to an add-on’s features and how they might affect a user’s privacy and security.

These policies are particularly relevant in cases where an add-on includes monetization features that are unrelated to its main function. For example, a video downloader add-on could include a shopping recommendation feature that injects offers from commercial websites. In cases like this, to be listed on AMO the feature would need to be opt-in. Opt-in means the add-on needs to present to the user the option to enable the feature, with a default action of keeping it disabled.

We’re often asked for examples of add-ons that do this, so I decided to create a sample WebExtension for this purpose. You can find the code on GitHub, and the built and signed example can be downloaded here.

The extension implements two opt-in prompts:

  1. A new tab. Tab opt-in
  2. A panel in the main add-on button. Panel opt-in

(If you don’t recognize the dark theme in the screenshots, it’s because I’m using Firefox Developer Edition—currently Firefox 49—for testing.)

An add-on would normally implement one prompt or the other. Opening a new tab has the advantage of getting the user’s attention right away, and has more room for content. The main disadvantage is that it can annoy users and feel too pushy. The pop-up approach is more user-friendly because it appears when the user is ready to engage with the add-on and is better integrated with the add-on UI. However, it wouldn’t work if the add-on doesn’t include buttons.

This example is completely minimal, hence the almost complete lack of styling. However, it includes the elements that AMO policies deem necessary:

  • Text explaining clearly to the user what the opt-in feature does and why it’s being offered. In this case, the extra feature is a variation of the borderify example on GitHub.
  • A link to a privacy policy and/or more information about the feature. That page should spell out its privacy and security implications.
  • A clear choice between enabling the feature and keeping it disabled, defaulting to disabled. I set autofocus="true" to the Cancel button, which can be clearly seen in the popup screenshot.

Hitting the Return key in either case, or closing the opt-in tab should be assumed to mean that the user is choosing not to accept the feature (the tab closing case isn’t implemented in this example to make it easier to test). The example uses the storage API to keep track of two flags: one that indicates the user has clicked on either button, and one that indicates if the user has enabled the feature or not. After the opt-in is registered as shown, the tab won’t show up again, and the content changes to something else.

Note: I couldn’t find a way to look at the extension’s storage in the developer tools (I suppose it’s not implemented yet). You can clear the storage to reset the state of the extension by deleting the browser-extension-data folder in the profile.

Remember that sneaking in unwanted features is bad for your users and your add-on’s reputation, so make sure you give your users control and give them clear information to make a decision. Happy coding!

Air MozillaRelease Promotion: Keeping Tabs on Automation

Release Promotion: Keeping Tabs on Automation Reviewing Release Engineering, Release Promotion, and the Pulse-Notify microservice developed by Connor Sheehan during his internship at Mozilla.

Air MozillaRamping Up the Web

Ramping Up the Web Nancy Pang has not yet given us a description of this presentation, nor any keyword tags to make searching for this event easier.

Air MozillaIntern Presentations 2016

Intern Presentations 2016 Group 1 of our interns are going to be presenting on what they worked on this summer.

Air MozillaGod Bless FxA

God Bless FxA Sai Chandramouli talks about what was accomplished in a summer internship at Mozilla: 1. Password Hints for weak passwords 2. Adding Geolocation data to emails...

Air MozillaEverything on the Side…

Everything on the Side… Erica Wright has not yet given us a description of this presentation, nor any keyword tags to make searching for this event easier.

Air MozillaDXR: all the things

DXR: all the things Peter Elmers has not yet given us a description of this presentation, nor any keyword tags to make searching for this event easier.

Air MozillaDiving into the Unknown

Diving into the Unknown Francis Kang has not yet given us a description of this presentation, nor any keyword tags to make searching for this event easier.

Air MozillaA Swifty Internship

A Swifty Internship Tyler Lacroix has not yet given us a description of this presentation, nor any keyword tags to make searching for this event easier.

SUMO BlogWhat’s Up with SUMO – 14th July

Hello, SUMO Nation!

How have you been doing in July? Hopefully you’re getting some well deserved holidaying/AFK-ing done. I keep hearing chasing imaginary monsters around is fashionable nowadays… Any trainers out there?

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 the 20th of July!
  • 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.

Community

Social

Support Forum

Knowledge Base & L10n

Firefox

  • for Android
    • Version 48 is still on track – release in early August.
  • for Desktop
    • Version 48 is still on track – release in early August.

Ah, yes… nearly forgot about this – congratulations to Portugal and their supporters for winning the Euro this year. So, what will keep you busy and excited in the coming week(s)? Let us know in the comments!

Air MozillaSemaphor Overview and Demo - Zero Knowledge Collaboration Tool

Semaphor Overview and Demo - Zero Knowledge Collaboration Tool SpiderOak has been described as "Snowden's favorite cloud service". They've now added group chat and will provide an overview and demo of their new Semaphor...

Mozilla Add-ons BlogWebExtensions support on AMO

It’s been possible to submit WebExtensions add-ons to addons.mozilla.org (AMO) since February, but I wanted to take a moment to highlight some of the improvements we’ve made since then that make it much easier to get your Chrome or Opera add-on into AMO.

These features have all been deployed to AMO over the last couple of months and are available for use.

New linter

We are now using the add-ons linter for WebExtensions which means that when we parse a WebExtensions add-on, we are running through a new JavaScript-powered linter, instead of the Python one. This parsing occurs each time you upload a new add-on or a new version of an add-on.

It uses eslint to parse the JavaScript and a schema to verify that the WebExtensions manifest is correct. Because we’ve started to implement functionality in the new add-ons linter that didn’t exist in the old version, more things will be showing up as warnings.

As an example, if you request a permission in the manifest that Firefox doesn’t support, you’ll get a warning:

image00

Relaxed upload criteria

If you’ve developed and add-on for Chrome or Opera, we’d like you to upload it to AMO. For this reason, we’ve relaxed a few criteria around AMO. Once you’ve verified that an add-on works correctly using about:debugging, you should then be able to upload it to AMO quite easily. We’ve hopefully made this easier through the following steps:

Optional add-on id

If your WebExtension does not have an id specified in the manifest.json, then AMO will generate an id for your add-on and add it to the add-on signing process. You can then get the add-on id from AMO and re-use that in later API calls, if needed.

The command line tool web-ext also supports optional ids.

Uploads

AMO will now accept an add-on as a zip file or a crx file. It will still only emit xpi files that Firefox and other Mozilla projects can consume. In the case of a crx file, the extra data added by the Chrome store will be stripped out of the file.

We recommend using a tool like web-ext to generate the appropriate file for your add-on.

Comments in the manifest file

Although comments are not valid in a JSON file, Chrome supports comments in the manifest.json file. To keep compatibility with Chrome, the addons-linter and hence AMO now support comments in the manifest file, but only comments starting with a double slash (//).

Translations

Finally, AMO now supports translations in the manifest. This again follows the Chrome standard, so that:

//in manifest.json:
"default_locale": "en",
"name": "__MSG_appName__",

//in _locales/en/messages.json:
{
  "appName": {
    "message": "My Add-on",
    "description": "The name of the add-on."
  }
}

//in _locales/de/messages.json:
{
  "appName": {
    "message": "Mein Add-on"
  }
}

The manifest will be parsed and the translations automatically entered into AMO. You need to ensure that default_locale is set in the manifest for the localisations to be activated. On the first upload, AMO will process the translations:

Screenshot 2016-07-14 09.44.11

If you’d like to get involved then join our mailing list or check out our repositories on Github.

Mozilla L10NLocalization Hackathon in Riga

Stas and I met in Riga with the Baltic and Polish l10n communities to do a hackathon. We gathered Latvian, Lithuanian, and Polish. Sadly, nobody from the Estonian community could attend due to conflicting schedules, but Merike Sell joined us on Saturday morning via Skype. We also had Dainis Šantars and Rūdolfs Mazurs join for a few hours each to work on Latgalian.

On Friday evening, we kicked things off warm and dry. That’s worth noting, as there wasn’t any weather like that for the rest of the weekend. Anyway, we grabbed some dinner, and ventured a few places to get a first feeling for Riga.

University of Latvia, Riga
Saturday morning we met at the University of Latvia, and started the actual hackathon with the obligational introductions, and some “spectrograms”. We got some insights on testing, and which versions of Firefox our community uses. Reminder, Developer Edition or Nightly are the right versions. Use the version you work on. We also talked about the web and software in local languages. Seems that using localized versions becomes normal. We also got more insights into contribution patters that people like.

I really like the conversations about contribution patterns. We start the discussion with the question on how often people would like to localize. The answers quickly lead into discussions about localization quality, and which context localizers prefer to get that. But also to the role that Mozilla plays in people’s lives. Getting a better understanding of both are critical as we’re trying to make localization at Mozilla better.

Afterwards, stas and I gave some general project updates. The Mozilla firehose is overwhelming, so it’s good to give an update on the things that matter to the people in the room. In particular, stas covered L20n, which was well received. I talked about how we want to do Firefox l10n less bound to aurora and beta release channels, which people also liked.

We also talked about MQM, a standard of classifying issues found around localization. Once again we learned that it’s hard to explain them.

As usual, we let people work within their teams for half the time. We did help out with accounts, and persuaded folks to do reviews of suggestions. We heard they also used the time to strategically set up their team, and to learn from each other.

Last but not least, huge thanks to Raivis Dejus for organizing this event. He made us all feel welcome, and as warm as it gets, and always had an anecdote about Riga to share. He turned out to be my inspiration for the Berlin hackathon.

Mozilla Web DevelopmentExtravaganza – June 2016

Once a month, web developers from across Mozilla get together to talk about the work that we’ve shipped, share the libraries we’re working on, meet new folks, and talk about whatever else is on our minds. It’s the Webdev Extravaganza! The meeting is open to the public; you should stop by!

You can check out the wiki page that we use to organize the meeting, or view a recording of the meeting in Air Mozilla. Or just read on for a summary!

Shipping Celebration

The shipping celebration is for anything we finished and deployed in the past month, whether it be a brand new site, an upgrade to an existing one, or even a release of a library.

Okta SSO Fix Add-on

First up was shobson, who shared MoCo SSO Tweaks, a Firefox add-on that makes the Okta SSO flow better. Among other things, it auto-focuses the verification code field, makes Enter submit the verification code form, and optionally automatically checks the “Remember Device” checkbox.

ViewSourceConf.org

Next was hoosteeno, who shared viewsourceconf.org, the website for the 2016 edition of View Source, a conference for the web that Mozilla runs. The site is statically generated by Metalsmith and takes advantage of several plugins include the model plugin and the template plugin for Swig templates.

shobson worked on the frontend for the site. It intentionally avoids using jQuery and uses SVGs for small image filesizes and easy Retina support. In the future the site will be using Service Workers to enable offline access for the site, and particularly the schedule.

Air Mozilla Timenails

peterbe stopped by to talk about the timenail support he added to Air Mozilla. A timenail is a single screenshot from a video at a specific timestamp; a series of timenails is generated by the transcoding process and made available in the chapter editing interface for each video to help aid in finding good transition points for marking chapters in the video.

The site also calculates the difference between timenails and lets users filter the timenail list to only show thumbnails that have a difference between the previous timenail above a given threshold.

DXR

Next up was ErikRose, sharing a bunch of new changes that landed in DXR:

  • Case-sensitivity is now inferred based on whether the search text is mixed case or not.
  • Support for XPIDL
  • 20% lower memory use
  • Improved C++ analysis, including template support.

Thanks to new_one and Tom Klein for contributing these improvements!

Peep 3.1.2

Erik also mentioned that peep 3.1.2 is out, with support for pip 8.1.2.

Fathom

Erik’s last mention was Fathom, which is an experimental framework for extracting meaning from webpages. You provide it declarative rules that score and classify DOM nodes, and in return it will parse a webpage and rank DOM nodes in the page based on the given rules. You can then extract nodes from this ranking in various ways, such as finding the highest-ranked nodes for a specific attribute, or finding clusters of similarly-classified nodes that are close to each other.

Readable Bug Statuses in Bugzilla

emceeaich and dylan wanted to share (in absentia) the news that the Readable Bug Status package that emceeaich has been working on has been deployed on bugzilla.mozilla.org for bugs in the Firefox, Core, Toolkit, and BMO products. Readable Bug Status helps summarize the status of a bug using information from several fields.

Bedrock + Gulp

Next was pmac who shared the news that Bedrock has switched to using gulp to help manage their frontend build and development process. The site previously relied on django-pipeline completely to manage its static assets, but ran into issues with slow builds during development, as django-pipeline doesn’t watch for which files have changed and simply triggers a full build on each pageview. Switching to gulp allows the site to only rebuild frontend files that have changed, and it builds them as soon as they change instead of building them on-demand.

For more details, pmac wrote a blog post describing the switch.

Open-source Citizenship

Here we talk about libraries we’re maintaining and what, if anything, we need help with for them.

Google Analytics Pageviews on Non-Web Requests

peterbe shared a blog post he wrote describing how to use Raven to send pageview data to Google Analytics. This is useful for tracking usage of endpoints that don’t return webpages but are still considered part of your site’s public API.

Domainswitcher

peterbe also shared Domainswitcher, and add-on that lets you easily switch between domains while preserving the current path. The add-on is useful for web developers working on sites that want to switch between prod, staging, development, and locally-hosted instances of the site.

New Hires / Interns / Volunteers / Contributors

Here we introduce any newcomers to the Webdev group, including new employees, interns, volunteers, or any other form of contributor.

Name Role Work
Benton Case Intern – Web Developer Add-on Recommendation

If you’re interested in web development at Mozilla, or want to attend next month’s Extravaganza, subscribe to the dev-webdev@lists.mozilla.org mailing list to be notified of the next meeting, and maybe send a message introducing yourself. We’d love to meet you!

See you next month!

Air MozillaWeb QA Team Meeting, 14 Jul 2016

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, 14 Jul 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 BlogAdd-ons Update – Week of 2016/07/13

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, 1278 listed add-ons were reviewed:

  • 1194 (93%) were reviewed in fewer than 5 days.
  • 62 (5%) were reviewed between 5 and 10 days.
  • 22 (2%) were reviewed after more than 10 days.

There are 74 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 are critical for our success, and can earn cool gear for their work. Visit our wiki page for more information.

Compatibility

The compatibility blog post for Firefox 48 is up, and the bulk validation was run. The post for Firefox 49 is also up and the bulk validation will 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. The unbranded builds, which were the final piece, are available here. We will update the Extension Signing doc with more information about how to obtain them.

Recognition

We would like to thank these people for their recent contributions to the add-ons world: Sylwia Ornatowska, dw-dev, Lavish Aggarwal, Baris Derin, Martin Giger, Viswaprasath, gorf4673, and Atique Ahmed Ziad.

You can read more about their contributions in our recognition page.

WebmakerBrokering Web Literacy for Youth Digital Awareness

Mozilla’s July edition of the Curriculum Workshop brought together nearly 40 people across the globe in real time to discuss what it means to broker web literacy and how it can make an impact in local communities. When you broker a learning opportunity, you show a learner why the topic is relevant to them and help them to take advantage of it.

Leading the discussion on air were Mozilla co-hosts Amira Dhalla and Chad Sansing, along with special guests:

Guests shared several best practices for brokering web literacy opportunities such as gaining the trust of the learner, encouraging them to learn outside of their normal comfort zone, offering fun, interactive activities, demonstrating examples, and using every day scenarios to connect the web to their learners’ lives. Questions like “Where does video fall into the web literacy discussion?” and “How do we help youth discover their online identities?” helped shape the discussion.

After sharing many experiences and insights, guests poured a rainbow of ideas and creative on to the etherpad in response to our big idea for a prototype project: How can we help youth become more aware of their digital lives and opportunities? Our guests and audience members  started a great list of activity ideas, resources, and facilitation tips that we hope everyone will keep working on together. Visit the etherpad to add your thoughts and ideas!

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

Unable to tune in at our normal broadcast time? Is audio better for you than video? Then listen to our March, April, May, June, and July episodes as podcasts! Follow the links for .mp3 versions of each Mozilla Curriculum Workshop.

Air MozillaThe Joy of Coding - Episode 63

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

Project TofinoIterations

On how to find the right problems to solve when working without constraints.

Mozilla IndiaMozFest 2016 | Call For Proposals

MozFest-2016-Call-For-Proposals

The seventh-annual MozFest will be held in London, from Friday, Oct. 28 – Sunday, Oct. 30.

This year, we’ll tinker with open software, hardware, and practices. We’ll share prototypes and ideas openly, so people from across organisations and industries can help them grow. We’ll examine how issues like Web literacy, online privacy and encryption are relevant across the globe, and address challenges faced by people who don’t yet feel they are welcome on the Web.

We will have nine Spaces — physical and thematic areas of learning based around a broad topic — delivering a variety of workshops, talks and sessions on a range of subjects including localization, copywriting law, diversity on the Internet, Internet of Things, Open Badges, Web literacy, and digital art and culture.

There are different ways to participate in the festival:

Propose a Session

Submit a session, workshop or demo that is hands-on, educational and encourages collaboration. Your creativity, expertise, and contribution to the open Web will not only benefit the Mozfest community, and it will enhance your leadership skills. Read more details and submit your session here.

Register for a ticket

Join us at MozFest for the opportunity to meet, collaborate and work with developers, technologists, librarians, teachers, artists, journalists, scientists, open source enthusiasts and youth. We welcome anyone who is passionate, wants to learn more about the open Web and Web literacy. Register for a ticket here.

We’d love to see you at the festival so please join us for MozFest 2016!

SUMO BlogFirefox 47 Support Release Report

Firefox 47 Release and Firefox iOS 4.0

In London, Mozlondon, we had a session on creating a SUMO Release Report a few weeks after major updates to Mozilla products. This post will be the first to include testimonials from users and submissions from users in the community to make it unique to SUMO. With the intention to highlight all of the work that the community comes to accomplish together, the user testimonials, feedback, copious issues found, brought to attention and solved, knowledge base articles created, and collaborated on, as well as article translations to so many languages and organized social media this report shows how much we need your help. Core Community Members and new ones are equally as important.  We have highlighted the issues that were and are actively being tracked down to improve Firefox and other Mozilla products.

We have lots of ways to contribute, from Support to Social to PR, the ways you can help shape our communications program and tell the world about Mozilla are endless. For more information: [https://goo.gl/NwxLJF]

Customer Kudos to the SUMO community

1104 users said “thank you” out of the 7300 answers during this time.

christ1 - 1127702 jscher2000 - 1127482 linuxmodder - 1126874 corel-1127667

We cannot include all of the thank yous that were received, however these are many of the community members that also received thank yous from Firefox users. Shout outs to Fred, cor-el, Seburo, philipp, Matt, Zenos, Scribe, jscher2000, James, Wayne Mary, Chris Ilias, Christ1, the-edmeister, Tonnes, Toad-Hall. They all received direct thank yous from users and their solved issues.

Feedback and community highlights

Knowledge Base

Article Voted “helpful” (English/US only) Global views Constructive User Feedback
Desktop

(June 7 – June 30)

Allow Firefox to load multiple tabs in the background 71-76% 5340 “Why do you think it is a good idea to confuse existing users with taking away the options they once had? Why change the options that they choose to set? I am mildly upset”
Pages appear tiny when I print or view them in Print Preview 51-62% 3281 “Still having an issue.”
“My print_paper_height and _width settings appear in millimeters even though the paper being used is set to 8.5 x 11 inches. Margin settings still appear in inches”
“Prints half size in width. Followed instructions exactly”
“page goes from very small when printing to very large font when using email”
“actually my log in page is about the size of a dollar bill…..I cant see it because it is so small I can go to Internet Explorer and I have NO PROBLEM but firefox another story”
Firefox support has ended for OS X 10.6, 10.7 and 10.8 57-83% 3222
Watch DRM content on Firefox 66-70% 209049 “never had a problem watching videos on amazon prime till you people came up with this explanation that to non tech people is just jibberish”
“all of a sudden not work to stream toytube or netfilx”
“Has no mention of whether Linux will have Widevine support in the future. This seems odd given that Google Chrome already has that support built-in.”
Android

(June 7 – June 30)

Turn off web fonts in Firefox for Android 100% 340 none
What’s new in Firefox for Android 8 none
Firefox Marketplace Apps Stop Working on Firefox 47+ for Android 71-95% 26612 none
iOS
What’s new in Firefox for iOS (version 4.0) 60-87% 1,618,561 None
Add Firefox to the Today view on your iOS device 75-85% 18,071 None
Certificate warnings in Firefox for iOS 72-76% 2,751 none

**No articles were linked from major publications (via Google Analytics.) but if you see any in your region, please mention them.

Localization

Article Top 10 locale coverage Top 20 locale coverage
Desktop (June 7 – June 30)
Allow Firefox to load multiple tabs in the background 100% 66.6%
Pages appear tiny when I print or view them in Print Preview 100% 66.6%
Firefox support has ended for OS X 10.6, 10.7 and 10.8 40% 23.8%
Watch DRM content on Firefox 100% 80%
Android (June 7 – June 30)
Turn off web fonts in Firefox for Android 100% 66.6%
What’s new in Firefox for Android 60% 33%
Firefox Marketplace Apps Stop Working on Firefox 47+ for Android 100% 57%

Support Forum Threads

One of the major impacted issues during the first three weeks of the release was an increase in reports to fake updates and malware from those updates. Many of them were reported and still be investigated.

Not solved top viewed threads – GA

In this spreadsheet: https://docs.google.com/spreadsheets/d/1YjeyJs-VrofC0qMkf5uv5DUtJzsZjrfopEBarZ-ePTI/edit#gid=1219676230

Bugs Created from Forum threads – SUMO Community

Bugs mentioned

Social Support Highlights

Brought to you by Sprinklr

Total contributors in program

In this time we had a total of 14 of you login and participate in the Firefox 47 release.

New users added in period of the report

Welcome Magno, Daniella, Luis, and TheoC to the team you were very active these past three weeks and thank you for supporting Mozilla Open Source users on Facebook and Twitter on the Sprinklr tool.

Top 5 Contributors

User Number of Replies
Andrew Truong 56
Noah Y 24
Jhonatas Rodrigues Machado 12
Alex_Mayorga 6
Magno Reis 4

Number of Replies: 111

Trending issues in Sprinklr

Outbound top engagement:

Each Facebook outbound post reached one person for support, the two major engagements overlapped with Code Emoji and the plane,

Top Twitter Posts

This version we removed the tag summary and are currently working on items that translate to more specific categories. Not working will be removed and more will be added. However taking a deep dive in the top categories for outbound messages to Mozilla Open Source product users this what we found.

  • “Not working” is associated with these suggested troubleshooting steps and categories: antivirus was mentioned 3 times, malware  was mentioned once, trying a Firefox Refresh 1, hanging 1, Trying Safe mode 1, and Kaspersky 1, changing a Firefox setting was mentioned once, and a more complicated website issue was asked to troubleshoot in the forums. This can be concluded to be some of the most common troubleshooting steps for Firefox for Desktop described here: http://mzl.la/16zLrEU
  • “Crashes” is associated with outbound troubleshooting that  say check out how to ttp://mzl.la/14A6XM2 or go to the support forum 50/50 of the time.
  • “Video” tags were the third top category and basic troubleshooting were to clear the cache, asks if the website is the issue and suggests html5.

Air MozillaConnected Devices Weekly Program Update, 12 Jul 2016

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

hacks.mozilla.orgShipping Rust in Firefox

TL;DR: Starting with Firefox 48, Mozilla is shipping its first production Rust code, with more to come!

Mozilla ❤ Rust

It’s hard to believe it’s been almost seven years since Mozilla Research first began sponsoring the development of Rust, at the time little more than an ambitious research experiment with a small but devoted community. Remarkably, despite a long history of inventions and discoveries, Rust’s key principles have remained constant. The Rust core team’s original vision—a safe alternative to C++ to make systems programmers more productive, mission-critical software less prone to memory exploits, and parallel algorithms more tractable—has been central to Mozilla’s interest in backing the Rust project and, ultimately, using Rust in production.

An equally promising development has been the fact that Rust’s safety and modern features are attracting new people to systems programming. For Mozilla, where community-based development is quite literally our mission, widening our circle is vital.

So I’m pleased to mark an important milestone: with Firefox 48, Mozilla will ship our first Rust component to all desktop platforms, and with Android support coming soon.

Building Rust into Mozilla’s media stack

One of the first groups at Mozilla to make use of Rust was the Media Playback team. Now, it’s certainly easy to see that media is at the heart of the modern Web experience. What may be less obvious to the non-paranoid is that every time a browser plays a seemingly innocuous video (say, a chameleon popping bubbles), it’s reading data delivered in a complex format and created by someone you don’t know and don’t trust. And as it turns out, media formats are known to have been used to trick decoders into exposing nasty security vulnerabilities that exploit memory management bugs in Web browsers’ implementation code.

This makes a memory-safe programming language like Rust a compelling addition to Mozilla’s tool-chest for protecting against potentially malicious media content on the Web. For this reason, Ralph Giles and Matthew Gregan built Mozilla’s first Rust media parser. And I’m happy to report that their code will be the first Rust component shipping in Firefox. For the Rust community as well, this is a real achievement: Rust code shipping to hundreds of millions of Firefox users. Our preliminary measurements show the Rust component performing beautifully and delivering identical results to the original C++ component it’s replacing—but now implemented in a memory-safe programming language.

Telemetry data for Firefox's first Rust component

Firefox telemetry data showing zero issues in over a billion uses of the new Rust code.

More to come!

Many people deserve huge thanks for getting us to this point. Ralph Giles and Matthew Gregan implemented the component, and Nathan Froyd, Nick Nethercote, Ted Mielczarek, Gregory Szorc, and Alex Crichton have been instrumental in integrating Rust into the Firefox build and tooling system and ensuring it can ship on all of our platforms.

Rust itself is the product of a tremendous, vibrant community. None of this work would have been possible without the incredible contributions of issues, design, code, and so much more of Rustaceans worldwide. As a Rustacean myself, I’d encourage you to come play with Rust. It’s a great time to get started, and increasingly, to get involved with a Mozilla project using Rust.

Seeing Rust code ship in production at Mozilla feels like the culmination of a long journey. But this is only the first step for Mozilla. Watch this space!

Mozilla L10NChange in Sign-Offs Process for Firefox and Firefox for Android

Message to all Mozilla localizers!

We have already announced this change in the blog post about l10n updates from MozLondon, but this topic deserves a thread of its own.

What is happening?
We are changing the way we are doing sign-offs. I REPEAT, we are changing the way we are doing SIGN-OFFS! 😉

What does it mean?
Basically, we are simplifying your life. In fact, you will not need to request sign-offs anymore.
We have realized that with time, this has become an unnecessary task that has lost its initial meaning. Sign offs, in the sense that we need to tell our system what translations go into a build, are still a technical necessity for the near future. Some of us l10n-drivers (Jeff, flod and I) will start managing the whole sign-off process allowing you to focus on your localizations.

How will it work?
The only thing that changes in your usual workflow is that you no longer need to request sign-offs. Essentially, as long as there’s a good, clean changeset, we will sign-off on it. From now on (we’ve already started), the designated l10n-drivers will perform sign-off reviews on all new changesets a few times a week. This will be the case on mozilla-aurora and mozilla-beta channels (Firefox Desktop and Firefox for Android). We will determine if the changeset is technically correct and will not break anything. You might also receive emails from us with notes about the string changes in case we find any issues.

We hope that this will result in shipping more good l10n updates to users. We consider that getting a localization update to a product – even if not complete – is better than no updates at all. True to our new motto “Simplicity and Opportunity”, we also believe this will simplify things on your side, and is a total win-win situation.

As usual, please feel free to reach out to us with any questions about this. Feedback as you know is welcome as well.

QMOFirefox 48 beta 6 Testday Results

Hello mozillians!

Last week on Friday (July 8th), we held another successful event – Firefox 48 beta 6 Testday.

Thank you all for helping us making Mozilla a better place – akash, Karthikeya L K, Iryna Thompson, Moin Shaikh, Ilse Macías, Corey Sheldon, Ciprian Georgiu, Julie Myers (a.k.a. SnoopyRules), Bhuvana Meenakshi.K, Prasanth p, Mano @Manokarr, Nazir Ahmed Sabbir, Hossain Al Ikram, Tanvir Rahman, Azmina Akter Papeya, Khalid Syfullah Zaman, Mohammad Maruf Islam, Md.Majedul islam, Samad Talukdar, Kazi Sakib Ahmad, Zayed News, Maruf Rahman, Md.Tarikul Islam Oashi, Aminul Islam Alvi, Akash, Rakib Rahman, Ria, Rezaul Huque Nayeem, Sayed Ibn Masud and Saddam Hossain.

A big thank you goes out to all our active moderators too!

Results:

I strongly advise everyone of you to reach out to us, the moderators, via #qa during the events when you encountered any kind of failures. Keep up the great work! \o/

And keep an eye on QMO for upcoming events! 😉

WebmakerBrokering Web Literacy Around the World

Each month, the Mozilla Learning team connects its global community to dynamic topics shaping the field. This month, we’re diving into what it means to broker learning across the globe and how you can make a difference in the fight for equitable web literacy.

Mozilla Curriculum Workshop: Tuesday, July 12th 7am PT, 10am ET, 2pm UTC

Join co-hosts Amira Dhalla and Chad Sansing to talk about brokering web literacy learning around the world. How do you connect youth with opportunities to learn about the web and use it in their daily lives?

Invited guests Mmaki Jantjies and Arkodyuti Saha will talk shop about brokering, network-building, and earning the trust of local communities and youth interested in the web.

Mozilla Philippines Community

Mozilla Philippines Community

Mozilla Learning Community Call: Thursday, July 28 9am PT, 12pm ET, 4pm UTC (NEW TIME)

Learning has the potential to make global impact, especially when it starts local. During this month’s call, we’ll discuss how to develop successful learning opportunities that go  beyond local borders. What is the recipe for small and large organizations to move their projects beyond city limits?

Representing libraries, game education organizations, Mozilla Club leads and Mozilla staff, guests include:

We’ll discuss developing city-wide learning projects, including successes and challenges, and how they connect to the global Mozilla Learning networks for broader impact.

Have an idea on how to scale a project globally? Ask questions, share ideas and feedback with us live through embedded agenda and chat on the 28th!

Tweet Chat: Thursday, July 28

Follow @MozLearn for details on this month’s #TTWchat as the date gets closer.

WebmakerJuly Community Spotlight: Arkodyuti Saha

In India, Arkodyuti Saha is making waves with Hello Web, a campaign to spread web literacy across the country. Using Mozilla’s free and open online learning tools, curricular resources, and the Mozilla Clubs program as its backbone, the Hello Web campaign has had a large impact on many communities and learners. As a completely self-started advocate and campaigner for the open web, we’re honored to feature Arkodyuti in our community spotlight this month.

Arkodyuti Saha

Arkodyuti Saha working with learners during the Hello Web campaign 2016. Photo provided by Arkodyuti Saha.

We asked Arkodyuti to tell us more about his work and inspiration for Hello Web. Here is what he had to say:

What’s your background with the open web? With Mozilla?

I’ve been associated with Mozilla for over one and a half years. I’m glad to be supported by my mentor, Shreyas Narayan Kutty, for backing me throughout all of my initiatives.

What is Hello Web?

Hello Web is an initiative to take Mozilla’s aim of making the world web literate a step closer to reality. By this, Mozillians go across India spreading the message of the necessity of being better web citizens and providing internet connectivity to institutions. Web literacy sessions to teach people about the internet and fundamentals of computers will be held in various orphanages and educational institutions across India.

Kolkata Bloggers is the official event partner. Mio Amore is the food sponsor, providing free cake slices to the kids attending the event. Sourcekart is merchandise partner.

How did Hello Web get started? Where did the idea originate?

Hello Web was first held in December 2015 in cities of India: Kolkata , Surat , Navi Mumbai, Jaipur and Rewa. We were able to reach out to more than 2000 students in December.

Many initiatives have been taken in the past to spread web literacy. So, we decided to do it differently this time around. We decided not only to conduct sessions, but also to do something that helps students on a long term basis. Hence, we are creating Mozilla Clubs and mentoring them so that a proper channel is created for students to learn and experience new things long-term.

This time we not only focus on school children but also children from orphanages and those who are not aware of how the internet can change lives. We intend to make these children aware of how the internet can change their lives by acquainting them with the fundamentals of the web and also provide institutions with internet connectivity.  We tried to enlightened the students with these questions: “Why web literacy? Why is it important? How it can change lives?”

Hello Web India June 2016

How have you seen this campaign impact the local community?

A lot of young bloggers from the Kolkata Bloggers network, from different schools and colleges in the city who volunteered for the initiative, came up with blog posts on the events, on the importance of web literacy in general and on the impact the campaign has made on them. They have set an example that other youngsters are now keen to follow, leading to a better ecosystem which encourages a conducive environment for web learning.

Here’s a list of blog posts by various school and college bloggers who actively participated during the campaign:

How is the campaign inspiring others to #teachtheweb?

There was active participation from volunteers from school and colleges who backed us throughout the campaign from hosting a session, to teaching the attendees, to actively blogging about the campaign. They too reached out to set up Mozilla Clubs later in their schools and colleges to engage students towards participation on the Web.

The Times of India picked up the campaign, which is helping to spread the word across India. It is an Indian English-language daily newspaper, the largest newspaper in India by circulation and largest selling.

What do you hope to work on in the future with Mozilla or with other open web projects?

Right now, I’m focusing on Mozilla’s resources and trying to integrate Mozilla Clubs in educational institutions. I’m glad to work with few young enthusiastic Mozillians, Shreenath, Ashun, Rayan, Debol, Sourath, Rohit, Kalyan, Tamoghna, Ayan, Farag in India who help me in all possible ways to execute initiatives like Hello Web successfully. I would also love to participate and create more impactful campaigns in the future so that people across India know the importance of web literacy and will start participating on the web.

Learn more about Arkodyuti by following him on Twitter or Facebook.

You can read more community spotlight features here.

SUMO BlogWhat’s Up with SUMO – 7th July

Hello, SUMO Nation!

Welcome to the hot-hot-hot July! Wherever you are, remember – don’t melt! It’s a bit hard to achieve that over here (air conditioning only gets you so far), so I hope you’ll have an easier challenge on your side. Speaking of hotness – here are the red-hot-

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 the 13th of July!
  • 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.

Community

Social

Support Forum

Firefox

  • for Android
    • Version 48 is still on track for release on August 2nd.

So… Are you still following the Euro 2016 cup games? Are you watching cool movies? Know some great music that you think we should all know about? Tell us in our forums!

 

Air MozillaWeb QA Team Meeting, 07 Jul 2016

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, 07 Jul 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.

Air MozillaThe Joy of Coding - Episode 62

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