WebmakerHTTPS, Mixed Content, and the real web… oh my!

This post was written by Pomax, a Mozilla Foundation software engineer
We recently fixed something around Mozilla’s X-Ray Goggles. A long running problem that caused people headaches and the feeling of lost work, while at the same time doing nothing “wrong”, from a technical perspective. This is going to be a story about how modern browsers work, how people use the web, and how those two things… don’t always align.

X-Ray Goggles by Mozilla

So let’s start with X-Ray Goggles: the X-Ray Goggles are a tool made by Mozilla that lets you “remix” web pages after loading them in your browser. You can go to your favourite place on the web, fire up the goggles (similar to how a professional web developer would open up their dev tools), and then change text, styling, images, and whatever else you might want to change, for as long as you want to change things, and then when you’re happy with the result and you want to show your remix to your friends, you can publish that remix so that it has its own URL that you can share.

However, the X-Ray Goggles use a publishing service that hosts all its content over https, because we care about secure communication at Mozilla, and using https is best practice. But in this particular case, it’s also kind of bad: large parts of the web still use http, and even if a website has an https equivalent, people usually visit the http version anyway. Unless those websites force users to the https version of the site (using a redirect message), then site they’ll be on, and the site they’ll be remixing, will use HTTP, and the moment the user publishes their remix with X-Ray Goggles, and they get an https URL back, and they open that URL in their browser….

well, let’s just say “everything looks broken” is not wrong.

But the reason for this is not because Goggles, or even the browser is doing something wrong – ironically, it’s because they’re doing something right, and in so doing, what the user wants to do turns out incompatible with what the technology wants them to do. So let’s look at what’s going on here.

HTTP, the basis upon which browsing is built

If you’re a user of the web, no doubt you’ll have heard about http and https, even if you can’t really say what they technically-precisely mean. In simple terms (but without dumbing it down), HTTP is the language that servers and browsers use to negotiate data transfers. The original intention was for those two to talk about HTML code, so that’s where the h in http comes from (it stands for “hypertext” in both http and html), but we’re mostly ignoring that these days, and HTTP is used by browsers and servers to negotiate transmission of all sorts of files – web pages, stylesheets, javascript source code, raw data, music, video, images, you name it.

However, HTTP is a bit like regular English: you can listen in on it. If you go to a bar and sit yourself with a group of people, you can listen to their conversations. The same goes for HTTP: in order for your browser and the server to talk they rely on a chain of other computers connected to the internet to get messages relayed from one ot the other, and any of those computers can listen in on what the browser and server are saying to each other. In an HTTP setting it gets a little stranger even, because any of those computers could look at what the browser or server are saying, replace what is being said with something else and then forward that on. And you’ll have no way of knowing whether that’s what happened. It’s literally as if the postal service took a letter you sent, opened it, rewrote it, resealed it, and then sent that on. We trust that they won’t, and computers connected to the internet trust that other computers don’t mess with the communication, but… they can. And sometimes they do.

And that’s pretty scary, actually. You don’t want to have to “trust” that your communication isn’t read or tampered with, you want to know that’s the case.

What can we do to fix that?

Well, we can use HTTPS, or “secure HTTP”, instead. Now, I need to be very clear here: the term “secure” in “secure HTTP” refers to secure communication. Rather than talking “in English”, the browser and server agree on a secret language that you could listen to, but you won’t know what’s being said, and so you can’t intercept-and-modify the communication willy-nilly without both parties knowing that their communications are being tampered with. However it does not mean that the data the browser and server agree to receive or send is “safe data”. It only means that both parties can be sure that what one of them receives is what the other intended to send. All we can be sure of is that no one will have been able to see what got sent, and that no one modified it somewhere along the way without us knowing.

However, those are big certainties, so for this reason the internet’s been moving more and more towards preferring HTTPS for everything. But not everyone’s using HTTPS yet, and so we run into something called the “Mixed Content” issue.

Let’s look at an example.

Imagine I run a web page, much like this one, and I run it on HTTP because I am not aware of the security issues, and my page relies on some external images, and some JavaScript for easy navigation, and maybe an embedded podcast audio file. All of those things are linked as http://......, and everything worked fine.

But then I hear about the problems with HTTP and the privacy and security implications sound horrible! So, to make sure my visitors don’t have to worry about whether the page they get from my server is my page, or a modified version of my page, I spring into action, I switch my page over to HTTPS; I get a security certificate, I set everything on my own server up so that it can “talk” in HTTPS, and done!

Except immediately after switching, my web page is completely broken! The page itself loads, but none of the images show up, and the JavaScript doesn’t seem to be working, and that podcast embed is gone! What happened??

This is a classic case of mixed-content blocking. My web page is being served on HTTPS, so it’s indicating that it wants to make sure everything is secure, but the resources I rely on still use HTTP, and now the browser has a problem: it can’t trust those resources, because it can’t trust that they won’t have been inspected or even modified when it requests them, and because the web page that’s asking them to be loaded expressed that it cares about secure communication a great deal, the browser can’t just fetch those insecure elements, things might go wrong, and there’s no way to tell!

So it does the only thing it knows is safe: better safe than sorry, and it flat out refuses to even request them, giving you a warning about “mixed content”.

Normally, that’s great. It lets people who run websites know that they’re relying on potentially insecure third party content in an undeniably clear way, but it gets a bit tricky in two situations:

  1. third party resources that themselves require other third party resources, and
  2. embedding and rehosting

The first is things like your web page using a comment thread service: your web page includes a bit of JavaScript from something like www.WeDoCommentsForYou.com and then that JavaScript then loads content from that site’s comment database, for instance comments.WeDoCommentsForYou.com. If we have a page that uses HTTPS, running on https://ourpage.org then we can certainly make sure that we load the comment system from https://www.WeDoCommentsForYou.com, but we don’t control the protocol for the URL that the JavaScript we got back uses. If “WeDoCommentsForYou” wrote their script poorly, and they try to load their comments over http://, then too bad, the browser will block that. Sure, it’s a thing that “WeDoCommentsForYou” should fix, but until they do your users can’t comment, and that’s super annoying.

The second issue is kind of like the first, but is about entire web pages. Say you want to embed a page; for instance, you’re transcluding an entire wiki page into another wiki page. If the page you’re embedding is http and the page it’s embedded on is https, too bad, that’s not going to work. Or, and that brings us to what I really want to talk about, if you remix a page on http, with http resources, and host that remix on a site that uses https, then that’s not going to work either…

Back to the X-Ray Goggles

And that’s the problem we were hitting with X-Ray Goggles, too.

While the browser is doing the same kind of user protection that it does for any other website, in this particular case it’s actually a big problem: if a user remixed an HTTP website, then knowing what we know now, obviously that’s not going to work if we try to view it using HTTPS. But that also means that instead of a cool tool that people can use to start learning about how web pages work “on the inside”, the result of which they can share with their friends, they have a tool that lets them look at the insides of a web page and then when they try to share their learning, everything breaks.

That’s not cool.

And so the solution to this problem is based on first meeting the expectations of people, and then educating them on what those expectations actually mean.

Give me HTTPS, unless I started on HTTP

There are quite a few solutions to the mixed-content problem, and some are better than others. There are some that are downright not nice to other people on the web (like making a full copy of someone’s website and then hosting that on Mozilla’s servers. That’s not okay), or may open people up exploits (like running a proxy server, which runs on HTTPS and can fetch HTTP resources, then send them on as if they were on HTTPS, effectively lying about the security of the communication), so the solution we settled on is, really, the simplest one:

If you remix an http://... website, we will give you a URL that starts with http://, and if you remix an https:// website, we will give you a URL that starts with https://.... However, we also want you to understand what’s going on with the whole “http vs https” thing, so when you visit a remix that starts with http:// the remix notice bar at the top of the page also contains a link to the https:// version –same page, just served using HTTPS instead of HTTP– so that you can see exactly how bad things get if you can’t control which protocol gets used for resources on a page.

Security vs Usability

Security is everybody’s responsibility, and explaining the risks on the web that are inherent to the technology we use every day is always worth doing. But that doesn’t mean we need to lock everything down so “you can’t use it, the end, go home, stop using HTTP”. That’s not how the real world works.

So we want you to be able to remix your favourite sites, even if they’re HTTP, and have a learning/teaching opportunity there around security. Yes, things will look bad when you try to load an HTTP site on HTTPS, but there’s a reason for that, and it’s important to talk about it.

And it’s equally important to talk about it without making you lose an hour or more of working on your awesome remix.

Air MozillaCloud Services QA Team Sync, 03 May 2016

Cloud Services QA Team Sync Weekly sync-up, volunteer, round-robin style, on what folks are working on, having challenges with, etc.

Air MozillaWebdev Extravaganza: May 2016

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

Air MozillaConnected Devices Weekly Program Update, 03 May 2016

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

Open Policy & AdvocacyThis is what a rightsholder looks like in 2016

In today’s policy discussions around intellectual property, the term ‘rightsholder’ is often misconstrued as someone who supports maximalist protection and enforcement of intellectual property, instead of someone who simply holds the rights to intellectual property. This false assumption can at times create a kind of myopia, in which the breadth and variety of actors, interests, and viewpoints in the internet ecosystem – all of whom are rightsholders to one degree or another – are lost.

This is not merely a process issue – it undermines constructive dialogues aimed at achieving a balanced policy. Copyright law is, ostensibly, designed and intended to advance a range of beneficial goals, such as promoting the arts, growing the economy, and making progress in scientific endeavour. But maximalist protection policies and draconian enforcement benefit the few and not the many, hindering rather than helping these policy goals. For copyright law to enhance creativity, innovation, and competition, and ultimately to benefit the public good, we must all recognise the plurality and complexity of actors in the digital ecosystem, who can be at once IP rightsholders, creators, and consumers.

Mozilla is an example of this complex rightsholder stakeholder. As a technology company, a non-profit foundation, and a global community, we hold copyrights, trademarks, and other exclusive rights. Yet, in the pursuit of our mission, we’ve also championed open licenses to share our works with others. Through this, we see an opportunity to harness intellectual property to promote openness, competition and participation in the internet economy.

We are a rightsholder, but we are far from maximalists. Much of the code produced by Mozilla, including much of Firefox, is licensed using a free and open source software licence called the Mozilla Public License (MPL), developed and maintained by the Mozilla Foundation. We developed the MPL to strike a real balance between the interests of proprietary and open source developers in an effort to promote innovation, creativity and economic growth to benefit the public good.

Similarly, in recognition of the challenges the patent system raises for open source software development, we’re pioneering an innovative approach to patent licensing with our Mozilla Open Software Patent License (MOSPL). Today, the patent system can be used to hinder innovation by other creators. Our solution is to create patents that expressly permit everyone to innovate openly. You can read more in our terms of license here.

While these are just two initiatives from Mozilla amongst many more in the open source community, we need more innovative ideas in order to fully harness intellectual property rights to foster innovation, creation and competition. And we need policy makers to be open (pun intended) to such ideas, and to understand the place they have in the intellectual property ecosystem.

More than just our world of software development, the concept of a rightsholder is in reality broad and nuanced. In practice, we’re all rightsholders – we become rightsholders by creating for ourselves, whether we’re writing, singing, playing, drawing, or coding. And as rightsholders, we all have a stake in this rich and diverse ecosystem, and in the future of intellectual property law and policy that shapes it.

Here is some of our most recent work on IP reform:

Mozilla Add-ons BlogMay 2016 Featured Add-ons

Pick of the Month: uBlock Origin

by Raymond Hill
Very efficient blocker with a low CPU footprint.

”Wonderful blocker, part of my everyday browsing arsenal, highly recommended.”

Featured: Download Plan

by Abraham
Schedule download times for large files during off-peak hours.

”Absolutely beautiful interface!!”

Featured: Emoji Keyboard

by Harry N.
Input emojis right from the browser.

”This is a good extension because I can input emojis not available in Hangouts, Facebook, and email.”

Featured: Tab Groups

by Quicksaver
A simple way to organize a ton of tabs.

”Awesome feature and very intuitive to use.”

Nominate your favorite add-ons

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

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

WebmakerWEB LITERACY WORKSHOP FINAL RECAP

Group picture

Participants and facilitators in the final celebration. Spring 2016, NYC

We believe a successful training prepares learners to connect new skills, resources, methods and ideas with their own interests and professional goals.

Participants in our recent  Web Literacy Leaders Workshop have been doing just that. The workshop took place over a 2-month period and included a face to face training, open forum discussion, two community calls, and a final celebration.

During this time the group of learners comprised of teachers, librarians, administrators, and technology coaches, started to experiment with Mozilla tools in their classrooms, and share work and reflections across the digital and face to face spaces.

Here are three examples of what was shared

1. SEAN ARNOLD, Technology coordinator/computer teacher at Robert E. Peary School

  • Sharing cool stuff!

“The most relevant takeaway from this training was understanding the concept of Open. If you have cool stuff why keep it for yourself? Why not share all this cool stuff with others?”

After the training, Sean put together a newsletter for principals and teachers throughout his district that highlights some of the tools learned:

Newsletter by Sean Arnold

Newsletter created by Sean Arnold to share what he learned in the Workshop.

Read the full newsletter here.

  • Incorporating Mozilla tools in the classroom

Sean teaches learners with special needs. This is how he prepares for teaching his students to use Thimble, Mozilla’s online code editor:

“I had laminated charts with various coding (CSS & HTML) basics to reference as they worked. I also paired students into teams based on skill levels, so those struggling with the concepts could be helped by those who better understood the process. That seems to have worked well at least from a management perspective, so the students will first ask their partner to help them before coming to me.”

2. SUSAN CASH, Middle school educator

  • Debate: Apple and the FBI

This workshops was a great opportunity to share other Mozilla initiatives, like the encryption campaign, which inspired Susan to design a debate curriculum.

debate_fbi_apple

Presentation of the debate designed by Susan, using Mozilla’s encryption campaign.

To prepare, she invited her students to explore the encryption issues published on the site. They watched videos, examined several encryption companies in the United States, reviewed the First Amendment, and discussed terrorism in order to shape arguments for and against surveillance and encryption.

Through her curriculum students were able to understand, discuss and form arguments about encryption in a learning space with peers, teachers and judges.

3. JEN DIONISIO, 6th grade computer teacher, at Wagner Middle School in Manhattan

  • Tag tag revolution

Jen considers the Tag Tag Revolution activity as a great way to introduce learners to the basics of coding. That’s why she decided to introduce it in some of her classes. She explained her process and how the students reacted to the activity:

tagtag_revolution

6th grade students playing Tag Tag Revolution

“The activity went well the majority of the time, however the biggest challenge was keeping the noise at a reasonable level!!! The kids really enjoyed wearing the tags and thought it was hysterical when they had to do multiple tags.”

After the exercise, Jen invited her students to share their reflections in a Padlet. Read some of the hilarious comments here.

Final reflection

Most participants were able to apply what they learned in their classrooms, libraries and programs. Their projects ranged from coding the periodic table, to building diverse websites in Thimble. We learned as much from them as they did from us. Moving forward we will incorporate participant suggestions into future trainings and resources. A big thank you to NYC DOE for organizing this initiative and to all the wonderful educators we met along the way.

Thimble remix Thimble remix Thimble remix Thimble remix Thimble remix teacher4

Special thanks to Joey Azoulai, Julia Valera, Chad Sansing and Kristina Gorr, for their contributions to this final recap.

 

Air MozillaMozilla Weekly Project Meeting, 02 May 2016

Mozilla Weekly Project Meeting The Monday Project Meeting

BlueGriffonBlueGriffon officially recommended by the French Government

en-US TL;DR: BlueGriffon is now officially recommended as the html editor for the French Administration in its effort to rely on and promote Free Software!

Je suis très heureux de signaler que BlueGriffon, mon éditeur Web cross-platform et Wysiwyg, est officiellement recommandé par le Socle Interministériel de Logiciels Libres pour 2016 !!! Vous trouverez la liste officielle des logiciels recommandés ici (document pdf).

hacks.mozilla.orgDeveloper Edition 48 – Firebug features, editable storage, inspector improvements and more…

This week marks the release of Firefox Developer Edition 48. In preparation for the arrival of multiprocess Firefox and the deprecation of the Firebug add-on, we are porting Firebug features to the built-in tools. We have also made tweaks to the current tools that we’ll cover in this post.

Firebug theme

As part of porting Firebug features to the built-in tools, we’re also porting the Firebug theme, giving Firebug users a more familiar environment to work with. This is the initial release of the theme so please let us know if you find any bugs and report them here. Here is a screenshot of the Firebug theme:

Firebug theme

DOM panel

The DOM panel is another feature we are porting from Firebug. This panel provides a handy tree view which allows you to browse and inspect the DOM structure of your page. Here’s a screenshot of the new tool:

DOM Panel screenshot

Editable storage

Editing support inside the storage inspector is one of the most frequently requested features. In this release, we added the ability to edit and delete cookies, local storage, and session storage entries. You can edit a cell by double-clicking on it. You can also delete entries by using the context menu.
Editable storage entries

Deletable cells

Geometry editor

In this release, we have added a new visual editing tool that allows you to easily tweak the positioning of any absolutely positioned or fixed-position element. You can change the values of the top, left, bottom and right properties using this tool. To launch the geometry editor, go to the Box Model tab in the inspector and click on the Geometry editor icon icon.

Geometry Editor

Memory tool improvements

The memory tool is now enhanced with a brand new tree-map view that gives a quick and intuitive visual overview of how memory is being used. This new view groups objects together by their types, which allows you to easily see the quantity of similar items (arrays when drawing canvas lines, scripts when loading a script-heavy website, etc.) taking up memory. Also, the size of each item in the map is proportional to the amount of bytes used, which allows you to easily see which items are taking up most of your memory.

Memory tool tree map

The memory tool provides a useful aggregate view that groups all instances of the same type of node. In this release, you can now click the ⁂ icon to view all individual instances of a specified type in a separate view. You can also view the retaining paths of those individual nodes, using the retaining paths panel added in the previous release. This allows you to precisely pinpoint how a specific object is leaking when debugging your web app.

Aggregate view individual nodes

Finally, we have also added the ability to remove individual snapshots from the memory tool sidebar.

Inspector improvements

We have polished the user experience in the inspector to make it smoother and easier to use. The Rules view autocomplete now selects the most used property by default to make your authoring experience faster. For example, background will be selected instead of backface-visibility because it’s more frequently used. Here is a screencast of the feature in action:

Better rules view autocomplete

We have also improved the way long values are handled in the Rules view. A new multi-line mode specifically for long values lets you conveniently reach and select different parts of the value you’re editing.

Multi-line mode

The markup view now emphasises the relationship between a parent node and its children. The selected element now has a line underneath it that highlights the child nodes. This allows you to easily spot the selected element child nodes when the HTML markup is complex.

Parent child relationship

A quick way to switch between different angle units in the Rules view has been added. There is now a swatch next to angle values which you can shift-click to cycle between different units, similar to the colour values interaction. This feature was added by contributor Nicolas Chevobbe.

Cycle between angle units

Finally, we have added keyboard shortcuts to easily navigate between the markup view search results. You can now use Shift+Enter to navigate backwards within the search results. Also, Ctrl/Cmd+G and Ctrl/Cmd+Shift+G now work as aliases for Enter and Shift+Enter. These keyboard shortcuts were added by contributor Steve Melia.

Console improvements

The console has also received various tweaks that will make your daily experience with the tool more enjoyable. The first improvement comes from the set of Firebug features we’re porting. You can now expand network logs to inspect them and reveal a Firebug-style details view. Here is a screenshot:

Inline HTTP inspection

If you’re working with Map or Set objects, you can now view and inspect their individual entries from the console sidebar. This feature was added by contributor Jarda Snajdr.

Improved Map/Set inspection

Finally, we have added support for console.clear() to clear the console output.

about:debugging features

In preparation for the release of WebExtensions, we’ve added a feature that will be a great help to add-on developers. You can now reload add-ons from about:debugging, which allows you to quickly develop your add-on without having to re-install it every time you make a change.

Reloading add-ons with about:debugging

If you’re working with Service Workers, you’ll notice that we have added a way to unregister individual workers. Here is a screenshot:

Unregister service workers

Other notable changes

In addition to the changes above, we have polished various areas of the toolbox including:

Thanks to everyone who contributed to this release! Make sure to grab a fresh copy of Firefox Developer Edition and share your thoughts! If you have feedback about different Firebug features being ported, we’d love to hear your suggestions and constructive comments here.

SUMO BlogMozillian profile: Jayesh

Hello, SUMO Nation!

Do you still remember Dinesh? Turns out he’s not the only Mozillian out there who’s happy to share his story with us. Today, I have the pleasure of introducing Jayesh, one of the many SUMOzillians among you, with a really inspiring story of his engagement in the community to share. Read on!

Jayesh

I’m Jayesh from India. I’ve been contributing to Mozilla as a Firefox Student Ambassador since 2014. I’m a self-made entrepreneur, tech lover, and passionate traveller. I am also an undergraduate with a Computer Science background.

During my university days I used to waste a lot of time playing games as I did not have a platform to showcase my technical skills. I thought working was only useful when you had a “real” job. I only heard about open source, but in my third year I came to know about open source contributors – through my friend Dinesh, who told me about the FSA program – this inspired me a lot. I thought it was the perfect platform for me to kickstart my career as a Mozillian and build a strong, bright future.

Being a techie, I could identify with Mozilla and its efforts to keep the web open. I registered for the FSA program with the guidance of my friend, and found a lot of students and open source enthusiasts from India contributing to Mozilla in many ways. I was very happy to join the Mozilla India Community.

Around 90% of Computer Science students at the university learn the technology but don’t actually try to implement working prototypes using their knowledge, as they don’t know about the possibility of open source contributions – they just believe that showcasing counts only during professional internships and work training. Thus, I thought of sharing my knowledge about open source contributors through the Mozilla community.

I gained experience conducting events for Mozilla in the Tirupati Community, where my friend was seeking help in conducting events as he was the only Firefox Student Ambassador in that region. Later, to learn more, we travelled to many places and attend various events in Bengaluru and Hyderabad , where we met a very well developed Mozilla community in southern India. We met many Mozilla Representatives and sought help from them. Vineel and Galaxy helped us a lot, guiding us through our first steps.

Later, I found that I was the only Mozillian in my region – Kumbakonam, where I do my undergrad studies – within a 200 miles radius. This motivated me to personally build a new university club – SRCMozillians. I inaugurated the club at my university with the help of the management.

More than 450 students in the university registered for the FSA program in the span of two days, and we have organized more than ten events, including FFOS App days, Moz-Quiz, Web-Development-Learning, Connected Devices-Learning, Moz-Stall, a ponsored fun event, community meet-ups – and more! All this in half a year. For my efforts, I was recognized as FSA of the month, August 2015 & FSA Senior.

The biggest problems we faced while building our club were the studying times, when we’d be having lots of assignments, cycle tests, lab internals, and more – with everyone really busy and working hard, it took time to bridge the gap and realise grades alone are not the key factor to build a bright future.

My contributions to the functional areas in Mozilla varied from time to time. I started with Webmaker by creating educational makes about X-Ray Goggles, App-Maker and Thimble. I’m proud of being recognized as a Webmaker Mentor for that. Later, I focused on Army of Awesome (AoA) by tweeting and helping Firefox users. I even developed two Firefox OS applications (Asteroids – a game and a community application for SRCMozillians), which were available in the Marketplace. After that, I turned my attention to Quality Assurance, as Software Testing was one of the subject in my curriculum. I started testing tasks in One And Done – this helped me understand the key concepts of software testing easily – especially checking the test conditions and triaging bugs. My name was even mentioned on the Mozilla blog about the Firefox 42.0 Beta 3 Test day for successfully testing and passing all the test cases.

I moved on to start localization for Telugu, my native language. I started translating KB articles – with time, my efforts were recognized, and I became a Reviewer for Telugu. This area of contribution proved to be very interesting, and I even started translating projects in Pontoon.

As you can see from my Mozillian story above, it’s easy to get started with something you like. I guarantee that every individual student with passion to contribute and build a bright career within the Mozilla community, can discover that this is the right platform to start with. The experience you gain here will help you a lot in building your future. I personally think that the best aspect of it is the global connection with many great people who are always happy to support and guide you.

– Jayesh , a proud Mozillian

Thank you, Jayesh! A great example of turning one’s passion into a great initiative that enables many people around you understand and use technology better. We’re looking forward to more open source awesomeness from you!

SUMO Blog readers – are you interested in posting on our blog about your open source projects and adventures? Let us know!

QMOFirefox 47 Beta 3 Testday, May 6th

Hey everyone,

I am happy to announce that the following Friday, May 6th, we are organizing a new event – Firefox 47 Beta 3 Testday. The main focus will be on Synced Tabs Sidebar and Youtube Embedded Rewrite features. The detailed instructions are available via this etherpad.

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

Join us and help us make Firefox better! 😉

See you all on Friday!

Mozilla Add-ons BlogWebExtensions in Firefox 48

We last updated you on our progress with WebExtensions when Firefox 47 landed in Developer Edition (Aurora), and today we have an update for Firefox 48, which landed in Developer Edition this week.

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

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

APIs Implemented

Many APIs gained improved support in this release, including: alarms, bookmarks, downloads, notifications, webNavigation, webRequest, windows and tabs.

The options v2 API is now supported so that developers can implement an options UI for their users. We do not plan to support the options v1 API, which is deprecated in Chrome. You can see an example of how to use this API in the WebExtensions examples on Github.

image08

In Firefox 48 we pushed hard to make the WebRequest API a solid foundation for privacy and security add-ons such as Ghostery, RequestPolicy and NoScript. With the current implementation of the onErrorOccurred function, it is now possible for Ghostery to be written as a WebExtension.

The addition of reliable origin information was a major requirement for existing Firefox security add-ons performing cross-origin checks such as NoScript or uBlock Origin. This feature is unique to Firefox, and is one of our first expansions beyond parity with the Chrome APIs for WebExtensions.

Although requestBody support is not in Firefox 48 at the time of publication, we hope it will be uplifted. This change to Gecko is quite significant because it will allow NoScript’s XSS filter to perform much better as a WebExtension, with huge speed gains (20 times or more) in some cases over the existing XUL and XPCOM extension for many operations (e.g. form submissions that include file uploads).

We’ve also had the chance to dramatically increase our unit test coverage again across the WebExtensions API, and now our modules have over 92% test coverage.

Content Security Policy Support

By default WebExtensions now use a Content Security Policy, limiting the location of resources that can be loaded. The default policy for Firefox is the same as Chrome’s:

"script-src 'self'; object-src 'self';"

This has many implications, such as the following: eval will no longer work, inline JavaScript will not be executed and only local scripts and resources are loaded. To relax that and define your own, you’ll need to define a new CSP using the content_security_policy entry in the WebExtension’s manifest.

For example, to load scripts from example.com, the manifest would include a policy configuration that would look like this:

"content_security_policy": "script-src 'self' https://example.com; object-src 'self'"

Please note: this will be a backwards incompatible change for any Firefox WebExtensions that did not adhere to this CSP. Existing WebExtensions that do not adhere to the CSP will need to be updated.

Chrome compatibility

To improve the compatibility with Chrome, a change has landed in Firefox that allows an add-on to be run in Firefox without the add-on id specified. That means that Chrome add-ons can now be run in Firefox with no manifest changes using about:debugging and loading it as a temporary add-on.

Support for WebExtensions with no add-on id specified in the manifest is being added to addons.mozilla.org (AMO) and our other tools, and should be in place on AMO for when Firefox 48 lands in release.

Android Support

With the release of Firefox 48 we are announcing Android support for WebExtensions. WebExtensions add-ons can now be installed and run on Android, just like any other add-on. However, because Firefox for Android makes use of a native user interface, anything that involves user interface interaction is currently unsupported (similar to existing extensions on Android).

You can see what the full list of APIs supported on Android in the WebExtensions documentation on MDN, these include alarms, cookies, i18n and runtime.

Developer Support

In Firefox 45 the ability to load add-ons temporarily was added to about:debugging. In Firefox 48 several exciting enhancements are added to about:debugging.

If your add-on fails to load for some reason in about:debugging (most commonly due to JSON syntax errors), then you’ll get a helpful message appearing at the top of about:debugging. In the past, the error would be hidden away in the browser console.

image02

It still remains in the browser console, but is now visible that an error occurred right in the same page where loading was triggered.

image04

Debugging

You can now debug background scripts and content scripts in the debugging tools. In this example, to debug background scripts I loaded the add-on bookmark-it from the MDN examples. Next click “Enable add-on debugging”, then click “debug”:

image03

You will need to accept the incoming remote debugger session request. Then you’ll have a Web Console for the background page. This allows you to interact with the background page. In this case I’m calling the toggleBookmark API.

image06

This will call the toggleBookmark function and bookmark the page (note the bookmark icon is now blue. If you want to debug the toggleBookmark function,  just add the debugger statement at the appropriate line. When you trigger toggleBookmark, you’ll be dropped into the debugger:image09

You can now debug content scripts. In this example I’ve loaded the beastify add-on from the MDN examples using about:debugging. This add-on runs a content script to alter the current page by adding a red border.

All you have to do to debug it is to insert the debugger statement into your content script, open up the Developer Tools debugger and trigger the debug statement:

image05

You are then dropped into the debugger ready to start debugging the content script.

Reloading

As you may know, restarting Firefox and adding in a new add-on is can be slow, so about:debugging now allows you to reload an add-on. This will remove the add-on and then re-enable the add-on, so that you don’t have to keep restarting Firefox. This is especially useful for changes to the manifest, which will not be automatically refreshed. It also resets UI buttons.

In the following example the add-on just calls setBadgeText to add “Test” onto the browser action button (in the top right) when you press the button added by the add-on.

image03

Hitting reload for that add-on clears the state for that button and reloads the add-on from the manifest, meaning that after a reload, the “Test” text has been removed.

image07

This makes developing and debugging WebExtensions really easy. Coming soon, web-ext, the command line tool for developing add-ons, will gain the ability to trigger this each time a file in the add-on changes.

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

Update: clarified that no add-on id refers to the manifest as a WebExtension.

Arabic Mozillaتقرير الإجتماع الدوري الثاني لمجتمع موزيلا العربي ليوم 23 أفريل 2016

 الإجتماع 2
تم يوم 23 أفريل 2016 من الساعة السابعة إلى الثامنة مساءا بتوقيت الجزائر وتونس إجتماع ضم العديد من الأفراد من مجتمع موزيلا العربي وكالعادة حضر عدة أفراد من الجزائر، تونس ، مصر، الأردن في غياب المجتمع الفلسطيني. وتم الإجتماع على جوجل هنقاوت وتم بثه على اليوتوب مباشرة.

أدار اللقاء محمود قضاه من الأردن وبدأ سلسلة المواضيع أمين من تونس، حيث تحدث أمين عن الجديد في برنامج مندوبي موزيلا والذي تمثل في تحويل المندوبين الغير ناشطين في ثلاث الأشهر إلى مندوبين سابقين. ثم أضاف أمين موضوع آخر وهو موضوع فرق موزيلا كما وعدنا سابقا وقدم لي عدة روابط سأضعها أسفل هذه التدوينة، وتعتبر فرق موزيلا الأهم في موزيلا بحد ذاتها لأن المجتمع الآن يركز فقط على فريق التعريب والتسويق وهو ما يجعل الأفراد أو المجتمع عموما في حالة إرتباك للقرارات المفاجئة مثل سحب فيرفكس أو أس والعديد من القرارات، لأنه لا يوجد أفراد داخل الفرق الأخرى من موزيلا، هذا الموضوع جر الإجتماع إلى الحديث عن هذه النقطة بالذات وتسبب في طرح السؤال ” هل نحن نقوم بالعمل الكافي لمعرفة الجديد حول موزيلا ؟  ”، تداول الحضور عدة أجوبة وأعطى أمين مثالا عنه كيف يمكنه الإطلاع على الجديد بصفة دورية. بعد هذا تحدث الحضور عن التحفيز وهل موزيلا تقوم بالكثير لتحفيز الأفراد خاصة في المجتمع العربي وهل هي تساعدهم في مشاريعهم، صحيح لم أكن مع الحضور للحديث عن هذا لأنني أظن أنه خروجا عن النقاط المطروحة للحديث عنها وأيضا إذا تم البقاء على أسلوب الخروج سيأتي بعض الأشخاص ويطرحونا نقاطا لا يجب ان تطرح من أصلها وهي ما جعلت فيما سبق المجتمع ينهار كمجموعة  هذا كان رأيي. 
اللقاء دام لأكثر من ساعة ولم يتم التحدث عن النقاط التي طرحت في ورقة الإجتماع وتم تأجيلها للقاء القادم. ومن الأمور الجيدة جدا التي نراها هي أنك عندما ترى أفرادا من دول مختلفة تتحدث بالعربية قد إجتمعت في مكان واحد بدون أي شيء سوى من أجل التكنولوجيا والتطوع أظن أن هذا إنجاز حقيقي، لأنه فيما يحصل في دولنا أصبح الإجتماع من أجل الخراب فقط في حين هاهي هذه المجموعة كنموذج لشباب يريد تغيير الصورة السوداء التي خيمت على منطقتنا في الفترة الأخيرة يزرعون بذرة أمل في واقع أفضل وفي أناس يريدون حماية خصوصية الناس وتسهيل وتمكين الناس من إستخدام الأنترنات بشكل أفضل.
تسجيل للقاء لمن فاته : 

موقع مهم لمتابعة جديد موزيلا:
الملف المفتوح لملصق اللقاء ( الملف بصيغة PSD ) :

Arabic Mozillaتقرير الإجتماع الدوري الأول لمجتمع موزيلا العربي ليوم 09 أفريل 2016

تم يوم 04 أفريل 2016 من الساعة الرابعة إلى الخامسة مساءا بتوقيت الجزائر وتونس إجتماع ضم العديد من الأفراد من مجتمع موزيلا العربي وتميز بحضور أفراد من الجزائر، تونس ، مصر، الأردن وفلسطين. وتم الإجتماع على جوجل هنقاوت.

أهم ما خرج به هذا الإجتماع، الإتفاق على اللقاء القادم على أن يكون على الساعة 7 بتوقيت الجزائر تونس ( 9 بتوقيت الشرق الأوسط و 8 بتوقيت مصر ) وأيضا تم الإتفاق على ترك المشاكل الشخصية جانبا في سبيل إستعادة الفريق والرجوع للفكرة التي وجد عليها وهي ” جعل الانترنات مكانا أفضل للجميع “.
ومن جانب آخر قدم ممثلون عن المجتمعات الإقليمية ( مصر وتونس والأردن والجزائر وفلسطين ) حوصلت عن النشاطات التي قدموها، وتحدث مجتمع مصر عن الحدث التي تميزت به مصر في المدة الأخيرة وهي إدخال إحدى هواتف فيرفكس أو أس والمشكل الذي حدث في المسابقة التي نظموها مع شركة الإتصالات الراعية. وبالنسبة للمجتمع التونسي تحدث الممثل عن إعادة تهيئة للمجتمع بسبب فقدان العديد من العناصر في المدة الأخيرة. وبرز المجتمع الأردني بسبب نشاطه المكثف حيث تحدث الممثل عن القافلة التي يقومون بها ويجوبون بها الجامعات وأيضا عن ضغطهم على إحدى الجامعات لإضافة مادة جديدة للمقرر تخص موضوع التواصل بين الأجهزة ( ضمن أنترنات الأشياء). وعن المجتمع الجزائري تحدث عن ندرة الأنشطة في الستة أشهر الماضية بسبب قلة الأفراد في المجتمع وبعد المسافة بينهم ومشاكل أخرى يعانون منها. من جانب آخر تماما قدم أمين من تونس فكرة إدماج أفراد المجتمع العربي فيما يعرف بفرق موزيلا وستكون الإجتماعات الأخرى أكثر تفصيلا عن هذه الفكرة. وفي الختام تحدثت أنا وليد من الجزائر عن مشكلة تحدث للكثير من المستخدمين في المدة الأخير وتخص متصفح موزيلا فيرفكس على وينداوز حيث تم مناقشة هذا الأمر.
ومن اليوم دعوة لكل الفاعلين من الدول العربية والناطقة بالعربية لحضور الإجتماع الدوري الثاني يوم السبت 23 أفريل 2016.
 

SUMO BlogWhat’s Up with SUMO – 28th April

Hello, SUMO Nation!

Did you know that in Japanese mythology, foxes with nine tails are over a 100 years old and have the power of omniscience? I think we could get the same result if we put a handful of SUMO contributors in one room – maybe except for the tails ;-)

Here are the news from the world of SUMO!

Welcome, new contributors!

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

Contributors of the week

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

Most recent SUMO Community meeting

The next SUMO Community meeting

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

Community

Social

Support Forum

Knowledge Base & L10n

  • Hackathons everywhere! Find your people and get organized!
  • We have three upcoming iOS articles that will need localization. Their drafts are still in progress (pending review from the product team). Coming your way real soon – watch your dashboards!
  • New l10n milestones coming to your dashboards soon, as well.

Firefox – RELEEEEAAAAASE WEEEEEEK ;-)

What’s your experience of release week? Share with us in the comments or our forums! We are looking forward to seeing you all around SUMO – KEEP ROCKING THE HELPFUL WEB!

Air MozillaWeb QA Weekly Meeting, 28 Apr 2016

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

Air MozillaReps weekly, 28 Apr 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.

Meeting NotesMobile: 2016-04-27

Schedule

Friends of the Mobile Team

Give a shoutout/thanks to people for helping fix and test bugs. Make sure friends also get awarded a badge. New contributors are highlighted in bold. Want to update this section?

  • Jan Henning [:JanH] fixed bug 1218317 – Size of files not displayed in “about:downloads” after restarting Firefox
  • Jan Henning [:JanH] fixed bug 1264717 – Add extended session store debug logging (behind a pref)
  • Mark Capella [:capella] fixed bug 1257843 – Probe to measure when user enters text selection UI
  • Mark Capella [:capella] fixed bug 1265750 – Some word cannot be selected via long pressing
  • Mark Capella [:capella] fixed bug 1267383 – Followup Telemetry from Bug 1257843, Text Selection Probe
  • Mike Kaply [:mkaply] fixed bug 1266086 – Search: Add support for :hidden in list.txt
  • Mike Kaply [:mkaply] fixed bug 1266740 – Resync search plugins for 4.0
  • Rutuja fixed bug 1115006 – Use Downloads.getSystemDownloadsDirectory to get the download directory for about:memory
  • Tristan fixed bug 1178722 – Select with multiple selection – options visibility not respected in popup
  • Tushar Saini (:shatur) fixed bug 1250387 – Kill GeckoConnectivityReceiver.java and improve GeckoNetworkManager.java

Team Updates

Android platform

snorp, jchen, rbarker, esawin, droeh

Android front-end

margaret, liuche, mcomella, sebastian, ahunt, grisha

iOS

bkmunar, bnicholson, fluffyemily, fpatel, jhugman, sleroux, st3fan

Builds & Releases
  • Fourth 4.0 TestFlight build is out. Please join the FIrefox Beta at http://bit.ly/1MxpjiC – These are ‘when things change’
    • Includes Telemetry Core Ping – http://cl.ly/1m431o2Q2w0l
    • Bug 1268033 – Firefox becomes unresponsive when updating to 4.0.0b4
Development Updates / Work in Progress
  • [fluffyemily] menu landed (master) – https://mozilla.invisionapp.com/share/MB5WYXM7F#/screens
  • [fluffyemily] starting work on surfacing sync status in settings and status bar
  • [sleroux] Updated tab tray to include new toolbar along with Emily’s menu work
  • [sleroux] Fixing up lingering issues with passcode and login screens
  • [farhan] Working on third party search
  • [bnicholson] Security fixes
  • [bnicholson] Core ping started

UX

tecgirl, antlam, gemma, (sevaan)

Click here for individual status updates

QA

Feature Focus


Details

  • Wednesdays – 9:30am Pacific, 12:30pm Eastern, 16:30 UTC
  • Dial-in: conference# 99998
    • People with Mozilla phones or softphones please dial x92 Conf# 99998
    • US/Toll-free: +1 800 707 2533, (pin 369) Conf# 99998 (max 48 users at any time)
    • US/California/Mountain View: +1 650 903 0800, x92 Conf# 99998
    • US/California/San Francisco: +1 415 762 5700, x92 Conf# 99998
    • US/Oregon/Portland: +1 971 544 8000, x92 Conf# 99998
    • CA/British Columbia/Vancouver: +1 778 785 1540, x92 Conf# 99998
    • CA/Ontario/Toronto: +1 416 848 3114, x92 Conf# 99998
    • UK/London: +44 (0)207 855 3000, x92 Conf# 99998
    • FR/Paris: +33 1 44 79 34 80, x92 Conf# 99998
    • sip:conf99998@mozilla.com or, for some clients, sip:conf99998@anonsip.scl3.mozilla.com (may not work for all rooms)
    • Gmail Chat (requires Flash and the Google Talk plugin): paste +1 650 903 0800 into the Gmail Chat box that doesn’t look like it accepts phone numbers
    • SkypeOut is free if you use the 800 number
  • irc.mozilla.org #mobile for backchannel
  • Mobile Vidyo Room

Air MozillaPrivacy Lab - April 2016 - Encryption vs. the FBI

Privacy Lab - April 2016 - Encryption vs. the FBI Riana Pfefferkorn, Cryptography Fellow at the Stanford Center for Internet and Society, will talk about the FBI's dispute with Apple over encrypted iPhones.

Air MozillaPrivacy Lab - April 2016 - Encryption vs. the FBI

Privacy Lab - April 2016 - Encryption vs. the FBI Riana Pfefferkorn, Cryptography Fellow at the Stanford Center for Internet and Society, will talk about the FBI's dispute with Apple over encrypted iPhones.

Mozilla Add-ons BlogJoin the Featured Add-ons Community Board

Are you a big fan of add-ons? Think you can help help identify the best content to spotlight on AMO? Then let’s talk!

All the add-ons featured on addons.mozilla.org (AMO) are selected by a board of community members. Each board consists of 5-8 members who nominate and select featured add-ons once a month for six months. Featured add-ons help users discover what’s new and useful, and downloads increase dramatically in the months they’re featured, so your participation really makes an impact.

And now the time has come to assemble a new board for the months July – December.

Anyone from the add-ons community is welcome to apply: power users, theme designers, developers, and evangelists. Priority will be given to applicants who have not served on the board before, followed by those from previous boards, and finally from the outgoing board. This page provides more information on the duties of a board member. To be considered, please email us at amo-featured@mozilla.org with your name, and tell us how you’re involved with AMO. The deadline is Tuesday, May 10, 2016 at 23:59 PDT. The new board will be announced about a week after.

We look forward to hearing from you!

Air MozillaThe Joy of Coding - Episode 55

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

Air MozillaApril 2016 Speaker Series: When Change is the Only Constant, Org Structure Doesn't Matter - Kirsten Wolberg

April 2016 Speaker Series: When Change is the Only Constant, Org Structure Doesn't Matter - Kirsten Wolberg Regardless of whether an organization is decentralized or command & control, large-scale changes are never simple nor straightforward. There's no silver bullets. And yet, when...

Air MozillaSuMo Community Call 27th April 2016

SuMo Community Call 27th April 2016 This is the sumo weekly call We meet as a community every Wednesday 17:00 - 17:30 UTC The etherpad is here: https://public.etherpad-mozilla.org/p/sumo-2016-04-27

Meeting NotesSeaMonkey: 2016-04-26

Agenda

  • Who’s taking minutes? -> Ratty
  • Nominees for Friends of the Fish Tank:
    • Ewongwho got the Linux32/Linux64 nightlies out just in time for the central->aurora release train.

Action Items

(who needs to do what that hasn’t been recorded in a bug)
We should assign people to the open items.

NEW

OPEN

  • Google API key for Safe Browsing. Ewong/Callek about getting it loaded onto the build machines.
    • Mcsmurf will generate an updated key and pass it to Ewong who will then upload it to our build machines.
    • Update from Ewong: Hasn’t received the key from mcsmurf yet.
  • IanN to review members mailing-list and council appointments (IanN to talk to mcsmurf about members list)
    • TODO: Add Adrian Kalla to RelEng team.

CLOSED

Status of the SeaMonkey Buildbot Master and Tree

Previously on Agents of SHIELD:

A) create an instance of the current Buildbot-based system specifically for Thunderbird; or
B) port Thunderbird to a new system using Taskcluster and Amazon Machine Images (AMIs).
We believe porting Thunderbird to a new system is the best plan of these two by a wide margin. Buildbot is old and patched and not easy to understand. That system would require physical rather than virtual machines. Firefox is also moving to Taskcluster, which is a new build and release automation system being written for Mozilla particularly to meet the needs of products with complex requirements like Firefox and Thunderbird. We imagine the cost of operating a Taskcluster system, in both money and person-hours, would be much less. This is good for Thunderbird in the long term, as it makes the system much more manageable.
    • Callek thinks that a (scaled down) Taskcluster system would be appropriate for SeaMonkey. We have been piggy-backing on Mozilla infrastructure since the begining. If/When the Thunderbird Project gets it’s own infrastructure, it makes sense for SeaMonkey to tag along. One problem is – does Thunderbird want us tagging along? The SeaMonkey project does have the financial resources to pay for our share of AMI.
  • Chatzilla locale generation: Frg investigating why the L10n xpi isn’t being added into the installer.

Routine reports:

  • Notes:
    • Comm-Central just broke. nsRunnable has benn renamed bug 1265927. MailNews bug 1265927 has been opened to fix this problem. Everything else compiles.
    • comm-* branches are still closed due to the merges. Windows32 and OSX are still not building though.
    • Callek: Regarding the windows systems, sadly no progress yet. I’m hopeful we can get done sooner than later, I’m realistic expecting it won’t be until January at earliest any time soon.
    • Ewong will set up a cron job to do semi regular builds on the loaner machine.
    • Windows nightly trunk builds are unavailable due to various bugs such as bug 1092468 and bug 1108970. Migrating our Windows builders to Win2008 and our compiler toolchain to VS2015 would likely solve this and other bustages. Ratty’ is currently reviewing these and other patches to make this happen.
    • There are also some upcoming changes to L10n build system in Q1 2015 (bug 1107635).
    • Even en-US builds have stopped again. The latest trunk nightlies were 2.45a1 dated 8-Mar-2016 for W32; 2.46a1 dated 26-Apr-2016 for L32 & L64, and 2.43a1 dated 6-Jan-2016 for Mac. ** bug 1083689 Langpacks aren’t updated when auto-updating SeaMonkey because they aren’t uploaded to AMO. The solution requires changes in SeaMonkey RelEng (and possibly AMO).
    • wrt bug 1155011, we already have a Soccoro token. The patches on bug 1155013 require approval and then pushed and the work-around patches backed out.
  • [26th April 2016]
    • [*All Trees*]
    • [comm-central]
    • [comm-beta, comm-release]
      • Linux*: Busted. Waiting for review on patches for c-b and c-r from bug 1190773.
      • OSX64: busted due to bug 1260362.
  • See RelEng page for the RelEng status history.

Release Train

  • SeaMonkey 2.40 is out.
  • We are skipping SeaMonkey 2.41 and 2.42 and going directly to 2.43 betas.
  • Backup plan in case we need it is to do some releases off comm-esr45. These will be 2.42.x releases.
    • [frg] I used 2.42 too since Beta 1. It is stable as 2.43, I backported Data Manager and a few other fixed bugs like Safe Browsing.
    • Need to check how to port L10n changes from SeaMonkey 2.43 to comm-esr. bug 1240738 tracks l10n changes that need uplifting to 2.42.x in case we build from 45.x ESR.
  • Merges were performed as scheduled on April 25 (mozilla-beta → release: April 15).
    • comm-release default has moved to SM 2.43.
      • We need is land bug 1266052 and bug 1265246 on comm-release in order to build 2.43.
      • If possible we should also land bug 1265181 and bug 1265326 but there is some bit rot preventing these from applying properly. “Please apply patches from bug 1260697 and bug 1265170 first.”
    • comm-release and mozilla-release are now on 46.0.
    • comm-esr45 and mozilla-esr45 are current in preparation of TB 45.1 release.
    • lots of comm-beta bug fixes landed on THUNDERBIRD451b1_2016042214_RELBRANCH (for 45.1, mirroring comm-esr45) but not the default branch
      • changesets landing on relbranch only which contain non-mail/non-calendar diffs: ff7bcfb79ba3, 83fd96b13074, 3497b6426758, ff8a2e5bcaaf, 2242b156ded5
      • not entirely clear how this will affect building 2.42/2.43 off comm-release after the merge
      • Ratty: After the merge on 2016-04-25 comm-beta is now at Gecko 47b which corresponds to SeaMonkey 2.44b so everything should match up. Everything in THUNDERBIRD451b1_2016042214_RELBRANCH should be on the BETA_BASE_20160425 tag.
  • Useful Firefox Release Schedule link: Releases Scheduling

Extensions and Plugins Compatibility Tracking

  • See Basics page. Please only list current changes here.
  • Addon Compatibility Listings (outdated), altertative list started (currently Rainer Bielefeld is the only active maintainer)
  • There is still no matching Lightning version for 2.43 and since Thunderbird skipped the TB 46.0 beta, there may not be any (Lightning 4.8b1).
  • We are looking for a new place to host the Addon Compatibility Listings for the Add-on Converter in order to make it easy to maintain and to serve as the main database for the AMO browsing extension in the future. The details are in this post.
  • Firefox & Thunderbird Add-on Converter for SeaMonkey http://addonconverter.fotokraina.com/
    This tool goes a little further beyond simply modifying install.rdf – it also identifies a few more other things in the code that are Firefox or Thunderbird specific and attempts to change them. Of course, not all extensions can be ported so easily to SeaMonkey since there’s only so much an automated tool like that can do.
    • Lemon Juice continues to improve his already impressive Addon Converter. The source is now available on GitHub [1].
    • looking for a better(?) home for extension-converter pages, along with a way to track successful and conversion-failed add-ons, and respective integration into SeaMonkey by add-on or manager overlay [2], bug 1145026.
    • Rainer Bielefeld will no longer update the list of Firefox addons that have been successfully converted by the Addon Converter. — Rrbd (talk) 09:59, 16 August 2015 (PDT)
    • Ratty filed bug 1130390 to add a link on seamonkey-projects.org to the Firefox & Thunderbird Add-on Converter for SeaMonkey.
    • The AMO Browsing for SeaMonkey extension, which makes AMO pages a lot more SeaMonkey-friendly, seems mature. (It had 9 successive revisions between 27 September and 3 October, and no change since then.) It was developed by LemonJuice (of Add-on Converter fame), and Tonymec, who tested it and now uses it, supports it enthusiastically. The author proposes to add it as a “built-in extension” besides ChatZilla, DOMi and the like. What do you think? (See also Bug 1145026: AMO Add-On-Descriptions: Add link function leading to SeaMonkey add-on-converter and filling URL input pane; the extension actually does much more than the bug’s Summary implies: for instance it gets rid of the stupid “You need Firefox 10 or later” popups.
  • The Thunderbird team is currently shipping Lightning with Thunderbird. IanN is working on shipping Lightning with SeaMonkey. Related bugs:
    • bug 516026 Integrate Lightning Into SeaMonkey by Default and Ship SeaMonkey with Lightning Enabled
    • bug 1130854 Package Lightning with Thunderbird for c-c and c-a builds.
    • bug 1113183 Integrate Lightning Into Thunderbird by Default.
    • bug 1130852 Add opt-in dialog to promote Calendar integration [Thunderbird].

2.x (Last, Current, Next)

2.40

open tracking (0)
tracking requests (5)
targeted (2)
fixed (14)

2.Next
  • We need someone to work on porting sync 2.0 over to replace legacy sync code. Frg might look into this if he doesn’t have anything more urgent to work on.
    See: New Firefox Sync has landed in Firefox Nightly. Tracked in:
    • bug 998807 Sync account creation or device pairing fails with exception in BrowserIDManager.
    • bug 1003434 Add support for about:sync-progress.
  • Stalled. Needs a kick.
    • bug 815954 Click-to-Play: Port bug 812562 (click-to-play blocklisted plugins: reshow urlbar notification as with normal click-to-play).
    • bug 476108 GetShortPathNameW fails under some NTFS junctions [patchlove].
  • Current breakages (have patches need review and check-in):
  • Mozilla-central bugs that affect us:
    • Firefox has changed the styles of several Toolkit pages to their “in-content” designs which however look very out of place in our current classic and modern themes.
      • about:config Fixed in SeaMonkey bug 1222816.
      • about:privatebrowsing Fixed in SeaMonkey [bug 1192276
        • Subsequent to Chameleon, Firefox developers have again redesigned the about:privatebrowsing UI to include UI for tracking protection. We should look into picking any changes we like.
      • Affected pages that need to be fixed are about:addons [bug 1222817], about:support [bug 1222818] (looks ok in Modern but painful in the Default theme).
      • Toolkit meta bug for about:* pages: bug 1097111 – SeaMonkey tracking in bug 1133743.
      • Modern may need updating as IDs are changing, Default needs forking if we want to roll back to previous styles.
    • A lot of these bugs are due to mozilla-central switching from synchronous APIs to Asynchronous APIs.
    • bug 566746 (asyncFormHistory) Form history should use asynchronous storage API. Tracked in:
      • bug 912031 Use Asynchronous FormHistory.jsm in place of nsIFormHistory2 in Suite. Currently being worked on by IanN.
    • The C++ downloads manager backend nsIDownloadManager is being decommissioned. Firefox and Thunderbird have migrated to jsdownloads.
    • bug 825588 Asynchronous JavaScript API for downloads and bug 851471 Decommission nsIDownloadManager. Tracked in:
      • bug 888915 Move SeaMonkey to the new JavaScript API for downloads when nsIDownloadManager is decommissioned. Neil has a WIP patch on hand.
    • We’ve picked up he default for security.tls.version.min from Mozilla Core, but security.tls.version.fallback-limit is new. So we need to consider adding the latter to our preferences UI (bug 1123673) WONTFIX.
      • Rsx11m filed bug 1267631 Update the SSL/TLS Preference Pane once TLS 1.3 is implemented and ready for prime time.
  • bug 1198340 The carousel within Add-On Manager can be used for SeaMonkey specific content. TO DO: Find out what sort of format AMO needs for the carousel. Get our webdev person to create necessary content. Submit content for upload to AMO.
    • Unfortunately nobody knows exactly how addons.mozilla.works because there’s no full time developer working on AMO. Ratty was given bug 1009759 as an example. So now we need someone who knows python+django.
    • About specific aspects of this problem, see: bug 1230796, bug 1230804, bug 1230806 and maybe more.
    • [Ratty] The url for the discovery pane is set in a pref. Instantbird points the URL to a chrome XUL document. If we do this we don’t have to worry about the python stuff.

Feature List, Planning

Bug statistics for the last two (full) weeks: 17 new, 16 fixed, 9 triaged.

  • medium triaging effort, below-average number of new bugs files.

Open reviews/flags:
60 review
5 super-review
2 ui-review
11 feedback

  • See Feature List page for major wanted/needed features.
  • TODO:
    • The toolkit help viewer is going away. Neil is working on resuscitating the old XPFE help viewer which apparently has more features.
      • Toolkit Help Viewer bugs will be moved to the SeaMonkey product. This is tracked in bug 1243203.
      • Neil is AFK for the forseeable future so we need to plan to import the Help Viewer code to comm-central if they remove it before Neil can come around to fix things.
    • Remove debugQA from Seamonkey or overhaul it removing obsolete items. See discussion in bug 1258226
    • Encrypted Media Extensions / Digital Rights Management
      • bug 1127784 added a preference and UI to enable/disable playback of Encrypted Media Extensions, with UI seen in non-release builds only
      • More work appears to be needed to download necessary 3rd-party Content Decryption Modules, some UI can probably be ported from Firefox
  • Mozilla wants to Move Thunderbird off MoCo infrastructure and onto their own, which will likely affect SeaMonkey as well
  • Fundamental core features Firefox/Mozilla plans to remove:
    • bug 1222546 Product plan: remove support for heavyweight themes
      • If effective for all Toolkit applications, would render most 3rd-party themes defunct.
      • No sufficiently plausible specifics provided ‘why’ full themes ‘must’ no longer be supported.
      • No clear statements by the Firefox drivers, bug has been restricted for comments since.
      • Discussion diverted to https://discourse.mozilla-community.org/t/planning-the-future-of-complete-themes/
      • See bsmedberg’s post #14, targeted for Gecko 49 (April 2016).
      • May prohibit Modern theme being shipped with or installed in SeaMonkey.
      • Removal is “decided” without any clear alternative envisioned.
  • What about declaring linux-x86_64 builds found at seamonkey-project.org and at ftp.m.o as “official” ?Tonymec (talk) 13:56, 7 October 2015 (PDT)
    • On October 7 two people asked in #seamonkey at a few minutes’ interval when there would be “official” 64-bit SM builds for Linux. I pointed them to the x86_64 release at the bottom of the “Other languages” release page for 2.38 and to the x86_64 2.40a2 aurora & 2.41a1 trunk builds at the bottom of the ftp.m.o nightly/latest-comm-* pages but they said these were not “official”.
    • How are we going to get out of the following vicious circle? 64-bit builds are not “official” because too few users, and users don’t install them (some even prefer compiling their own) because they aren’t “official”.
    • Maybe change the online documentation? (perhaps as part of bug 1208822 “System Requirements page needs update”?)
    • [ewong:] what’s the prerequisites of making the Linux64 builds ‘official’ aside for the issue of getting the tests done for Linux64; but our testing infrastructure is busted. bug 1209378

Roundtable – Personal Status Updates

Neil has a new job and doesn’t have any time to devote to SeaMonkey. Please re-direct review requests to Ratty or IanN who will redirect elsewhere if needed.

Status Updates from developers – what are you working on, what’s the progress, any other comments? (feel free to add yourself to the list if your name is missing and you have interesting status).

ewong
frg

Waiting for review / branch check in or feedback:

  • bug 1055954 popup exceptions are not added. Updated patch for popup menu.
  • bug 1223741 Updating to 2.39B allow images not working. Follow up Data Manager change to allow chrome, files and other schemes to not cause errors still needs some work and will get a new bug number.
  • bug 1224437 No “Publishing completed” status after green tick, publishing does not terminate
  • bug 1265130 Bug 1265130 bustage in ‘make package’ for extensions due to removal of MOZ_OMNIJAR. Ratty and I are in disagreement/unsure which path to take. I would say remove the variable and the flat packing code. TB and FF are doing the same. 2.45+ suite will not build without a fix for this.

Working on:

  • bug 1258226 Remove debugQA from SeaMonkey. Input please if this should be up for reviewed if we should keep debugQA in it’s current state. A little on the back burner but not forgotten
  • bug 1238767 Localized Suite build fails in DebugQA: Stalled. I think the l10 build system might be responsible and tries to pick up files from the wrong location. Adrian Kalla thinks I need to do an l10 merge only. I disagree because the xpi only explicitly supports en-US builds.
  • bug 1256714 Aero Peek not working. Digged deeper into it. Works for everything but websites with a zoom factor < 100%. Might be a backend bug with scale.

Titbits:

  • Will try to work on Sync next as promised.

Other things on my mind:

  • –enable-optimize=-O2 should be used for Windows release builds. Linux gcc –enable-optimize optimizes for speed. With VS2013/VS2015 it optimizes for size. Resulting O2 Windows build feels a lot snappier.
  • bug 1244467 Localized Builds: ChatZilla language pack missing from SeaMonkey installer package will not be fixed by bug 1210791. mozmake installer under Windows includes the l10n xpi in local builds.
  • When looking in Bugzilla what to do next I found a lot of in my eyes obsolete bugs in a short time. Who can close them. Tracking them in a meta bug? A little on the backburner too but also not forgotten.
Comment from 03/29: I am working on this problem. We have lots of UNCONFIRMED Bugs, many of them old /obsolete. But in my systematic review (may be 3 … 5 each week) I find (approximately) 25% of these old bugs real bugs, half of them Core half of them really SeaMonkey bugs. With this speed review still will take 2 more years or so, but I think it’s better than a mass-close. — Rrbd (talk) 10:53, 29 March 2016 (PDT)

Some more precise statistics here in the unofficial blog. — Rrbd (talk) 22:31, 29 March 2016 (PDT)
IanN
  • Usual localising, testing, reviewing, commenting and approving.
  • Fixed:
  • Fixed for c-c:
  • Fixed for m-c:
  • Fixed for m-i/fx-i:
  • Pending tree opening:
  • Pending approval for check in:
  • Pending checkin for dependent bugs:
    • bug 653386 Consider overriding netErrorApp.dtd rather than netError.dtd
  • Checked in pending review:
  • Waiting for feedback/review/information:
    • bug 1061348 Port |bug 575283 – Cleanup mozconfig files on all platforms| to SeaMonkey
    • bug 1163441 Use FINAL_TARGET_FILES and DIST_FILES for Thunderbird themes
  • Fixing review comments before checkin:
    • bug 757230 When using add button for permissions in Data Manager set a displayHost
    • bug 798147 Switch to correct pref pane if pref window already open
  • Working on:
    • bug 1101381 Printing throws error: DEPRECATION WARNING: getWebBrowserPrint is now deprecated, and fully unsupported for multi-process browsers. Please use a frame script to get access to nsIWebBrowserPrint from content
    • bug 1190179 Port |bug 1067325 – Add an option to view html source in a tab| to SeaMonkey
    • bug 1051642 Allow for flat chrome format when packaging extensions
    • bug 943335 [TB] Update icons used in searchplugins (Yahoo, eBay, Wikipedia, Amazon, Bing, Twitter)
    • Various SM Council documents.
    • bug 606683 Allow customization of toolbar in Composer and MailNews Composition
    • bug 639690 [META] Re-arrange code between editor and editorOverlay
    • bug 773979 [META] Switch to new drag and drop api in SeaMonkey
    • bug 657234 Move pasteQuote and pasteNoFormatting into contentAreaContextOverlay
    • File/Folder selection in windows.
  • To Do:
    • bug 639395 Get cmd_fontSize to reflect current state of selected content / content at caret.
    • Prefs-in-a-tab.
    • Create FAQ for Friends of the Fish Tank.
    • Help get composer standalone builds working with –enable-tests.
Rainer Bielefeld

I will not participate.

currently working on
ToDos
  • I will submit a bigger number of Bugs or enhancement requests for SeaMonkey Help and contribute fixes, hoping to find some new volunteers to add fixes to Help files.
Ratty

Fixed:

  • bug 1222816 Restore about:config UI (Config Editor) to old appearance by overriding Toolkit’s Project Chameleon styles.
  • bug 1259928 “View Selection Source” throws TypeError: args is null Source File: chrome://global/content/viewPartialSource.js.
  • bug 1261685 All Bookmarks functionality broken due to Toolkit bug 1257599 which renamed ‘Unsorted Bookmarks’ into ‘Other Bookmarks’.

In Progress:

  • Not much. Concentrating on doing reviews this current cycle.

TODO:

  • bug 1236982 Simplify SeaMonkey CSS for Lightning toolbar buttons.
  • bug 1174466 Popup blocker: Need to allow popups opened by loaded javascript: URIs from the location bar. Regression from bug 896947.
  • bug 1116223 Thunderbird: Move overrides to default theme chrome.manifest.

Other stuff:

  • Did some reviews and approvals.
  • Bug triage and Bug discussions.
  • Usual end user support and PR in newsgroups and Mozillazine.
rsx11m

Pushed to comm-central,
landed on comm-aurora (before the merge) and comm-esr45,
waiting for comm-release approval:

  • bug 1265246 Move Thunderbird-specific change of editor.CR_creates_new_p default from composer.js to all-thunderbird.js override.
    • would still need to land on SeaMonkey’s release branch on comm-release for 2.42 and/or 2.43, unless 2.42.1 is the next release off comm-esr45.
    • fall-out from bug 330891 where Thunderbird changed composer.js default, patch reverts that change

Pushed to comm-central (before the merge):

Waiting for reviews:

  • bug 1265534 Make editor.CR_creates_new_p work for Mail & News composition as well
    • adopts new “compose HTML in Paragraph mode” feature from bug 330891 without making it the default

May need retargeting:

  • bug 1123673 Consider exposing security.tls.version.fallback-limit in SSL prefpane to accommodate SSL 3.0 legacy sites.

Other:

  • Bug triage, testing, and commenting for SeaMonkey and MailNews Core.
  • End-user information and discussion on MozillaZine.

Any other business?


SeaMonkey Meeting Details

Air MozillaBay Area Rust Meetup April 2016

Bay Area Rust Meetup April 2016 Rust meetup on the subject of operating systems.

WebmakerAddressing the Internet of Things – IoT Community Call

The Internet of Things (IoT), simply defined, is the development of everyday objects that are connected to the internet, allowing them to send and receive data. With a proud history of protecting and contributing to the Internet, Mozilla is cultivating a professional learning community who can shape IoT with Mozilla’s values in the decade to come.

The SelfReflector IoT Mirror

“Richard in Mirror.” The SelfReflector IoT Mirror. Photo provided by Jon Rogers.

Last week, we explored the topic of IoT with an open community discussion about how Mozilla is addressing this topic, some research informing our plans, what we’ve learned so far, and where we’re going.

Leading the discussion was Mozilla Foundation representative Michelle Thorne, located in Berlin, Germany. Featured guests were Rikta Krishnaswamy, user researcher from Quicksand in Bangalore, India and Jon Rogers, professor of product design from the University of Dundee, Scotland.

Here are a few highlights from the discussion:

  • “Bricking” – When connected items lose functionality (from an update or malfunction, they become “bricks”. Many items are now connected but when they lose functionality it can disrupt daily life. The Nest thermostat malfunction is one example.
  • Co-designing IoT – bringing “ordinary” people into the design process IS NOT OPTIONAL. It’s a new role for the designer – not just to physically build the thing, but to account for input/feedback along the way. To make it relevant to the daily life. It’s a messy world out there – and ignoring it by only making smooth and shiny objects isn’t a responsible nor human way to respond.
  • Human-centered design research – It’s about opening up the process, and bringing the intended people who will use the tech into the design process at certain points. Let’s make the process more democratic.
  • User control – We don’t always have “on-off” switches with current IoT. We need to start with a vision about privacy. Our initial focus is on user control – agency, comfort, etc. – around personal data in the connected home.
  • A few great resources to explore:

You can watch the full recording below, or at http://mzl.la/comcall.

What’s next for Mozilla and the Internet of Things? Check out our Github Issue tracker to share ideas and opportunities. You can also tweet our IoT speakers any time at @ileddigital @rikta @thornet.

Join us for our next community call on May 28 11am HADT/ 1pm PT/ 4pm ET/ 8pm GMT/ 10pm SAST when we will dive into gigabit technology and how gigabit communities are leveraging advanced learning opportunities.

Air MozillaConnected Devices Weekly Program Review, 26 Apr 2016

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

Mozilla Add-ons BlogMigrating Popup ALT Attribute from XUL/XPCOM to WebExtensions

Today’s post comes from Piro, the developer of Popup ALT Attribute, in addition to 40 other add-ons. He shares his thoughts about migrating XUL/XPCOM add-ons to WebExtensions, and shows us how he did it with Popup ALT Attribute. You can see the full text of this post on his personal blog.

***

Hello, add-on developers. My name is YUKI Hiroshi aka Piro, a developer of Firefox add-ons. For many years I developed Firefox and Thunderbird add-ons personally and for business, based on XUL and XPCOM.

I recently started to research the APIs are required to migrate my add-ons to WebExtensions, because Mozilla announced that XUL/XPCOM add-ons will be deprecated at the end of 2017. I realized that only some add-ons can be migrated with currently available APIs, and
Popup ALT Attribute is one such add-on.

Here is the story of how I migrated it.

What’s the add-on?

Popup ALT Attribute is an ancient add-on started in 2002, to show what is written in the alt attribute of img HTML elements on web pages. By default, Firefox shows only the title attribute as a tooltip.

Initially, the add-on was implemented to replace an internal function FillInHTMLTooltip() of Firefox itself.

In February 2016, I migrated it to be e10s-compatible. It is worth noting that depending on your add-on, if you can migrate it directly to WebExtensions, it will be e10s-compatible by default.

Re-formatting in the WebExtensions style

I read the tutorial on how to build a new simple WebExtensions-based add-on from scratch before migration, and I realized that bootstrapped extensions are similar to WebExtensions add-ons:

  • They are dynamically installed and uninstalled.
  • They are mainly based on JavaScript code and some static manifest files.

My add-on was easily re-formatted as a WebExtensions add-on, because I already migrated it to bootstrapped.

This is the initial version of the manifest.json I wrote. There were no localization and options UI:

{
  "manifest_version": 2,
  "name": "Popup ALT Attribute",
  "version": "4.0a1",
  "description": "Popups alternate texts of images or others like NetscapeCommunicator(Navigator) 4.x, and show long descriptions in the multi-row tooltip.",
  "icons": { "32": "icons/icon.png" },
  "applications": {
    "gecko": { "id": "{61FD08D8-A2CB-46c0-B36D-3F531AC53C12}",
               "strict_min_version": "48.0a1" }
  },
  "content_scripts": [
    { "all_frames": true,
      "matches": ["<all_urls>"],
      "js": ["content_scripts/content.js"],
      "run_at": "document_start" }
  ]
}

I had already separated the main script to a frame script and a loader for it. On the other hand, manifest.json can have some manifest keys to describe how scripts are loaded. It means that I don’t need to put my custom loaders in the package anymore. Actually, a script for any web page can be loaded with the content_scripts rule in the above sample. See the documentation for content_scripts for more details.

So finally only 3 files were left.

Before:

+ install.rdf
+ icon.png
+ [components]
+ [modules]
+ [content]
    + content-utils.js

And after:

+ manifest.json (migrated from install.rdf)
+ [icons]
|   + icon.png (moved)
+ [content_scripts]
    + content.js (moved and migrated from content-utils.js)

And I still had to isolate my frame script from XPCOM.

  • The script touched nsIPrefBranch and some XPCOM components via XPConnect, so they were temporarily commented out.
  • User preferences were not available and only default configurations were there as fixed values.
  • Some constant properties accessed, like Ci.nsIDOMNode.ELEMENT_NODE, had to be replaced as Node.ELEMENT_NODE.
  • The listener for mousemove events from web pages was attached to the global namespace for a frame script, but it was re-attached to the document itself of each web page, because the script was now executed on each web page directly.

Localization

For the old install.rdf I had a localized description. In WebExtensions add-ons I had to do it in different way. See how to localize messages for details. In short I did the following:

Added files to define localized descriptions:

+ manifest.json
+ [icons]
+ [content_scripts]
+ [_locales]
    + [en_US]
    |   + messages.json (added)
    + [ja]
        + messages.json (added)

Note, en_US is different from en-US in install.rdf.

English locale, _locales/en_US/messages.json was:

{
  "name": { "message": "Popup ALT Attribute" },
  "description": { "message": "Popups alternate texts of images or others like NetscapeCommunicator(Navigator) 4.x, and show long descriptions in the multi-row tooltip." }
}

Japanese locale, _locales/ja/messages.json was also included. And, I had to update my manifest.json to embed localized messages:

{
  "manifest_version": 2,
  "name": "__MSG_name__",
  "version": "4.0a1",
  "description": "__MSG_description__",
  "default_locale": "en_US",
  ...

__MSG_****__ in string values are automatically replaced to localized messages. You need to specify the default locale manually via the default_locale key.

Sadly, Firefox 45 does not support the localization feature, so you need to use Nightly 48.0a1 or newer to try localization.

User preferences

Currently, WebExtensions does not provide any feature completely compatible to nsIPrefBranch. Instead, there are simple storage APIs. It can be used like an alternative of nsIPrefBranch to set/get user preferences. This add-on had no configuration UI but had some secret preferences to control its advanced features, so I did it for future migrations of my other add-ons, as a trial.

Then I encountered a large limitation: the storage API is not available in content scripts. I had to create a background script just to access the storage, and communicate with it via the inter-sandboxes messaging system. [Updated 4/27/16: bug 1197346 has been fixed on Nightly 49.0a1, so now you don’t need any hack to access the storage system from content scripts anymore. Now, my library (Configs.js) just provides easy access for configuration values instead of the native storage API.]

Finally, I created a tiny library to do that. I don’t describe how I did it here, but if you hope to know details, please see the source. There are just 177 lines.

I had to update my manifest.json to use the library from both the background page and the content script, like:

  "background": {
    "scripts": [
      "common/Configs.js", /* the library itself */
      "common/common.js"   /* codes to use the library */
    ]
  },
  "content_scripts": [
    { "all_frames": true,
      "matches": ["<all_urls>"],
      "js": [
        "common/Configs.js", /* the library itself */
        "common/common.js",  /* codes to use the library */
        "content_scripts/content.js"
      ],
      "run_at": "document_start" }
  ]

Scripts listed in the same section share a namespace for the section. I didn’t have to write any code like require() to load a script from others. Instead, I had to be careful about the listing order of scripts, and wrote a script requiring a library after the library itself, in each list.

One last problem was: how to do something like the about:config or the MCD — general methods to control secret preferences across add-ons.

For my business clients, I usually provide add-ons and use MCD to lock their configurations. (There are some common requirements for business use of Firefox, so combinations of add-ons and MCD are more reasonable than creating private builds of Firefox with different configurations for each client.)

I think I still have to research around this point.

Options UI

WebExtensions provides a feature to create options pages for add-ons. It is also not supported on Firefox 45, so you need to use Nightly 48.0a1 for now. As I previously said, this add-on didn’t have its configuration UI, but I implemented it as a trial.

In XUL/XPCOM add-ons, rich UI elements like <checkbox>, <textbox>, <menulist>, and more are available, but these are going away at the end of next year. So I had to implement a custom configuration UI based on pure HTML and JavaScript. (If you need more rich UI elements, some known libraries for web applications will help you.)

On this step I created two libraries:

Conclusion

I’ve successfully migrated my Popup ALT Attribute add-on from XUL/XPCOM to WebExtensions. Now it is just a branch but I’ll release it after Firefox 48 is available.

Here are reasons why I could do it:

  • It was a bootstrapped add-on, so I had already isolated the add-on from all destructive changes.
  • The core implementation of the add-on was similar to a simple user script. Essential actions of the add-on were enclosed inside the content area, and no privilege was required to do that.

However, it is a rare case for me. My other 40+ add-ons require some privilege, and/or they work outside the content area. Most of my cases are such non-typical add-ons.

I have to do triage, plan, and request new APIs not only for me but for other XUL/XPCOM add-on developers also.

Thank you for reading.

The Mozilla BlogUpdate to Firefox Released Today

The latest version of Firefox was released today. It features an improved look and feel for Linux users, a minor security improvement and additional updates for all Firefox users.

The update to Firefox for Android features minor changes, including an improvement to user notifications and clearer homescreen shortcut icons.

More information:

Air MozillaMartes mozilleros, 26 Apr 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...

Meeting NotesMozilla Project: 2016-04-25

  • Every Monday @ 11:00am Pacific Time (19:00 UTC)
  • http://air.mozilla.org/ to watch and listen
  • join irc.mozilla.org #airmozilla for backchannel discussion
  • Presenters only: Vidyo room “Brownbags”. Do not use this room if you’re not planning to speak.
  • Dial-in: conference# 8600
    • People with Mozilla phones or softphones please dial x92 Conf# 8600
    • US/Toll-free: +1 800 707 2533, (pin 369) Conf# 8600 (max 48 users at any time)
    • US/California/Mountain View: +1 650 903 0800, x92 Conf# 8600
    • US/California/San Francisco: +1 415 762 5700, x92 Conf# 8600
    • US/Oregon/Portland: +1 971 544 8000, x92 Conf# 8600
    • CA/British Columbia/Vancouver: +1 778 785 1540, x92 Conf# 8600
    • CA/Ontario/Toronto: +1 416 848 3114, x92 Conf# 8600
    • UK/London: +44 (0)207 855 3000, x92 Conf# 8600
    • FR/Paris: +33 1 44 79 34 80, x92 Conf# 8600
    • sip:conf8600@mozilla.com or, for some clients, sip:conf8600@anonsip.scl3.mozilla.com (may not work for all rooms)
    • Gmail Chat (requires Flash and the Google Talk plugin): paste +1 650 903 0800 into the Gmail Chat box that doesn’t look like it accepts phone numbers
    • SkypeOut is free if you use the 800 number
    • If you plan on presenting, please join the Vidyo BrownBags 20 minutes prior to the start of the meeting and announce to the A/V Technicians that you will be speaking so that they can confirm your Audio and Video.

All-hands Status Meeting Agenda

Items in this section will be shared during the live all-hand status meeting.

Friends of Mozilla

Upcoming Events

Monday, 25 April
Wednesday, 27 April

Speaker: David Slater, San Francisco

Monthly Speaker Series: When Change is the Only Constant…

  • Time: 10am PT / 13:00 ET / 18:00 UTC
  • Coordinates: Mozilla SF + Air Mozilla
  • Topic

While it may be true in tech that “change is the only constant,” some changes are bigger than others.

As a leader of major change efforts at PayPal, Salesforce and Charles Schwab, Kirsten Wolberg has moved global organizations to agile development, helped change the overall ownership of her organization and more. She’ll draw off these experiences to provide perspectives on how we might manage the changes happening at Mozilla.

Weekly Bug Verification Day

April Privacy Lab – Encryption vs. the FBI

  • Speaker: Riana Pfefferkorn
  • Time: 6-8pm PT
  • Location: DG717, 717 Market Street #100, San Francisco, CA
  • RSVP: Eventbrite
  • Will be recorded on Air Mozilla
Saturday, 30 April

Project Status Updates (voice updates)

Connected Devices

READ ONLY:

For updates and information on Connected Devices Projects, please visit: https://wiki.mozilla.org/Connected_Devices

Also, tune in every Tuesday morning @10am pst on airmo for public weekly updates on each of our projects! (Weekly agendas found here)

Speakers

The limit is 3 minutes per topic. It’s like a lightning talk, but don’t feel that you have to have slides in order to make a presentation. If you plan on showing a video, you need to contact the Air Mozilla team before the day of the meeting or you will be deferred to the next week. The meeting is streamed in a 4:3 format in order to allow for split screen. If your slides are 16:9 “widescreen” format, please indicate in the “Sharing” column below.

Presenter Title Topic Location Sharing Media More Details
Who Are You? What Do You Do? What are you going to talk about? Where are you presenting from? (Moz Space, your house, space) Will you be sharing your screen? (yes/no, 4:3 or 16:9) Links to slides or images you want displayed on screen Link to where audience can find out more information
Gervase Markham and Mark Surman Gerv is a Policy Engineer, and Mark is Executive Director of the Mozilla Foundation Thunderbird Future: Status Update Gerv: remote via Vidyo; Mark: Toronto office No None mozilla.governance post, Mark Surman blog post
Andre Vrignaud Games Strategist GDC 2016 Update Remote, Seattle WA No https://docs.google.com/presentation/d/1AZwNpSHnI3wVxmSxC1SaD5R8G0pj-knjireAf2SoEz0/edit#slide=id.p

Welcome!

Let’s say hello to some new Mozillians! If you are not able to join the meeting live, you can add a link to a short video introducing yourself.

Introducing New Volunteers

New Volunteer Introduced by Speaker location New Volunteer location Will be working on
Who is the new volunteer? Who will be introducing that person? Where is the introducer? Where will the new person be contributing from? What will the new person be working on?

<meta>

Notes and non-voice status updates that aren’t part of the live meeting go here.

Status Updates By Team (*non-voice* updates)

Engagement

about:communityFirefox 46 new contributors

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

SUMO BlogGet inspired! Reaching 100% SUMO Localization with the Czech team

Hey there, SUMO Nation! We’re back to sharing more awesomeness from you, by you, for all the users. This time I have the pleasure of passing the screen over to Michal, our Czech locale leader. Michal and his trusted team of Czech l10ns reached all the possible KB milestones ever and are maintaining the Czech KB with grace and ease. Learn how they did it and get inspired!

The years 2015 and 2016 were a great success for our Czech localization team. We have grown in number, improved our suggestion & reviewing workflow, moved all projects to a single place (Pontoon) and finished all milestones for SUMO l10n – both for UI and articles. But there is much more that we gained when making all dashboards green than just “getting the work done”.

But who is the Czech team?

That’s a very good question. The Czech team has not been involved much in the global SUMO life. So, if you do not know us, let me introduce everyone.

  • First there is me ;) – Michal. I primarily focus on product localization, but “as a hobby” I am trying to help the SUMO heroes too.
  • Our biggest hero and record breaker Jiří! If you open any Czech article, he worked on it directly, or reviewed and polished it to perfection. His counter recently exceeded the number of 730 articles updated.
  • Miroslav is our long-time contributor and his updates and translations are considered approved in advance.
  • Tomáš does irreplaceable work keeping Kitsune UI localization in great shape, and he started that in the old ages of Verbatim.
  • I almost forgot our former leader Pavel. Many thanks to him for the outstanding work on both Kitsune UI l10n and the very first help articles as well.
  • I also want to highlight the contributions of other brave volunteers. Their updates and translation even a few articles helped us conquer our dashboard.

Nice to meet all of you, guys.

Thank you, SUMO! So, the story… At the end of last year, Michał looked closely on the locale statuses and assigned the milestones we should smash this year. Our milestone was to localize all articles globally. That was something I didn’t believe we can do easily. Even in February or March a new set of milestones appeared and the updated one for Czech reduced the “requirement” to localize 700 articles. Well, from that point in time, we cheated a little. ;)

As you may notice only 697 articles now. During the localization we noticed some articles were pretty outdated, containing links to pages that no longer exist, etc. So we’ve got in touch with the team, reported them and… they were magically archived. But do not think we are just bloody cheaters achieving milestones through asking for content deletion. No, we made almost 400 updates to all articles this year (50% of the total we’ve done in the whole 2015)!

The cooperation between us (localizers) and the SUMO team (Michał, Joni, Madalina, and others), I personally have found very beneficial. One one side, they put a huge effort in our support, introducing a new tool or explaining article content, as well as Firefox release notes and news. During the localization we read each article whole at least once or twice, so giving them feedback or suggesting updates is the smallest thing we can offer from our side.

Amazing! But you mentioned you learned something new too?

True. We learned that communication is very important. In the team, we learned to share new ideas on terminology and also opened a discussion on the theme of screenshots, which are our next target. Did you notice, there is no dedicated way to mark that your localization revision is missing localized screenshots? Oh, it’s quite simple in fact. We are adding a “[scr]” tag into the revision comment each time we have not had enough time to take localized screenshots, and only translated the article content. It’s very easy to filter them out in the “Recent revisions” list, once you have time and mood for some “screenshotting”.

Equally important is the communication outside the localization team. A lot of strings in the Kitsune UI would have been translated blindly without any consultation. Especially in the support forum areas, we haven’t been using those pages ourselves until the beginning of April (yes, we did forum support, too!).

In the light of our success, we do not want to rest on the laurels. It’s time to look forward – our screenshots are not perfect, and we are still dividing our efforts between articles and the Kitsune UI. I hope that Kitsune can support us in both areas a little more, e.g. there are no tools for finding the actual location of the strings, but that’s something we can help fix. We are actually quite new to Kitsune. But as it’s great to help people by bringing knowledge into your language, it’s also quite important to start a discussion, even if we might think the questions we have are trivial. Just do not be afraid to say what you think is important for the project.

Air MozillaConnected Devices Speakers and Open Forum

Connected Devices Speakers and Open Forum This is the Connected Devices Meetup where we will have 3 speakers presenting their slides or demos and answering questions.

SUMO BlogWhat’s Up with SUMO – 21st April

Hello, SUMO Nation!

Let’s get the big things out of the way – we met last week in Berlin to talk about where we are and what’s ahead of us. While you will see changes and updates appearing here and there around SUMO, the most crucial result is the start of a discussion about the future of our platform – a discussion about the technical future of SUMO. We need your feedback about it as soon as possible. Read more details here – and tell us what you think.

This is just the beginning of a discussion about one aspect of sumo, so please – don’t panic and remember: we are not going away, no content will be lost (but we may be archiving some obsolete stuff), no user will be left behind, and (on a less serious note) no chickens will have to cross the road – we swear!

Now, let’s get to the updates…

A glimpse of Berlin, courtesy of Roland

Welcome, new contributors!

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

Contributors of the week

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

Most recent SUMO Community meeting

The next SUMO Community meeting

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

Community

Social

Support Forum

Knowledge Base & L10n

  • Hackathons everywhere! Well, at least in Stockholm, Sweden (this Friday) and Prague, Czech Republic (next Friday). Contact information in the meeting notes!
  • A guest post all about a certain group of our legendary l10ns coming your way – it will be a great read, I guarantee!
  • An update post about SUMO l10n coming over the weekend, because there ain’t no rest for the wicked.

Firefox

…and that’s it for today! We hope you enjoyed the update and will stick around for more news this (and next) week. We are looking forward to seeing you all around SUMO – KEEP ROCKING THE HELPFUL WEB!

Mozilla Web DevelopmentBeer and Tell – April 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.

emceeaich: Memory Landscapes

First up was emceeaich, who shared Memory Landscapes, a visual memoir of the life and career of artist and photographer Laurie Toby Edison. The project is presented as a non-linear collection of photographs, in contrast to the traditionally linear format of memoirs. The feature that emceeaich demoed was “Going to Brooklyn”, which gives any link a 1/5 chance of showing shadow pictures briefly before moving on to the linked photo.

lorchard: DIY Keyboard Prototype

Next was lorchard, who talked about the process of making a DIY keyboard using web-based tools. He used keyboard-layout-editor.com to generate a layout serialized in JSON, and then used Plate & Case Builder to generate a CAD file for use with a laser cutter.

A flickr album is available with photos of the process.

lorchard: Jupyter Notebooks in Space

lorchard also shared eve-market-fun, a Node.js-based service that pulls data from the EVE Online API and pre-digests useful information about it. He then uses a Jupyter notebook to pull data from the API and analyze it to guide his market activities in the game. Neat!

Pomax: React Circle-Tree Visualizer

Pomax was up next with a new React component: react-circletree! It depicts a tree structure using segmented concentric circles. The component is very configurable and can by styled with CSS as it is generated via SVG. While built as a side-project, the component can be seen in use on the Web Literacy Framework website.

Pomax: HTML5 Mahjong

Also presented by Pomax was an HTML5 multiplayer Mahjong game. It allows four players to play the classic Chinese game online by using socket.io and a Node.js server to connect the players. The frontend is built using React and Webpack.

groovecoder and John Dungan: Codesy

Last up was groovecoder and John Dungan, who shared codesy, an open-source startup addressing the problem of compensation for fixing bugs in open-source software. They provide a browser extension that allows users to bid on bugs as well as name their price for fixing a bug. Users may then provide proof that they fixed a bug, and once it is approved by the bidders, they receive a payout.


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 MozillaMeetup Open Transport #8

Meetup Open Transport #8 Les meetup Open Transport ce sont des échanges réguliers autour des initiatives ouvertes et collaboratives dans le secteur de la mobilité (projets à base d'open...

hacks.mozilla.orgYou might not need a CSS framework

CSS frameworks have been around for a while and they have gotten extremely popular in the front-end development scene. These frameworks provide snippets of code you can just copy and paste in your website to craft the whole layout and UI.

You have already probably read a lot of articles about how they might be good for your projects, but here I would like to do the opposite: to highlight some of the drawbacks they might bring to your websites or applications, and how you can avoid or mitigate them.

webangelist_001-1

When I ask people why they are using a particular framework, their answer usually falls into one (or more) of these categories:

  1. Speed: Most people believe it will make development faster. And this may be true in the initial stages of a project. But this gain may be followed at the expense of technical debt – we will see how the debt is produced – that will need to be paid later on, with interest.
  2. Best practice: Some people believe it is a best practice to use a framework, especially those just beginning front-end development. This is reinforced by the avalanche of articles and by the inclusion of frameworks in bootcamp curriculums or in job descriptions that mention them.
  3. Design: A lot of developers just want to release something and they don’t have a designer available for their project. CSS frameworks provide a basic design developers can use. While this is useful, the consequence is that your site or app ends up looking like every other recent site on the Internet –but whether that impacts your project is up to you to decide.

Technical debt

Regardless of the reasons for using a framework, frameworks might introduce technical debt in your project. Sometimes it can make sense to have this technical debt, for instance if you need to launch something as soon as possible or if you’re building a prototype whose code will be discarded later.

However, for big projects like an ongoing website or application, this technical debt can potentially become unmanageable and hinder development. Let’s see why this happens.

Unsemantic HTML code

This is not a problem of frameworks per se, but I have seen it happen a lot in the most popular ones.

For instance, maybe you’re reading documentation for styling buttons: You might find a code snippet that tells you to use a CSS class for disabled buttons instead of adding the disabled attribute to the <button> tag itself.

There are abundant examples of <div> or <span> where a more semantic tag would be appropriate. And let’s not talk about the <div> inside a <div>, inside a <div>

Over-specific CSS selectors

Again, this is not a problem intrinsic to frameworks, but something we can observe in the most popular ones: there is a tendency to use very specific selectors to create the CSS rules. For instance:

.table-responsive > .table-bordered > thead > tr > th:first-child

What happens if you need to override some of the properties of your <th>? Then you need to create an even more specific selector! You can’t just get away with creating a generic rule like:

th.important-heading { color: #000; }

Instead you would need to set up a rule like this:

.table-responsive > .table-bordered > thead > tr > th:first-child.important-heading {
  color: #000;
}

What happens in the wild is that nobody wants to write that kind of code. We soon start to see these kind of rules popping up:

th.important-heading { color: #000; !important }

…which only makes the problem worse!

Rules you don’t need

If you include a whole framework instead of just the bits you really need you will have CSS rules you are not actually using.

Of course you can mitigate this with the aid of a post-processing tool to remove unused rules, but the moment you begin to add or remove classes dynamically with JavaScript, you’ll never be 100% sure that you will not need that code.

Unused CSS not only makes your files bigger, which can be a problem for mobile devices that are connected to a cellular network rather than wi-fi, but they make your codebase larger too, and thus harder to maintain.

Owning your opinions and decisions

All frameworks are opinionated. This is not an issue if you don’t have a strong opinion or if yours is the same as the frameworks.

But sometimes you do have strong opinions. For instance, here’s the HTML one framework proposes to create some coloured text labels:

<span class=“label label-warning”>Out of stock</span>

I find these classes redundant, since I like to use only the classes I deem necessary. If that were my code, I would probably only have a class label-warning.

And what if you are a fan of a specific CSS methodology (like “Block, Element, Modifier”) your framework doesn’t use?

Alternatives to frameworks

Write your own HTML and CSS. If you don’t like the markup a framework produces, you should write your own. If the CSS rules a framework provides makes you work inefficiently, you should craft your own rules.

If you need a grid, you can use Flexbox today, which makes crafting a layout much less painful than using floating divs. If you are not familiar with Flexbox, take a look at this MDN guide. If you are curious about how the code might look, here’s an implementation of the Holy Grail layout I did using Flexbox.

In the future we will have Grid! This will make creating layouts a breeze, and you won’t feel the urge to use an existing grid framework ever again. Here’s another implementation of the Holy Grail layout, this time using Grid.

(Note: To see the actual result running in your browser, try Firefox Nightly or the latest Firefox Developer Edition browser —it just works. To view these examples in any other Firefox release, you’ll need to flip the flag. Go to about:config in the browser to enable layout.css.grid.enabled functionality.)

If you just need a UI widget, like a custom dropdown menu, and you don’t want to code it from scratch, you can always grab that bit—instead of the whole framework—or use a 3rd-party component that has no external dependencies.

If you need a design you can use, one reasonable way to use these frameworks would be to grab the Sass or Less sources instead of the generated CSS files. If you do this, you can grab the mixins and create your own selectors, which will allow you to have your own markup. But keep in mind that your site will look exactly like loads of other sites as well!

If you need a way to standardise the UI creation in your project, so people know which code to use and how to add new interface elements, what you are looking for is a style guide (in short, your very own custom framework). You should have one for big projects!

In summary

CSS frameworks may have advantages, but they also have drawbacks that are often overlooked. Be aware of those and also know the tools and APIs you have at your disposal for creating the CSS and markup of your sites and apps.

 

Air MozillaWeb QA Weekly Meeting, 21 Apr 2016

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

Meeting NotesMobile: 2016-04-20

Schedule

Topics for This Week

Friends of the Mobile Team

Give a shoutout/thanks to people for helping fix and test bugs. Make sure friends also get awarded a badge. New contributors are highlighted in bold. Want to update this section?

  • Andrew Lawson fixed bug 1153081 – Fix nits from Bug 1152609 (Swift 1.2 changes)
  • Jan Henning [:JanH] fixed bug 1218317 – Size of files not displayed in “about:downloads” after restarting Firefox
  • Jan Henning [:JanH] fixed bug 1229967 – Hardware menu button no longer closes the menu
  • Jan Henning [:JanH] fixed bug 1263647 – Avoid unnecessary Tab:AudioPlayingChange messages
  • Jan Henning [:JanH] fixed bug 1264717 – Add extended session store debug logging (behind a pref)
  • Jan Henning [:JanH] fixed bug 1265011 – Add a test for the hardware menu key opening/closing the app menu
  • Jorick Caberio fixed bug 1261039 – Remove Honeycomb code guarded by AppConstants.Versions.preHCMR1 / preHCMR2
  • Jorick Caberio fixed bug 1261040 – Remove code guarded by AppConstants.Versions.preICS
  • Mark Capella [:capella] fixed bug 1235508 – Re-implement fast Phone number selection on long-press
  • Mark Capella [:capella] fixed bug 1263460 – Fix UI on Long press of empty Yahoo search field
  • Maurya Talisetti fixed bug 1252982 – Clean up redundant settings code for authentication setting options
  • Mike Kaply [:mkaply] fixed bug 1260758 – Add “distribution” field to core ping
  • Mike Kaply [:mkaply] fixed bug 1264050 – The distribution/default directory should be checked even if there are no mcc or mnc directories
  • Mouaad Aallam fixed bug 1261044 – Simplify/Replace AnimatorProxy class
  • Rutuja fixed bug 1115006 – Use Downloads.getSystemDownloadsDirectory to get the download directory for about:memory
  • Sebastian H. [:aryx][:archaeopteryx] fixed bug 1264576 – Fix typo from bug 682294 which prevents fetching of the error title for file access denied
  • Tristan fixed bug 1178722 – Select with multiple selection – options visibility not respected in popup
  • Tushar Saini (:shatur) fixed bug 1250387 – Kill GeckoConnectivityReceiver.java and improve GeckoNetworkManager.java
  • bzrd_Sdn fixed bug 1256922 – Remove unused HardwareUtils.isLowMemoryPlatform()
  • hennes fixed bug 1147912 – Prompt specially for tel: URIs as phone numbers

Team Updates

Android platform

snorp, jchen, rbarker, esawin, droeh

  • Jim and I were in Taipei last week to talk to GFX and Media teams. They might do some stuff for us!
  • More APZ/Media/Stability work
    • bug 1263347 landed, which makes APZ much nicer
    • Made some progress on bug 1164027, but not really any clear solution yet

Android front-end

margaret, liuche, mcomella, sebastian, ahunt, grisha

iOS

bkmunar, bnicholson, fluffyemily, fpatel, jhugman, sleroux, st3fan

Builds & Releases
Development Updates / Work in Progress
  • [jhugman] Today Widget landed and demoed. There are bugs, please install it in your today|notification shade and use it.
  • [jhugman] Home page started. Fairly straight forward, though “should autocomplete, just like the autoawesome bar” is easier to type than it is to refactor the awesomebar (all the work is in the Settings page!)
  • [fluffyemily] Menu so very close to landing…
  • [farhan] Third Party search development has started
  • [bnicholson] Security fixes
  • [bnicholson] Core ping started

UX

tecgirl, antlam, gemma, (sevaan)

Click here for individual status updates

  • Android
  • iOS
  • UR

QA

Feature Focus


Details

  • Wednesdays – 9:30am Pacific, 12:30pm Eastern, 16:30 UTC
  • Dial-in: conference# 99998
    • People with Mozilla phones or softphones please dial x92 Conf# 99998
    • US/Toll-free: +1 800 707 2533, (pin 369) Conf# 99998 (max 48 users at any time)
    • US/California/Mountain View: +1 650 903 0800, x92 Conf# 99998
    • US/California/San Francisco: +1 415 762 5700, x92 Conf# 99998
    • US/Oregon/Portland: +1 971 544 8000, x92 Conf# 99998
    • CA/British Columbia/Vancouver: +1 778 785 1540, x92 Conf# 99998
    • CA/Ontario/Toronto: +1 416 848 3114, x92 Conf# 99998
    • UK/London: +44 (0)207 855 3000, x92 Conf# 99998
    • FR/Paris: +33 1 44 79 34 80, x92 Conf# 99998
    • sip:conf99998@mozilla.com or, for some clients, sip:conf99998@anonsip.scl3.mozilla.com (may not work for all rooms)
    • Gmail Chat (requires Flash and the Google Talk plugin): paste +1 650 903 0800 into the Gmail Chat box that doesn’t look like it accepts phone numbers
    • SkypeOut is free if you use the 800 number
  • irc.mozilla.org #mobile for backchannel
  • Mobile Vidyo Room

Air MozillaThe Joy of Coding - Episode 54

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

Mozilla Add-ons BlogAdd-ons Update – Week of 2016/04/20

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

  • 1160 (95%) were reviewed in fewer than 5 days.
  • 45 (4%) were reviewed between 5 and 10 days.
  • 21 (1%) were reviewed after more than 10 days.

There are 73 listed add-ons awaiting review.

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

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

Compatibility Communications

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

To ensure long-term compatibility, we suggest you start looking into WebExtensions, or use the Add-ons SDK and try to stick to the high-level APIs. There are many XUL add-ons that require APIs that aren’t available in either of these options, which is why we’re also asking you to fill out this survey, so we know which APIs we should look into adding to WebExtensions.

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

Firefox 47 Compatibility

The compatibility blog post for 47 is up. The bulk validation will be run soon. Make sure that the compatibility metadata for your add-on is up to date, so you don’t miss these checks.

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 47 (updated from 46).

Air MozillaSuMo Community Call 20th April 2016

SuMo Community Call 20th April 2016 This is the sumo weekly call We meet as a community every Wednesday 17:00 - 17:30 UTC The etherpad is here: https://public.etherpad-mozilla.org/p/sumo-2016-04-20

Meeting NotesChannel: 2016-04-19

Attendees

lizzard, rail, jorge, philipp, kmoir, elan, ritu, calixte, sylvestre, lmandel, devditz, jst, milan, jlund, rmcguigan, mbest

Schedule Update

  • FRI: beta->release migration
  • Monday Apr 18th: go to build for desktop RC1, mobile beta 12
  • we should be on track to release RC1 and mobile beta 12 today
  • several crucial last minute uplifts for both desktop and mobile.
  • We have to do desktop RC2 (Wednesday). Mobile beta 13 (today)
  • Update testing next week for the release. Several people are on PTO. Florin, Michelle, David Burns and Maja will help with update test running, signoff, and fixing issues.

Add-ons

Stability

Aurora

  • Overall rate: 1.6 – browser: 0.9, content: 0.7 – yellow (target: 1.5)
    • Bug 1264454 is a concern for very modern Linux installations (rolling distros) with e10s on, 1.6% of overall crashes
    • Bug 1229252 (eOppMonitor.dll) is 2.8%
    • overall rates look OK for going to beta

Beta

  • Overall rate: 1.1 – yellow (target: 1.0)
    • Current crash rates match what we had in 45 RC week.
    • GFX bug 1189715 is fixed in 46.0b11 \o/
    • AsyncShutdown crashes, mostly sanitize bug 1258350, are 2.2% of 46.0b11 data
      • Taking a last minute patch in bug 1258354 that may help, at least with diagnosis.
    • HTTP shutdownhangs (bug 1158189 and bug 1263199) are 3.4%
    • bug 1256517 (DrawQuad) is 0.7% and has a patch requested for uplift to 47

Release

  • Overall rate: 0.94 – green (target: 0.95) \o/
    • Trusteer says that they will deploy the Mac fix soon – no significant change in numbers yet, 0.6% of overall 45.0.2 crashes, almost 8% of Mac crashes
    • Bug 1261012 (proposed to go into 46) is #4 Top Crash Score and #3 among startup crashes

Mobile

  • Android crash volumes continues to look good on all channels.

QE

  • Please remember to test and mark affected/unaffected for new regressions (and also add the regression keyword)
    • Should repeat this on Thu when SV/QA is at the channel meeting

Beta

RelEng

  • Release promotion is on in 46.0!
    • Kudos, this will simplify Release mgmt life!
  • Firefox 46.0b11 as an example of workflow?

Roundtable

Lots of unlanded “46+” ESR bugs

 * 6 for ESR-45  (two security issues)
 * 8 for ESR-38 (all security issues)

https://wiki.mozilla.org/Release_Management/ESR_Landing_Process#ESR45

  • Need Kairo to take a look at bsmedberg’s prototype and verify data – KaiRo is in close contact with bsmedberg and azhang on this already :) :) thank you

Channel Meeting Details

Video/Teleconference Details – NEW

  • 650-903-0800 or 650-215-1282 x92 Conf# 99951 (US/INTL)
  • 1-800-707-2533 (pin 369) Conf# 99951 (US)
  • Vidyo Room: ReleaseCoordination
  • Vidyo Guest URL

Air MozillaConnected Devices Weekly Program Review, 19 Apr 2016

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

Meeting NotesMozilla Project: 2016-04-18

  • Every Monday @ 11:00am Pacific Time (19:00 UTC)
  • http://air.mozilla.org/ to watch and listen
  • join irc.mozilla.org #airmozilla for backchannel discussion
  • Presenters only: Vidyo room “Brownbags”. Do not use this room if you’re not planning to speak.
  • Dial-in: conference# 8600
    • People with Mozilla phones or softphones please dial x92 Conf# 8600
    • US/Toll-free: +1 800 707 2533, (pin 369) Conf# 8600 (max 48 users at any time)
    • US/California/Mountain View: +1 650 903 0800, x92 Conf# 8600
    • US/California/San Francisco: +1 415 762 5700, x92 Conf# 8600
    • US/Oregon/Portland: +1 971 544 8000, x92 Conf# 8600
    • CA/British Columbia/Vancouver: +1 778 785 1540, x92 Conf# 8600
    • CA/Ontario/Toronto: +1 416 848 3114, x92 Conf# 8600
    • UK/London: +44 (0)207 855 3000, x92 Conf# 8600
    • FR/Paris: +33 1 44 79 34 80, x92 Conf# 8600
    • sip:conf8600@mozilla.com or, for some clients, sip:conf8600@anonsip.scl3.mozilla.com (may not work for all rooms)
    • Gmail Chat (requires Flash and the Google Talk plugin): paste +1 650 903 0800 into the Gmail Chat box that doesn’t look like it accepts phone numbers
    • SkypeOut is free if you use the 800 number
    • If you plan on presenting, please join the Vidyo BrownBags 20 minutes prior to the start of the meeting and announce to the A/V Technicians that you will be speaking so that they can confirm your Audio and Video.

All-hands Status Meeting Agenda

Items in this section will be shared during the live all-hand status meeting.

Friends of Mozilla

Upcoming Events

Monday, 18 April
Wednesday, 20 April
Thursday, 21 April

Connected Devices Meetup in the San Fransisco commons.

  • Pizza at 6:15
  • Speakers at 7:00
    • Brian Leroux – Building a serverless Slackbot using AWS Lambda and JS
    • Gabrielle Crevecoeur – presenting the Frozen NodeBot: a voice activated Elsa singing doll
    • Alfred Tom – Wivity’s wireless modems powered by the cloud that can be swapped just like an AA battery.

Speakers

The limit is 3 minutes per topic. It’s like a lightning talk, but don’t feel that you have to have slides in order to make a presentation. If you plan on showing a video, you need to contact the Air Mozilla team before the day of the meeting or you will be deferred to the next week. The meeting is streamed in a 4:3 format in order to allow for split screen. If your slides are 16:9 “widescreen” format, please indicate in the “Sharing” column below.

Presenter Title Topic Location Sharing Media More Details
Who Are You? What Do You Do? What are you going to talk about? Where are you presenting from? (Moz Space, your house, space) Will you be sharing your screen? (yes/no, 4:3 or 16:9) Links to slides or images you want displayed on screen Link to where audience can find out more information
Potch Podium Poo-bah Tiny Extension for presenting wikis Mountain View Already sharing! not really https://github.com/potch/wikifullscreen/releases

Welcome!

Let’s say hello to some new Mozillians! If you are not able to join the meeting live, you can add a link to a short video introducing yourself.

Introducing New Volunteers

New Volunteer Introduced by Speaker location New Volunteer location Will be working on
Who is the new volunteer? Who will be introducing that person? Where is the introducer? Where will the new person be contributing from? What will the new person be working on?

Introducing New Hires

New Hire Introduced by Speaker location New Hire location Will be working on
Erin Toy Josh Kruse Mountain View Mountain View New HRBP working with Connected Devices, WPR, Metrics, Internal Comms, and Finance

<meta>

Notes and non-voice status updates that aren’t part of the live meeting go here.

Status Updates By Team (*non-voice* updates)

Developer Relations

Developer Relations at Mozilla
Monday, March 7, 2016

Planning: Most of the team will be in NYC next week for team site building. Other stuff: Tech Speakers v2, code schools, RPi2 + Web V2, prep for Berlin IoT sprint, London workweek.

Events / Talks / Meetups / Trainings

Bugs

Publishing & Podcasts

Hacks Posts

Code / Demos

Calendars

Follow

Help

Engagement

QMOFirefox 47.0 Aurora Testday Results

Hello Mozillians!

As you may already know, last Friday – April 15th – we held a new successful Testday event, for Firefox 47.0 Aurora.

Results:

We’d like to take this opportunity to say a big THANK YOU to Teodora Vermesan, Chandrakant Dhutadmal, gaby2300, Moin Shaikh, Juan David Patiño, Luis Fernandez, Vignesh Kumar, Ilse Macías, Iryna Thompson and to our amazing Bangladesh QA Community: Hossain Al Ikram, Rezaul Huque Nayeem, Azmina Akter Papeya, Saheda Reza Antora, Raihan Ali, Khalid Syfullah Zaman, Sajedul Islam, Samad Talukdar, John Sujoy, Saddam Hossain, Asiful Kabir Heemel, Roman Syed, Md. Tanvir Ahmed, Md Rakibul Islam, Anik Roy, Kazi Nuzhat Tasnem, Sauradeep Dutta, Kazi Sakib Ahmad, Maruf Rahman, Shanewas Niloy, Tanvir Rahman, Tazin Ahmed, Mohammed Jawad Ibne Ishaque, A.B.M.Nashrif , Fahim, Mohammad Maruf Islam, akash, Zayed News, Forhad Hossain, Md.Tarikul Islam Oashi, Sajal Ahmed, Fahmida Noor, Mubina Rahaman Jerin, Nazir Ahmed Sabbir and Md.Faysal Alam Riyad for getting involved in this event and making Firefox as best as it could be.

Also, many thanks to all our active moderators.

Keep an eye on QMO for upcoming events! 

WoMozMY DREAM EVENT IN MY DREAM UNIVERSITY: WOMOZ AT JAMIA

Since I became a part of the Womoz Community, it has always been my dream to organize an event in Delhi, that will be solely dedicated to Womoz and involvement of women in Open Source Community. So, when the FSA from Jamia Milia Islamia, Farheen Nilofer , approached me to organize one such event in their college, I simply could not refuse. Though, I said “yes” to her, but I was not very sure , whether I would be able to keep my words or not. This is because, both my community leads, the ReMos from Delhi were out of station and unfortunately, I failed to contact them. So, I was just wondering how would I organize this event without their consent. But finally, everything fall into place and the event “Womoz At Jamia” was scheduled on 13th April.
This, being my first Womoz event, I was a bit confused about how to set the agenda and make the plan out for it. So, without any further hesitation, I approached that Womoz, who has always been my bolster in times of need. Yes! I seek help from Priyanka Nag and as usual, she did. :)
Before I proceed, I would like to share a small piece of information. For any student of Journalism, Jamia is a dream university. Being a student of this stream, same holds true for me too. So, excitement started culminating few days before the event. I had only a minor problem here. This university is too far from my area of residence. It takes around 3 hours to reach there from my place. But, after all, this was my 1st Womoz event and that too in my dream college, so I did not mind starting at 6:30 am from the hostel for the event. 😛
As the event was scheduled on a Wednesday, both the ReMos from the Delhi community, Ajay Kumar and Anup Mishra, failed to turn up.  :( But I am lucky enough to have 3 chaperones from my community, who always stood by me during any event, be it the Kidzilla  or Womoz. They are Kunal, Saurabh and Kanika. This time Bhuvnesh, Nikhil, Yash and Vipin also joined us.
The preludial session on Introduction to FOSS and Mozilla was conducted by Bhuvnesh. Then came my turn when I need to deliver a talk on Womoz and why groups like Womoz is neccessary in an Open Source Community. Earlier, whenever I had a talk,Ajay(ReMo from Dehi) used to point out my drawbacks and as per his suggestions I tried hard to ameliorate myself. I just hope he could have been there to find out whether his trainee has improved or not! 😛

IMG_1117

It was really awesome to see that with gradual advent of time, more students from various departments began to deluge in. Saurabh and Kanika took over after my session. They were in charge of hands on session on Webmaker. The penultimate session was on Bugzilla by Vipin. Finally, came the time for much awaited session -the Security Workshop. When it comes to Security Workshop, the guy on whom I could rely the most from my community is Kunal. I am really thankful to him because in spite of being ill, he came for the event. Before we called it a day, we told them how to subscribe for the womoz mailing list and also shared the FSA Sign up link with the students, so that the interested individuals could sign up for the same.
Though, I am not sure , how successful I am as Womoz Community builder in Delhi, but a small change in my community really pleases me a lot. When I joined the community in June’15, I was the only women contributor there. Now, we have around 8 active women contributors, who are really putting their hearts and souls together to expand the community. Hope to see more such enthusiastic contributors from Jamia too. :)

The Womoz team from Jamia who made it possible. :)

The Womoz team from Jamia who made it possible. :)

 

Air MozillaWebdev Beer and Tell: April 2016

Webdev Beer and Tell: April 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...

Meeting NotesChannel: 2016-04-14

Attendees

Mihai P, Flaviu, Teodora, Ninu, lizzard, Bogdan, Andrei, kmoir, Ada,

Schedule Update

  • Thursday/Friday: 46.0b11 desktop build and release.
  • Monday: beta->release merge and RC build.

Add-ons

  • Latest Flash plugin blocks are now live (bug 1263476).
  • Requesting uplift of bug 1245956 to ESR 45.

Stability

Aurora

  • Overall rate: 1.7 – browser: 1.0, content: 0.7 – yellow (target: 1.5)
  • 3rd-party (eOppMonitor.dll) crash bug 1229252 is 1.2%

Beta

  • Overall rate: 1.2 – yellow (target: 1.0)
  • AsyncShutdown crashes (main sanitize bug 1258350) are 2.3% of b10 data. Apparently needs bug 1258354 for diagnosis – but we may be too late in the beta cycle to even still diagnose that :(
  • gfx crash bug 1189715 is 1.2% with new signature

Release

  • Overall rate: 0.99 – yellow (target: 0.95)
  • Flash game/ad crashes of bug 1252152 are still ongoing, though at lower level – patch in the bug seems to have helped on nightly, we may want to uplift to 47 for sure, possibly to 46.
  • Trusteer bug 1255026 on Mac (trf.dylib@0x1c3a7) ?
    • This is 70% on startup and therefore making it the #3 Top Crash Score on 45.0.2 even though it’s a Mac-only signature
  • noticeable spike in crashes for https://bugzilla.mozilla.org/show_bug.cgi?id=1264504 in 45.0.2 – overall only 0.3% of 45.0.2 crashes so far but it was 0 in 45.0.1

Mobile

  • Android looks good on all channels other than Nightly.
    • Current release has better rates than previous, current beta data may be slightly better than previous, still some room on both to match 41 data though
    • Aurora data is very flaky but seem to be at least in same area as previous train, and not worse.

QE

For any crash fix landing on beta 11, I would like help looking at crash-stats early Monday morning to evaluate if the patches can stay or if we need to back out. Please comment in the bugs with an update from crash-stats. n-i Liz if you see a crash fix that gets worse or just stays the same – thanks!

  • [Andrei] We’ll try to help out here and monitor crashes.
  • affects all channels: system addon issue https://bugzilla.mozilla.org/show_bug.cgi?id=1264383
  • Which addons does this affect? How bad is this problem?
  • [Jorge] Potentially affects hundreds of add-ons, since TabSelect is a very commonly-used event. As I understand it, the problem is that the event listener isn’t being removed correctly, which is a relatively minor problem (a little bit of memory being used unnecessarily, and possibly some JS errors in the console). It’s unlikely to break add-ons.

Aurora / Dev Edition

  • [Bogdan][per-monitor DPI] I found a new issue that could block the release of the feature in beta 47, it breaks the layout of Firefox just by dragging FF from one screen to another. Developer (Jonathan Kew) is aware of it, talked with him on IRC.

https://bugzilla.mozilla.org/show_bug.cgi?id=1264193

  • [Camelia][Synced Tabs Sidebar] The feature looks pretty good. There were 4 important issues: 2 of them are fixed for Desktop side(bug 1250866, bug 1250531), one is fixed on Nightly and need uplift on Aurora (bug 1250085) and the last one is no longer a blocker because is not related to Synced Tabs Sidebar (bug 1252058)
    • there still are some issues which are fixed only on Nightly and a few new issues. None of them is critical/major.

Beta

  • [desktop] We’re in the process of signing off Pocket System Add-on for pre-release, our _main concern_ at this point is https://bugzil.la/1263599

Mobile

  • [Mihai] Signed-off Fennec 45.0.2
  • Signed-off Fennec 46 Beta 10

RelEng

  • Release build promotion for 46.0
    • ready for QA deadline: Wed (Apr-20) European morning?

Channel Meeting Details

Video/Teleconference Details – NEW

  • 650-903-0800 or 650-215-1282 x92 Conf# 99951 (US/INTL)
  • 1-800-707-2533 (pin 369) Conf# 99951 (US)
  • Vidyo Room: ReleaseCoordination
  • Vidyo Guest URL

The Mozilla BlogMozilla’s Commitment to Inclusive Internet Access

Developing the Internet and defending its openness are key to global growth that is equitable, sustainable, and inclusive. The Internet is most powerful when anyone — regardless of gender or geography — can participate equally.

Today Mozilla announced two commitments to help make universal internet access a reality as part of the U.S. State Department’s Global Connect Initiative global actions, in partnership with the World Bank and the Institute of Electrical and Electronics Engineers (IEEE):

  • Mozilla will launch a public challenge this year to spur innovation and equal-rating solutions for providing affordable access and digital literacy. The goal is to inject practical, action-oriented, new thinking into the current debate on how to connect the unconnected people of the world.
  • Additionally, Mozilla is building a global hub to help more women learn how to read, write, and participate online. Over the past five years, Mozilla volunteers have started over 100 clubs and run over 5000 local events in 90 countries to teach digital literacy. Building on this model, Mozilla is now working with U.N. Women to set up clubs just for women and girls in Kenya and South Africa. This is the next step towards creating a global hub.

“Connecting the unconnected is one of the greatest challenges of our time, and one we must work on together. We will need corporate, government, and philanthropic efforts to ensure that the Internet as the world’s largest shared public resource is truly open and accessible to all. We are pleased to see a sign of that collaboration with the Global Connect Initiative commitments,” said Mitchell Baker, executive chairwoman of Mozilla.

Mark Surman, executive director of the Mozilla Foundation, added, “We must address the breadth but also the depth of digital inclusion. Having access to the Web is essential, but knowing how to read, write and participate in the digital world has become a basic foundational skill next to reading, writing, and arithmetic. At Mozilla we are looking at – and helping to solve – both the access and digital literacy elements of inclusion.”

We look forward to sharing progress on both our commitments as the year progresses.

SUMO BlogTrip report: Tech + Women + Kazakhstan!

Greetings, SUMO Nation! At the moment, we are meeting in Berlin to talk about SUMO and our involvement in Mozilla’s mission. Therefore, we have no major news or updates to report this week (but there will be more of that soon, worry not!). Then again, we can’t leave you without something nice and inspiring to read, right?

As you can imagine, even if we spend a lot of time on SUMO-related activities, it’s not the only thing we do. Just like any Mozillian, our activities span many different fields. Thus, it is with great pleasure that I share with you our own Rachel’s trip report from her recent visit to Kazakhstan as a member of the Tech Women organization.

How would YOU inspire women & girls?

To promote STEM learning and diversity in the workplace, Tech Women organizes three delegation trips each year. The trip opens leadership opportunities to women on the international scene of professional employment. Over four weeks, women in STEM become emerging leaders and develop business plans, learning about one of the fields of knowledge in an in-depth manner.

I feel fortunate to mentor through Tech Women and get the opportunity to visit Kazakhstan on a delegation last month. In addition to sightseeing and experience the local culture, we gathered for Technovation events at hackerspaces, middle school and university campuses.

A postcard from the road

We visited the old and new capital of Kazakhstan, Astana and Almaty. Many of the building are still influenced by the Soviet style. Kazakhstan is also known for being the place of origin for apples, and the people’s love for their horses.

On the third day of our visit, while staying at the Doysk Hotel, we were greeted by three US Consulate representatives. One of them, who previously worked at NASA, and had an inspiring career in science (also studying Soviet sciences) was dressed in green and had hair dyed red for the festive March 17 holiday.

They answered our questions about the pollution in the area, as well as many cultural questions that occupied our minds after running around in the snow for a few days.

We visited the National University that day and had two panels talking about women in the workforce, interview processes, and ways of progressing careers in STEM fields. The university impressed some of us with over an acre of planned solar panel space. The mechanical engineers among us got to interact with an equally impressive robot that recognized sign language.

On the trip, our delegation group participated in projects related to application development, Technovation groups and spoke on several discussion panels.

The Technovation groups themes varied from design thinking and learning parts of computer hard drives to pitching Android apps. It was surprising that even in a place located quite remotely in the mountains, between two of the largest countries on the planet (in several respects), there is a lot of access and will to seize to the opportunity to learn and develop on an open web.

Digital literacy develops these women as users of the web, as well as makers just thanks to the basic web access they get in the hacker spaces and schools we visited. During our visit, we learned that development opportunities for young girls in schools were rather limited outside of those options.

Technovation workshop – identifying hard drive parts

The speaking panels addressed career development skills such as interviewing, networking at events, and resume building. However, some of the questions were more directed around Human Resource issues like maternity leave and securing funding for a business idea. In the United States, there is legal action that can be taken for many of the questions that the Kazakh women had, so there is definitely room for improvement there.

Conducting a mock interview with career developing skills for women interested in working in the US

For the next generation of people in Kazakhstan, particularly young women, open access to communication plays a key role. However, the challenge of funding and lack of guided direction towards STEM careers discourages women from fully optimizing the potential of digital growth.

Emerging leaders and women from Yahoo speaking about being a woman in the modern workplace. Talking to girls choosing where to go for university and what to study. Bottom right: Pitching an app idea for volunteers.

Sig Space motivational chalk board. The event invited 10 men from various professions and included technical industry women speaking about increasing the number of women active in that field. A National University representative looking to start a training program for girls focused on Data Center and Cisco certifications. He also wanted to learn more about Mozilla and our mission.

Thank you for your awesome report, Rachel! It’s great to see more women getting into tech every day, everywhere around the world :-).

Air MozillaWeb QA Weekly Meeting, 14 Apr 2016

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

Air MozillaReps weekly, 14 Apr 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 BlogDeveloping Extensions With Web-ext 1.0

As the transition to WebExtensions continues, we are also building tools to make developing them faster and easier than ever. Our latest is a command line tool called web-ext, which we released recently as an initial working version with some basic features.

We built it because we want developing extensions to be fast and easy. Just as Firefox’s WebExtensions API is designed for cross-browser compatibility, we want web-ext to eventually support platforms such as Chrome or Opera. We will continue developing jpm in parallel, as needed.

To give it a try, you can install it from npm:

npm install --global web-ext

When developing an extension, here’s how you can run it in Firefox to test it out:

cd /path/to/your/source
web-ext run

This is similar to how you can load your source directly on the about:debugging page.

When you’ve got your extension working, here’s how to build an XPI file that can be submitted to addons.mozilla.org:

web-ext build

You can also self-host your XPI file for distribution but it needs to be signed by Mozilla first. Here’s how to build and sign an XPI file:

web-ext sign

The end user documentation is a work in progress but you can reference all commands and options by typing:

web-ext --help

As you can see, this is a very early release just to get you started while we continue adding features. If you’d like to help out on the development of web-ext, check out the contributor guide and take a look at some good first bugs.

Mozilla KoreaMozilla 지원 Let’s Crypt 정식 서비스 개시

2014년에 Mozilla는 Akamai, Cisco, Electronic Frontier Foundation, Identrust, 그리고 미시간 대학과 협력하여 암호화 통신 세계적 보급을 목표로 Let’s Encrypt을 설립했습니다. 그리고 오늘 Let’s Encrypt는 베타 버전에서 정식 서비스로 전환합니다.

Let’s Encrypt는 무료로 개방적인 인증서를 발급하는 자동 인증 서비스 기관(CA)입니다. 이로써 누구나 간단하게 웹 사이트 통신 암호화할 수 있습니다. Let’s Encrypt은 IETF에서 표준화된 ACME라는 오픈 프로토콜을 사용하고 있습니다. ACME은 이미 40번이 넘는 독립적인 구현 사례가 있습니다. Dreamhost, WordPress.com을 운영하는 Automattic 등 ACME을 이용할 수 있는 웹 호스팅 서비스도 여러 개 있고, Let’s Encrypt을 통합 표준 설정에서 암호화 통신을 실현하고 있습니다.

웹 보안의 기반을 만든 HTTPS프로토콜이 탄생한 지 이미 오랜 세월이 흐르고 있습니다.그러나, 2015 연말 시점에서 HTTPS를 이용하는 것은 전 세계 웹 페이지 뷰의 40% 미만, 또한 전체 트랜잭션 65% 미만에서 멈췄습니다. 사람들이 원하는 정말 안심하고 안전한 웹을 실현하기 위해서는 이들의 숫자는 100% 여야 합니다. 보안 수위 웹 사이트를 만들기 위한 최대의 장벽은 웹 브라우저에 열람하는 사이트가 진짜임을 가르쳐주는 “인증서”를 취득하는 것입니다. 이 인증서를 취득하는 프로세스는 오랫동안 복잡하고 비용도 드는 것이므로 암호화의 보급에 큰 벽이 되고 있었습니다.

2015년 11월에 베타 버전을 발표한 후 6개월간 Let’s Encrypt는 약 240만 도메인에 대해 170만개 이상의 인증서를 발행하고 있으며 지금도 매일 2만건 이상 발행하고 있습니다. 이들 사이트의 90%이상은 이전까지 암호화되지 않은 사이트였습니다.이와 함께 Let’s Encrypt도 20개사 이상의 기업의 참여가 있고 업계 전체의 변화가 되었습니다.

Let’s Encrypt의 실현에 매진된 모든 분에게 감사와 축복의 마음으로 가득합니다. 보안은 웹의 근간이어야 하고, 누구나 웹을 보다 안전하게 쓸 수 있도록 Let’s Encrypt는 중요한 역할을 하고 있습니다.

– David Bryant

이 글은 Mozilla-supported Let’s Encrypt goes out of Beta의 한국어 번역입니다.

Meeting NotesMobile: 2016-04-13

Schedule

Topics for This Week

Friends of the Mobile Team

Give a shoutout/thanks to people for helping fix and test bugs. Make sure friends also get awarded a badge. New contributors are highlighted in bold. Want to update this section?

  • Aaron Raimist [:aaronraimist] fixed bug 1205047 – Save password dialog string changes
  • Francesco Lodolo [:flod] – AWAY APRIL 13-17 fixed bug 1263582 – [l10n] Update searchplugins for v4.0 and master
  • Jan Henning [:JanH] fixed bug 1229259 – Tabs get stuck if they’re zombified immediately after creation
  • Jan Henning [:JanH] fixed bug 1261225 – Improve session store form data handling
  • Jan Henning [:JanH] fixed bug 1262565 – Avoid sleep statements in session store form data test
  • Ryan VanderMeulen [:RyanVM] fixed bug 1261270 – Various Android robocop tests are going to permafail when Gecko 48 merges to Aurora

Team Updates

Android platform

snorp, jchen, rbarker, esawin, droeh

Android front-end

margaret, liuche, mcomella, sebastian, ahunt, grisha (nalexander/rnewman)

iOS

bkmunar, bnicholson, fluffyemily, fpatel, jhugman, sleroux, st3fan

Contributions

Builds & Releases

  • First 4.0 TestFlight buid is out. Please join the FIrefox Beta at http://bit.ly/1MxpjiC
  • Strings for 4.0 have been exported
  • First L10N builds and screenshots should appear today or tomorrow
  • Considering a 3.1 bugfix release

Development Updates / Work in Progress

Work for 5.0 has started, which includes Enabling Bidirectional Bookmark Sync, Menu and Toolbar redesign, Better Low Memory Handling, History Panels changes, Telemetry Core Ping, Enabling bookmark sync, ability to set a home page, Search engine management. (All tentative)

  • [fluffyemily/sleroux] Toolbar & Menu Redesign (5.0)
  • [jhugman] Today Widget finishing touches (4.0)
  • [bkmunar] Redesign of home panels (5.0)
  • [st3fan] Bug 1261457 – Rich text editor fails because requests to about:blank are blocked (4.0)
  • [st3fan] Bug 1261854 – Crash in Client: specialized ReaderMode.userContentController() (4.0)
  • [st3fan] Bug 1250153 – Crash in Storage: DiskImageStore.clearExcluding() (4.0)
  • [bnicholson] – Bug 1177078 – custom certificate handling (4.0)
  • [fpatel] – Misc UI regressions and inconsistencies (4.0)

UX

tecgirl, antlam, gemma, (sevaan)

Click here for individual status updates

  • Hiring! (notes ^above)

QA

Feature Focus


Details

  • Wednesdays – 9:30am Pacific, 12:30pm Eastern, 16:30 UTC
  • Dial-in: conference# 99998
    • People with Mozilla phones or softphones please dial x92 Conf# 99998
    • US/Toll-free: +1 800 707 2533, (pin 369) Conf# 99998 (max 48 users at any time)
    • US/California/Mountain View: +1 650 903 0800, x92 Conf# 99998
    • US/California/San Francisco: +1 415 762 5700, x92 Conf# 99998
    • US/Oregon/Portland: +1 971 544 8000, x92 Conf# 99998
    • CA/British Columbia/Vancouver: +1 778 785 1540, x92 Conf# 99998
    • CA/Ontario/Toronto: +1 416 848 3114, x92 Conf# 99998
    • UK/London: +44 (0)207 855 3000, x92 Conf# 99998
    • FR/Paris: +33 1 44 79 34 80, x92 Conf# 99998
    • sip:conf99998@mozilla.com or, for some clients, sip:conf99998@anonsip.scl3.mozilla.com (may not work for all rooms)
    • Gmail Chat (requires Flash and the Google Talk plugin): paste +1 650 903 0800 into the Gmail Chat box that doesn’t look like it accepts phone numbers
    • SkypeOut is free if you use the 800 number
  • irc.mozilla.org #mobile for backchannel
  • Mobile Vidyo Room

The Mozilla BlogMozilla Open Source Support (MOSS) Update: Q1 2016

This is an update on the Mozilla Open Source Support (MOSS) program for the first quarter of 2016. MOSS is Mozilla’s initiative to support the open source community of which we are a part.

We are pleased to announce that MOSS has been funded for 2016 – both the existing Track 1, “Foundational Technology”, and a new Track 2, “Mission Partners”. This new track will be open to any open source project, but the work applied for will need to further the Mozilla mission. Exactly what that means, and how this track will function, is going to be worked out in the next few months.  Join the MOSS discussion forum to have your say.

On Track 1, we have paid or are in the process of making payments to six of the original seven successful applicants whose awards were finalized in December; for the seventh one, work has been postponed for a period. We are learning from our experience with these applications. Much process had to be put in place for the first time, and we hope that future award payments will be smoother and quicker.

This year so far, two more applications have been successful. The Django REST Framework, which is an extension for Django, has been awarded $50,000, and The Intern, a testing framework, has been awarded $35,000. Our congratulations go out to them. We are at the stage of drawing up agreements with both of these projects.

Applications remain open for Track 1. If you know of an open source project that Mozilla uses in its software or infrastructure, or Mozillians use to get their jobs done and which could do with some financial support, please encourage them to apply.

Mozilla Web DevelopmentExtravaganza – April 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.

A-Frame v0.2.0

First up was ngoke, who shared the news that A-Frame shipped a new release! The v0.2.0 release focuses on extensibility by improving the Component API and adding a slew of new objects that can be registered for use in the framework. A blog post is available that explains the changes.

Let’s Encrypt Switches to Pip 8

ErikRose wasn’t able to attend, but left notes on the wiki about Let’s Encrypt switching from peep to pip 8 for installing its requirements.

DXR Indexing Most Mozilla-Central Branches

Erik also left a note mentioning that DXR, Mozilla’s code browser and search tool for the Firefox codebase, now indexes more branches from mozilla-central, including Aurora, Beta, Central, ESR45, and Release.

Pipstrap 1.1.1

The last note that Erik left mentioned that Pipstrap, a small script for bootstrapping a hash-checked version of Pip, shipped a new release that fixes an error reporting bug under Python 2.6.

Snippets in AWS + Deis

Next up was bensternthal, who shared the news that snippets.mozilla.com is now hosted on Engagement Engineering’s Deis cluster in AWS. Thanks to giorgos, jgmize, and pmac for helping to move the site over! Ben also mentioned that Basket is the next service slated to move over.

Open-source Citizenship

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

New django-csp Maintainer

pmac stopped by to let us know that he is taking over maintenance of django-csp. Thanks to jsocol for authoring and maintaining the library until now!

Hashin Python Version Filtering

Last up was peterbe, who shared news of a new release of hashin. The main addition is a --python-version flag, which allows you to filter the hashes hashin adds by python versions that you plan to use, reducing the number hashes added. Thanks to mythmon for submitting the patch!


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 MozillaSuMo Community Call 13th April 2016

SuMo Community Call 13th April 2016 This is the sumo weekly call We meet as a community every Wednesday 17:00 - 17:30 UTC The etherpad is here: https://public.etherpad-mozilla.org/p/sumo-2016-03-30

WebmakerToward an Internet of Hugs

How can we create tangible reminders of one another’s presence in our lives, even across great distances? How can we send a hug across the internet? How can physical computing and the Internet of Things (IoT) make those things possible?

Those are the questions we worked to answer on our April episode of the Mozilla Curriculum Workshop.

We were joined by an awesome audience and incredible guests including:

  • Natalie Freed, a computer science and digital fabrication teacher at Lick-Wilmerding High School in San Francisco, CA.
  • Andre Garza, a Mozilla Clubs Regional Coordinator and educational technologist based in Rio.
  • Jie Qi, a PhD student at the MIT Media Lab in the Responsive Environments group.

Our fourth guest, Jeremy Boggs, a design architect at the University of Virginia’s Scholars’ Lab, could not make it, but we look forward to hearing from him on a future episode of the workshop dedicated to IoT.

Highlights of our conversation included:

  • Making the case for physical computing in the classroom as a source of wonder and agency for learners.
  • Finding places to begin with physical computing.
  • How to move from being a physical-computing beginner to being an intermediate or advanced user.

An animated .gif showing text added to the episode's etherpad over time

A big take-away from our conversation (which you can see evolving in the animated .gif above) was that the power of physical computing comes from putting the magic and wonder of making stuff work into learners’ hands. Figuring out how to wire and program a physical computing project doesn’t take away that magic or wonder; rather, it gives learners a sense of control, agency, and decision-making over the technologies they build, buy, learn, and use.

About half-way through the episode, we switched to prototyping an “Internet of Hugs” kit (drawing from past work done by Natalie Freed and Jie Qi) that would help teachers and learners create something like a light or little machine that another group of learners could turn on and off from somewhere else in the world to send a virtual hug.

You can find that prototyping work on this shared document and in our episode’s GitHub repo. Please feel free to comment and ask questions in either place and to use the materials in your own work, as well. We’d love to see this kit develop further to include:

  • A list of materials needed for building circuits with microprocessor boards (like arduino).
  • A list of at-hand materials that could be recycled for this project.
  • A facilitation guide for teaching physical computing and Internet of Hugs projects.
  • A handbook showing the assemblies and code needed for basic Internet of Hugs projects.

Please help! Let us know to how improve the kit for you and your learners. Also, let us know how to improve the workshop for you, our audience and guests.

Our next episode is schedule for Tuesday, May 10th, at 5 PM PT, 8 PM ET, and 9 PM BRT. We’ll be looking at the National Writing Project’s Letters to the Next President 2.0 (#2nextprez) campaign as a pathway into discussing and prototyping youth civic engagement resources on the web. Mark your calendar and join the fun!

In the meantime, if you’re curious to learn more about physical computing and IoT, join this month’s community call and Twitter chat to explore the wonder, magic, and agency of making software you can touch.

  • You can check out the community call here. It’s on Wednesday, April 20th, 2016 at 8am PT/ 11am ET/ 3pm GMT/ 5pm SAST/ 8:30pm IST.
  • Follow @MozTeach to get involved with the teach-the-web chat (#TTWchat) on Thursday, April 28th, 2016.

We’ll see you on the Internet of Things and Hugs!

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

Meeting NotesFirefox Status: 2016-04-12

Actions from last meeting

  • None

General Topics / Roundtable

(tips/tricks/FYI, productivity improvements, industry news)

  • Switched to eslint 2 so you may need to run: mach eslint –setup
  • Intent to unship: add-on compatibility check in application update
  • Late notice from last meeting: if you need to set prefs from the content process, you can use AsyncPrefs.jsm:
    • https://bugzilla.mozilla.org/show_bug.cgi?id=1252855 – https://dxr.mozilla.org/mozilla-central/source/toolkit/modules/AsyncPrefs.jsm
    • Uses a list of “allowed” prefs to avoid content process sandbox escapes, to which you’ll likely need to add your pref.
  • Collapse diffs in MozReview
    • https://addons.mozilla.org/en-US/firefox/addon/reviewboard-collapser/?src=search

Friends of the Firefox team

(Give a shoutout/thanks to people for helping fix and test bugs. Introductions)

  • Johann Hofmann
  • Tim Chien – [:timdream] – Visiting from Taipei
  • Katie Broida
  • Resolved bugs (excluding employees): http://mzl.la/1NlXevj
    • More than one bug fixed:
      • Rakhi(:rakhisharma)

Project Updates

Add-ons

  • http://arewewebextensionsyet.com/ says “Yes, I think we are”. So that’s good.

E10s

  • Thank you so so so so so so much for working on tests. The whole e10s team is indebted to you all.
  • Making good progress on performance issues. tpaint regression is mostly under threshold now. Still room and ideas for improvement there. tps is where effort is being shifted to now.
    • https://treeherder.mozilla.org/perf.html#/e10s
  • A team of folks under jimm and kanru are working on improving stability. We’re waiting on beta experiment data to determine if it’s having the desired effect.

Go Faster

Hello

  • e10s: Now enabled on nightly & aurora. One main issue left that Hello team is fixing (bug 1257243), one Firefox issue (bug 1257790)
  • e10s: Would like some help with bug 1262560 Investigate turning on em:multiprocessCompatible for Hello
    • When we turn this on, various mochitest test runs start leaking. Removing all of the add-on core code doesn’t resolve the issue.
  • We’re thinking about error catching/reporting in tests and at runtime
  • Another substantial round of product changes in progress

Privacy/Security

  • desktop Firefox no longer uses an about:certerror page. about:neterror will now be displayed in those cases where about:certerror would have been used in the past (the style differences have been carried over)

Quality of Experience

  • E10S test fixes!
  • QX/onboarding work…
    • bug 1219810 – improve bookmarking
    • bug 1017919 – preserve addons after a profile refresh
    • bug 1160424 – UI notification for missing system codecs (EME/Widevine CDM)
    • bug 1151449 – curly quotes!
      • actually bug 1259859 is where the big batch of changes and new test were added

Search

  • New awesomebar results UI in Nightly.
  • Putting together a telemetry experiment report from unified-search to discuss in the team meeting tomorrow.

Meeting NotesSeaMonkey: 2016-04-12

Agenda

  • Who’s taking minutes? -> TBD
  • Nominees for Friends of the Fish Tank:
    • TBD

Action Items

(who needs to do what that hasn’t been recorded in a bug)
We should assign people to the open items.

NEW

OPEN

  • Google api key for Safe Browsing. Ewong/Callek about getting it loaded onto the build machines.
    • Mcsmurf will generate an updated key and pass it to Ewong who will then upload it to our build machines.
  • IanN to review members mailing-list and council appointments (IanN to talk to mcsmurf about members list)
    • TODO: Add Adrian Kalla to RelEng team.

CLOSED

Status of the SeaMonkey Buildbot Master and Tree

Previously on Buffy The Vampire Slayer:

  • Followup to discussion in previous meeting notes
  • Adriank thinks we need an *own* build infra separate from MoCo. What is needed is buildbot (Adrian uses Jenkins), a Windows, Linux, and OSX virtual machine.
  • Ewong and Ratty discussed setting up an instance of Treeherder on our own hardware but couldn’t decide how to have a secure connection to our builders on MoCo’s infrastructure.
    • [Ratty thinks that] We could rent some colo Mac Mini servers, startup some OSX VMs one of which could run treeherder and a buildbot master. This way we could get some up to date coverage on OSX builds.
    • e.g. Macminicolo
  • Chatzilla locale generation: Frg investigating why the L10n xpi isn’t being added into the installer.

Routine reports:

  • Notes:
    • Callek: Regarding the windows systems, sadly no progress yet. I’m hopeful we can get done sooner than later, I’m realistic expecting it won’t be until January at earliest any time soon.
    • Ewong will set up a cron job to do semi regular builds on the loaner machine.
    • Windows nightly trunk builds are unavailable due to various bugs such as bug 1092468 and bug 1108970. Migrating our Windows builders to Win2008 and our compiler toolchain to VS2013 VS2015 would likely solve this and other bustages. frg 03/27: moot point to do it. m-c switched to VS2015 via tooltool on 03/25. See my section.
    • There are also some upcoming changes to L10n build system in Q1 2015 (bug 1107635).
    • Even en-US builds have stopped again. The latest trunk nightlies were 2.45a1 dated 8-Mar-2016 for W32, L32 & L64, and 2.43a1 dated 6-Jan-2016 for Mac. ** bug 1083689 Langpacks aren’t updated when auto-updating SeaMonkey because they aren’t uploaded to AMO. The solution requires changes in SeaMonkey RelEng (and possibly AMO).
    • wrt bug 1155011, we already have a Soccoro token. The patches on bug 1155013 require approval and then pushed and the work-around patches backed out.
  • [12th April 2016]
    • [*All Trees*]
      • Aside for the following specific tree bustages, we are generally busted for all trees due to the fact that our rsa ssh key needs to be changed (currently waiting), so uploading to archive.mo is busted (due to our old key being revoked/removed). Callek is working on this.
    • [comm-central]
    • [comm-aurora, comm-beta]
  • See RelEng page for the RelEng status history.

Release Train

  • SeaMonkey 2.40 is out.
  • We are skipping SeaMonkey 2.41 and 2.42 and going directly to 2.43 betas.
  • Backup plan in case we need it is to do some releases off comm-esr45. These will be 2.42.x releases.
    • [frg] I used 2.42 too since Beta 1. It is stable as 2.43, I backported Data Manager and a few other fixed bugs like Safe Browsing.
    • Need to check how to port L10n changes from SeaMonkey 2.43 to comm-esr. bug 1240738 tracks l10n changes that need uplifting to 2.42.x in case we build from 45.x ESR.
  • Next merges are now scheduled for April 25 (beta → release: April 18).
    • comm-release default is moving to SM 2.43.
    • comm-release and mozilla-release will be on 46.0.
    • comm-esr45 and mozilla-esr45 are current in preparation of TB 45.0/.1 release.
  • Useful Firefox Release Schedule link: Releases Scheduling

Extensions and Plugins Compatibility Tracking

  • See Basics page. Please only list current changes here.
  • Addon Compatibility Listings (outdated), altertative list started (currently Rainer Bielefeld is the only active maintainer)
  • Lightning betas are up for 2.42 (4.7b3), but not yet for 2.43 (4.8b1).
  • We are looking for a new place to host the Addon Compatibility Listings for the Add-on Converter in order to make it easy to maintain and to serve as the main database for the AMO browsing extension in the future. The details are in this post.
  • Firefox & Thunderbird Add-on Converter for SeaMonkey http://addonconverter.fotokraina.com/
    This tool goes a little further beyond simply modifying install.rdf – it also identifies a few more other things in the code that are Firefox or Thunderbird specific and attempts to change them. Of course, not all extensions can be ported so easily to SeaMonkey since there’s only so much an automated tool like that can do.
    • Lemon Juice continues to improve his already impressive Addon Converter. The source is now available on GitHub [1].
    • looking for a better(?) home for extension-converter pages, along with a way to track successful and conversion-failed add-ons, and respective integration into SeaMonkey by add-on or manager overlay [2], bug 1145026.
    • Rainer Bielefeld will no longer update the list of Firefox addons that have been successfully converted by the Addon Converter. — Rrbd (talk) 09:59, 16 August 2015 (PDT)
    • Ratty filed bug 1130390 to add a link on seamonkey-projects.org to the Firefox & Thunderbird Add-on Converter for SeaMonkey.
    • The AMO Browsing for SeaMonkey extension, which makes AMO pages a lot more SeaMonkey-friendly, seems mature. (It had 9 successive revisions between 27 September and 3 October, and no change since then.) It was developed by LemonJuice (of Add-on Converter fame), and Tonymec, who tested it and now uses it, supports it enthusiastically. The author proposes to add it as a “built-in extension” besides ChatZilla, DOMi and the like. What do you think? (See also Bug 1145026: AMO Add-On-Descriptions: Add link function leading to SeaMonkey add-on-converter and filling URL input pane; the extension actually does much more than the bug’s Summary implies: for instance it gets rid of the stupid “You need Firefox 10 or later” popups.
  • The Thunderbird team is currently shipping Lightning with Thunderbird. IanN is working on shipping Lightning with SeaMonkey. Related bugs:
    • bug 516026 Integrate Lightning Into SeaMonkey by Default and Ship SeaMonkey with Lightning Enabled
    • bug 1130854 Package Lightning with Thunderbird for c-c and c-a builds.
    • bug 1113183 Integrate Lightning Into Thunderbird by Default.
    • bug 1130852 Add opt-in dialog to promote Calendar integration [Thunderbird].

2.x (Last, Current, Next)

2.40

open tracking (0)
tracking requests (6)
targeted (2)
fixed (14)

2.Next
  • We need someone to work on porting sync 2.0 over to replace legacy sync code. See: New Firefox Sync has landed in Firefox Nightly. Tracked in:
    • bug 998807 Sync account creation or device pairing fails with exception in BrowserIDManager.
    • bug 1003434 Add support for about:sync-progress.
  • Stalled. Needs a kick.
    • bug 815954 Click-to-Play: Port bug 812562 (click-to-play blocklisted plugins: reshow urlbar notification as with normal click-to-play).
    • bug 476108 GetShortPathNameW fails under some NTFS junctions [patchlove].
  • Current breakages (have patches need review and check-in):
    • bug 1259928 “View Selection Source” throws TypeError: args is null Source File: chrome://global/content/viewPartialSource.js.
    • bug 1261685 All Bookmarks functionality broken due to Toolkit Bug 1257599 which renamed ‘Unsorted Bookmarks’ into ‘Other Bookmarks’
  • Mozilla-central bugs that affect us:
    • Introduction of a cloud-based certificate revocation list system for blocklists bug 1227956. Fixed by rsx11m in bug 1259947).
    • Changes to Safe Browsing. Frg has a patch ready for check-in in bug 1250600 .
    • Firefox has changed the styles of several Toolkit pages to their “in-content” designs which however look very out of place in our current classic and modern themes.
      • already affected: config.xul for about:config, Will be fixed in SeaMonkey bug 1222816.
      • Toolkit meta bug for about:* pages: bug 1097111 – SeaMonkey tracking in bug 1133743.
      • Modern may need updating as IDs are changing, Default needs forking if we want to roll back to previous styles
      • Ratty restored about:privatebrowsing UI to before it was messed up by Project Chameleon styles [bug 1192276]. Subsequent to Chameleon, Firefox developers have again redesigned the about:privatebrowsing UI to include UI for tracking protection. We should look into picking any changes we like.
      • affected pages that should be reverted are about:config [bug 1222816], about:addons [bug 1222817], about:support [bug 1222818] (look ok in Modern but hurt in the Default theme).
    • A lot of these bugs are due to mozilla-central switching from synchronous APIs to Asynchronous APIs.
    • bug 566746 (asyncFormHistory) Form history should use asynchronous storage API. Tracked in:
      • bug 912031 Use Asynchronous FormHistory.jsm in place of nsIFormHistory2 in Suite. Currently being worked on by IanN.
    • The C++ downloads manager backend nsIDownloadManager is being decommissioned. Firefox and Thunderbird have migrated to jsdownloads.
    • bug 825588 Asynchronous JavaScript API for downloads and bug 851471 Decommission nsIDownloadManager. Tracked in:
      • bug 888915 Move SeaMonkey to the new JavaScript API for downloads when nsIDownloadManager is decommissioned. Neil has a WIP patch on hand.
    • We’ve picked up he default for security.tls.version.min from Mozilla Core, but security.tls.version.fallback-limit is new. So we need to consider adding the latter to our preferences UI (bug 1123673).
      • Currently unclear whether or not this should be done after bug 1084025 disable insecure TLS version fallback entirely by default [3]
      • alternative proposal is to make whitelist for acceptable fallback sites available in the UI, which seems to make more sense.
  • bug 1198340 The carousel within Add-On Manager can be used for SeaMonkey specific content. TO DO: Find out what sort of format AMO needs for the carousel. Get our webdev person to create necessary content. Submit content for upload to AMO.
    • Unfortunately nobody knows exactly how addons.mozilla.works because there’s no full time developer working on AMO. Ratty was given bug 1009759 as an example. So now we need someone who knows python+django.
    • About specific aspects of this problem, see: bug 1230796, bug 1230804, bug 1230806 and maybe more.
    • [Ratty] The url for the discovery pane is set in a pref. Instantbird points the URL to a chrome XUL document. If we do this we don’t have to worry about the python stuff.

Feature List, Planning

Bug statistics for the last two (full) weeks: 19 new, 21 fixed, 20 triaged.

  • good triaging effort, below-average number of new bugs files.

Open reviews/flags:
65 review
5 super-review
1 ui-review
12 feedback

  • See Feature List page for major wanted/needed features.
  • TODO:
    • The toolkit help viewer is going away. Neil is working on resuscitating the old XPFE help viewer which apparently has more features.
      • Toolkit Help Viewer bugs will be moved to the SeaMonkey product. This is tracked inbug 1243203.
      • Neil is AFK for the forseeable future so we need to plan to import the Help Viewer code to comm-central if they remove it before Neil can come around to fix things.
    • Remove debugQA from Seamonkey or overhaul it removing obsolete items. See discussion in bug 1258226
    • Encrypted Media Extensions / Digital Rights Management
      • bug 1127784 added a preference and UI to enable/disable playback of Encrypted Media Extensions, with UI seen in non-release builds only
      • more work appears to be needed to download necessary 3rd-party Content Decryption Modules, some UI can probably be ported from Firefox
  • Mozilla wants to Move Thunderbird off MoCo infrastructure and onto their own, which will likely affect SeaMonkey as well
  • Fundamental core features Firefox/Mozilla plans to remove:
    • bug 1222546 Product plan: remove support for heavyweight themes
      • If effective for all Toolkit applications, would render most 3rd-party themes defunct.
      • No sufficiently plausible specifics provided ‘why’ full themes ‘must’ no longer be supported.
      • No clear statements by the Firefox drivers, bug has been restricted for comments since.
      • Discussion diverted to https://discourse.mozilla-community.org/t/planning-the-future-of-complete-themes/
      • See bsmedberg’s post #14, targeted for Gecko 49 (April 2016).
      • May prohibit Modern theme being shipped with or installed in SeaMonkey.
      • Removal is “decided” without any clear alternative envisioned.
  • What about declaring linux-x86_64 builds found at seamonkey-project.org and at ftp.m.o as “official” ?Tonymec (talk) 13:56, 7 October 2015 (PDT)
    • On October 7 two people asked in #seamonkey at a few minutes’ interval when there would be “official” 64-bit SM builds for Linux. I pointed them to the x86_64 release at the bottom of the “Other languages” release page for 2.38 and to the x86_64 2.40a2 aurora & 2.41a1 trunk builds at the bottom of the ftp.m.o nightly/latest-comm-* pages but they said these were not “official”.
    • How are we going to get out of the following vicious circle? 64-bit builds are not “official” because too few users, and users don’t install them (some even prefer compiling their own) because they aren’t “official”.
    • Maybe change the online documentation? (perhaps as part of bug 1208822 “System Requirements page needs update”?)
    • [ewong:] what’s the prerequisites of making the Linux64 builds ‘official’ aside for the issue of getting the tests done for Linux64; but our testing infrastructure is busted. bug 1209378

Roundtable – Personal Status Updates

Neil has a new job and doesn’t have any time to devote to SeaMonkey. Please re-direct review requests to Ratty or IanN who will redirect elsewhere if needed.

Status Updates from developers – what are you working on, what’s the progress, any other comments? (feel free to add yourself to the list if your name is missing and you have interesting status).

ewong
  • Working on:
    • bug 1190773 – Tooltool revamp
    • a lot of other firefights, but currently blocked on the need to have the ssh key updated.
frg

I might not be able to attend. 50/50 chance.

Waiting for review / branch check in or feedback:

  • bug 1055954 popup exceptions are not added. Please review and let me know if it’s ok. Contains string changes. Would be great if this could be checked in in this cycle. Like the Data Manager changes contains string changes and so will/might affect third party themes.
  • bug 1188348 data manager: domains invisible for Permissions, Preferences, Passwords. Checked into c-c. Any chance it can go into c-a despite the string changes?
  • bug 1251368 SeaMonkey cookie code needs to be updated to take into account mozilla-central bug 1245184. Might work without checking bug 1188348 in first but not tested. 2.44 and up affected. Checked into c-c.
  • bug 1223741 Updating to 2.39B allow images not working.

Working on:

  • bug 1258226 Remove debugQA from SeaMonkey. Input please if this should be up for reviewed if we should keep debugQA in it’s current state. A little on the back burner but not forgotten
  • bug 1238767 Localized Suite build fails in DebugQA: Stalled. I think the l10 build system might be responsible and tries to pick up files from the wrong location. Adrian Kalla thinks I need to do an l10 merge only. I disagree because the xpi only explicitly supports en-US builds.
  • bug 1223741 Already working on Data Manager changes to allow chrome, files and other schemes to not cause errors.
  • bug 1263252 Update SeaMonkey cookie code for mozilla-central Bug 1259169 [nsICookieManager::remove() should be back-compatible. Ready for review but mozilla bug backed out for now.

Titbits:

  • bug 1210791 Get rid of XULPPFLAGS in ChatZilla was checked in. SEA2_42_RELBRANCH needs a new tag to the current default changeset so that the l10n xpi might be generated.
  • Will try to work on Sync next as promised.

Other things on my mind:

  • –enable-optimize=-O2 should be used for Windows release builds. Linux gcc –enable-optimize optimizes for speed. With VS2013/VS2015 it optimizes for size. Resulting O2 Windows build feels a lot snappier.
  • SeaMonkey compiles fine with VS2015 Update 2 with Windows 10 SDK 10.0.10586.15 and mozbuild 2.2.0. x86 builds produced still work fine under Windows XP SP3. x64 build is stable for daily use in my eyes (same with VS2013). The VS2015 upgrade installer is a piece of… Full ISO is available here: http://download.microsoft.com/download/f/d/c/fdce5d40-87d3-4bd6-9139-2a7638b96174/vs2015.2.com_enu.iso
  • VS2015 c-b and c-a builds broken by bug 1256541. Will likely not be fixed but easy workaround for local builds available.
  • bug 1244467 Localized Builds: ChatZilla language pack missing from SeaMonkey installer package will not be fixed by bug 1210791. mozmake installer under Windows includes the l10n xpi in local builds.
  • Aero Peek is broken in c-b and up see bug 1256714. Quick fix in the bug but not complete. Further porting and a bugfix for sites with different zoom levels needed. If no one takes it until I find some time I will try to fix it.
  • When looking in Bugzilla what to do next I found a lot of in my eyes obsolete bugs in a short time. Who can close them. Tracking them in a meta bug? A little on the backburner too but also not forgotten.
Comment from 03/29: I am working on this problem. We have lots of UNCONFIRMED Bugs, many of them old /obsolete. But in my systematic review (may be 3 … 5 each week) I find (approximately) 25% of these old bugs real bugs, half of them Core half of them really SeaMonkey bugs. With this speed review still will take 2 more years or so, but I think it’s better than a mass-close. — Rrbd (talk) 10:53, 29 March 2016 (PDT)

Some more precise statistics here in the unofficial blog. — Rrbd (talk) 22:31, 29 March 2016 (PDT)
IanN
  • Usual localising, testing, reviewing, commenting and approving.
  • Fixed:
  • Fixed for c-c:
  • Fixed for m-c:
  • Fixed for m-i/fx-i:
  • Pending tree opening:
  • Pending approval for check in:
  • Pending checkin for dependent bugs:
    • bug 653386 Consider overriding netErrorApp.dtd rather than netError.dtd
  • Checked in pending review:
  • Waiting for feedback/review/information:
    • bug 1061348 Port |bug 575283 – Cleanup mozconfig files on all platforms| to SeaMonkey
    • bug 1163441 Use FINAL_TARGET_FILES and DIST_FILES for Thunderbird themes
  • Fixing review comments before checkin:
    • bug 757230 When using add button for permissions in Data Manager set a displayHost
    • bug 798147 Switch to correct pref pane if pref window already open
  • Working on:
    • bug 1101381 Printing throws error: DEPRECATION WARNING: getWebBrowserPrint is now deprecated, and fully unsupported for multi-process browsers. Please use a frame script to get access to nsIWebBrowserPrint from content
    • bug 1190179 Port |bug 1067325 – Add an option to view html source in a tab| to SeaMonkey
    • bug 1051642 Allow for flat chrome format when packaging extensions
    • bug 943335 [TB] Update icons used in searchplugins (Yahoo, eBay, Wikipedia, Amazon, Bing, Twitter)
    • Various SM Council documents.
    • bug 606683 Allow customization of toolbar in Composer and MailNews Composition
    • bug 639690 [META] Re-arrange code between editor and editorOverlay
    • bug 773979 [META] Switch to new drag and drop api in SeaMonkey
    • bug 657234 Move pasteQuote and pasteNoFormatting into contentAreaContextOverlay
    • File/Folder selection in windows.
  • To Do:
    • bug 639395 Get cmd_fontSize to reflect current state of selected content / content at caret.
    • Prefs-in-a-tab.
    • Create FAQ for Friends of the Fish Tank.
    • Help get composer standalone builds working with –enable-tests.
Rainer Bielefeld

I will not participate.

currently working on
  • DMOZ SeaMonkey related entries:
    • Review with low priority, including trying to get contact to site owners of listed web pages
  • Trying to help to repair problems with Add-ON Browsing for SeaMonkey caused by new AMO design:
  • QA, Bug confirming and so on as usual
You might want to discuss
  • SeaMonkey Project homepage maintenance
Performance currently needs improvement, contents of Page System Requirements (for example, see bug 1208822 – SeaMonkey System Requirements need update) is mortifying outdated. Due to Wiki Component Web pages has 2 peers: Justin Wood (:Callek) and Robert Kaiser (:KaiRo). But the peers are inactive, as this Bugzilla query shows that Jens Hatklak is the only active maintainer. That should be reflected in wiki and on Project Page, inactive peers should be removed. And there should be a strategy how to do the job with the available manpower: recruit volunteers and find a way how they can create drafts which can be integrated easily into the home page easily.
Ratty

Fixed:

  • bug 1223341 Add the Firefox Devtools to the SeaMonkey UI.
  • bug 1258955 Only small bottom area of DuckDuckGo logo icon shown in Search Sidebar and “Customize Toolbars”.
  • bug 1263262 Do not hide the menubar in the View Partial Source window [Toolkit].

Waiting for review:

  • bug 1222816 Restore about:config UI (Config Editor) to old appearance by overriding Toolkit’s Project Chameleon styles.
  • bug 1259928 “View Selection Source” throws TypeError: args is null Source File: chrome://global/content/viewPartialSource.js.
  • bug 1261685 All Bookmarks functionality broken due to Toolkit bug 1257599 which renamed ‘Unsorted Bookmarks’ into ‘Other Bookmarks’.

In Progress:

  • None

TODO:

  • bug 1236982 Simplify SeaMonkey CSS for Lightning toolbar buttons.
  • bug 1174466 Popup blocker: Need to allow popups opened by loaded javascript: URIs from the location bar. Regression from bug 896947.
  • bug 1116223 Thunderbird: Move overrides to default theme chrome.manifest.

Other stuff:

  • Did some reviews and approvals.
  • Bug triage and Bug discussions.
  • Usual end user support and PR in newsgroups and Mozillazine.
rsx11m

Pushed to comm-central and comm-aurora:

  • bug 1259947 Add kinto-updater and OneCRL preferences to SeaMonkey.

May need retargeting:

  • bug 1123673 Consider exposing security.tls.version.fallback-limit in SSL prefpane to accommodate SSL 3.0 legacy sites.

Other:

  • Bug triage, testing, and commenting for SeaMonkey and MailNews Core.
  • End-user information and discussion on MozillaZine.

Any other business?


SeaMonkey Meeting Details

hacks.mozilla.orgHow to implement SRI in your build process

Imagine getting a call from a customer who says your website is serving malware. Your heart drops, you start sweating, and then the tweets start pouring in. Something is up. You find out your systems have not been tampered with.

In fact, it was your CDN provider that got hacked, and the scripts you included on your website have become malicious. You tell your customers what happened and they don’t care. You failed to provide a secure product, now trust is lost. If this happened 2 years ago, I would feel bad for you. But if it happened to you today I would sigh and say,“You should have used SRI.”

Subresource Integrity (SRI) is a new-ish web application security standard and W3C spec that helps prevent situations like the one above. Think of SRI as a safety net or rock-climbing rope for website content security. It is simply an attribute named integrity with a SHA-2 hash as the value within a <script> or <link> tag. For example:

<script src="http://code.jquery.com/jquery-2.2.3.min.js" 
    integrity="sha256-a23g1Nt4dtEYOj7bR+vTu7+T8VP13humZFBJNIYoEJo=" 
    crossorigin="anonymous">
</script>

In order for SRI to work, the CDN needs CORS enabled. That (and more) is explained in detail in a previous Hacks post introducing SRI.

Support

File types

The first version of the SRI standard was designed to address the biggest attack vectors caused by subresource hijacking on CDNs prevalent in Cascading Style Sheets (CSS) and JavaScript (JS) files. Other file types such as Flash, image, and video are not currently supported, but may be added in a future revision of the spec.

Browsers

As of April 2016 CanIUse.com reports that ~52% of browsers (mobile + desktop) globally support SRI. The desktop user-agents that support SRI are Firefox (44+), Chrome(47+) & Opera (36+). The following Android-only mobile browsers also support SRI: Chrome (49+), Android Browser (49+), Opera (36+) & Firefox (45+).

Please note, SRI will still not work with browsers such as Firefox for iOS. This is because Apple requires all apps (including browsers & in-app browsing) to use the WebKit web browser engine. It would be nice to see a status update

SRI in your build process

There’s more than one way to get SRI into your build process. A number of tools already have plugins, for example: Grunt, Gulp, Broccoli, Webpack, Ember CLI & Handlebars.

We decided to show a real world example of SRI in a build process. We used a Grunt plugin called grunt-sri to generate the hashes.

How we did it for jQuery:

When looking at including SRI integrity for code.jquery.com, we took a fairly simple approach compared to previous implementations. The code base was already using Grunt, and as such, it was pretty straightforward to include a target using the popular grunt-sri node module. grunt-sri traverses a specified list of files and generates a JSON payload including all the metadata required for implementing SRI in a code base. Once generated, the output file can easily be used as the base datasource when building out an application. Here’s a simple example of implementing a base generator using grunt-sri:

// Gruntfile.js
grunt.loadNpmTasks("grunt-sri");
grunt.initConfig({
    sri: {
        generate: {
            src: [ 'public/**/*.js', 'public/**/*.css' ],
            options: { algorithms: [ 'sha256' ] }
        }
    }
});

Once implemented, running grunt sri:generate will output ./payload.json for requiring in your application, or another Grunt task. The SRI SHA can then be accessed from the payload file from your code as shown in the grunt-sri documentation:

// ES6 from https://github.com/neftaly/grunt-sri#javascript
var payload = require("./payload.json");
var sri = (id) => payload.payload[id];

var element = `<link
    href='/style.css?cache=${ sri("@cssfile1").hashes.sha256 }'
    integrity='${ sri("@cssfile1").integrity }'
    rel='stylesheet'>`;

For additional implementation details see https://github.com/neftaly/grunt-sri or peruse our pull request to code.jquery.com, specifically this diff.

Beyond JavaScript / Node.js

If you prefer to keep it old school with a Makefile, no problem. Assuming you are using a unix-like environment, you can skip using node modules and do something like this:

# Makefile
generate:
    cat FILENAME.js | openssl dgst -sha256 -binary \
        | openssl enc -base64 -A

For examples of generating SRI SHAs in various other platforms, see this Gist.

Conclusion

Subresource Integrity is a very simple way to secure static assets hosted on servers you have no control over. There are several tools that allow you to easily integrate SRI support into your build process(es). Modern website/application developers should not only do their part in implementing SRI, but discuss it with their peers explaining the benefits.

Big thanks to Frederik Braun, Jonathan Kingston, Francois Marier & Havi Hoffman for their help reviewing this article.

Mozilla Add-ons BlogHow an Add-on Saved a Student Untold Hours

This is the actual hand Rami uses to click his mouse and save text to files.

This is the actual hand Rami uses to click his mouse and save text to files.

Rami Khader is pursuing a Master’s degree in Information Technology Management at Regis University. This endeavor involves exhaustive research and writing. Early in his studies, Rami encountered a clear need when it came to organizing and recalling online literature reviews for his various papers and thesis.

At the start of any research project, Rami says he reviews at least 30 other papers related to his subject. But only small, scattered portions of any paper bear relation to his own topic. “My issue was—I needed a quick tool to copy a summary of text I found, and then add a data time stamp and URL reference so I could return back to the website,” explains Rami. “I was doing this manually and it consumed lots of time.”

Then he found Save Text to File, an add-on that saves selected text and its metadata to a directory file with one simple right-click of the mouse.

“This was exactly what I was looking for,” says Rami. “For each chapter of my thesis I have a file full of summarized text and URLs of the papers that I can quickly access and remember what each page and paper was about. I have my own annotated bibliography that’s ready to be formatted and added to my papers.”

Very cool. Thanks for sharing your add-ons story with us, Rami!

If you, kind reader, use add-ons in interesting ways and want to share your experience, please email us at editor@mozilla.com with “my story” in the subject line.

Air MozillaConnected Devices Weekly Program Review, 12 Apr 2016

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

The Mozilla BlogMozilla-supported Let’s Encrypt goes out of Beta

In 2014, Mozilla teamed up with Akamai, Cisco, the Electronic Frontier Foundation, Identrust, and the University of Michigan to found Let’s Encrypt  in order to move the Web towards universal encryption. Today, Let’s Encrypt is leaving beta. We here at Mozilla are very proud of Let’s Encrypt reaching this stage of maturity

Let’s Encrypt is a free, automated and open Web certificate authority that helps make it easy for any Web site to turn on encryption. Let’s Encrypt uses an open protocol called ACME which is being standardized in the IETF. There are already over 40 independent implementations of ACME. Several web hosting services such as Dreamhost and Automattic, who runs WordPress.com, also use ACME to integrate with Let’s Encrypt and provide security that is on by default.

HTTPS, the protocol that forms the basis of Web security, has been around for a long time. However, as of the end of 2015, only ~40% of page views and ~65% of transactions used HTTPS. Those numbers should both be 100% if the Web is to provide the level of privacy and security that people expect. One of the biggest barriers to setting up a secure Web site is getting a “certificate”, which is the digital credential that lets Web browsers make certain they are talking to the right site. Historically the process of getting certificates has been difficult and expensive, making it a major roadblock towards universal encryption.

In the six months since its beta launch in November 2015, Let’s Encrypt has issued more than 1.7 million certificates for approximately 2.4 million domain names, and is currently issuing more than 20,000 certificates a day. More than 90% of Let’s Encrypt certificates are protecting web sites that never had security before. In addition, more than 20 other companies have joined Let’s Encrypt, making it a true cross-industry effort.

Congratulations and thanks to everyone who has been part of making Let’s Encrypt happen. Security needs to be a fundamental part of the Web and Let’s Encrypt is playing a key role in making the Internet more secure for everyone.

Air MozillaSh!t mozillians say

Sh!t mozillians say "Keep on rocking the freeeeeeeeeeeee web."

Meeting NotesMozilla Project: 2016-04-11

  • Every Monday @ 11:00am Pacific Time (19:00 UTC)
  • http://air.mozilla.org/ to watch and listen
  • join irc.mozilla.org #airmozilla for backchannel discussion
  • Presenters only: Vidyo room “Brownbags”. Do not use this room if you’re not planning to speak.
  • Dial-in: conference# 8600
    • People with Mozilla phones or softphones please dial x92 Conf# 8600
    • US/Toll-free: +1 800 707 2533, (pin 369) Conf# 8600 (max 48 users at any time)
    • US/California/Mountain View: +1 650 903 0800, x92 Conf# 8600
    • US/California/San Francisco: +1 415 762 5700, x92 Conf# 8600
    • US/Oregon/Portland: +1 971 544 8000, x92 Conf# 8600
    • CA/British Columbia/Vancouver: +1 778 785 1540, x92 Conf# 8600
    • CA/Ontario/Toronto: +1 416 848 3114, x92 Conf# 8600
    • UK/London: +44 (0)207 855 3000, x92 Conf# 8600
    • FR/Paris: +33 1 44 79 34 80, x92 Conf# 8600
    • sip:conf8600@mozilla.com or, for some clients, sip:conf8600@anonsip.scl3.mozilla.com (may not work for all rooms)
    • Gmail Chat (requires Flash and the Google Talk plugin): paste +1 650 903 0800 into the Gmail Chat box that doesn’t look like it accepts phone numbers
    • SkypeOut is free if you use the 800 number
    • If you plan on presenting, please join the Vidyo BrownBags 20 minutes prior to the start of the meeting and announce to the A/V Technicians that you will be speaking so that they can confirm your Audio and Video.

All-hands Status Meeting Agenda

Items in this section will be shared during the live all-hand status meeting.

Friends of Mozilla

  • Thanks to Martin Giger for writing up a JPM changelog for the latest update! JPM releases contain crucial bug fixes that matter to developers, and this is the first time someone has documented them.
  • Daniele Scasciafratte, for his Python script for packaging WebExtensions. Tools like these really improve the experience of developing WebExtensions, so thank you!
  • Thanks to Mozilla Tech Speakers Rabimba Karanjai for speaking at IoT Summit in San Diego last week; Gabriel Mičko for participating in the Game of Code hackathon in Luxembourg; and Aya Soufan for her talk at the NablusTechMeetup at The Arabic American University in Palestine, introducing Mozilla contribution opportunities to attendees.

Upcoming Events

Monday, 11 April
Wednesday, 13 April

Project Status Updates (voice updates)

Firefox and Cloud Services

Speaker Location: Toronto

  • Firefox 46 release date has changed to Apr 26

The Firefox release date for Firefox 46 has been pushed out from April 19 to April 26. The corresponding merge dates and releases for beta 47, aurora 48, and nightly 49 will also move to be in sync with 46. If you have any questions please ask Liz Henry (:lizzard in #relman)

Speakers

The limit is 3 minutes per topic. It’s like a lightning talk, but don’t feel that you have to have slides in order to make a presentation. If you plan on showing a video, you need to contact the Air Mozilla team before the day of the meeting or you will be deferred to the next week. The meeting is streamed in a 4:3 format in order to allow for split screen. If your slides are 16:9 “widescreen” format, please indicate in the “Sharing” column below.

Presenter Title Topic Location Sharing Media More Details
Who Are You? What Do You Do? What are you going to talk about? Where are you presenting from? (Moz Space, your house, space) Will you be sharing your screen? (yes/no, 4:3 or 16:9) Links to slides or images you want displayed on screen Link to where audience can find out more information
An-Me Chung Director of Strategic Partnerships, Mozilla Foundation Mozilla’s new, interactive Web Literacy Map Remotely Yes https://teach.mozilla.org/web-literacy https://teach.mozilla.org/web-literacy
Lucy Harris Program Manager, Participation Team The New NDA Process Toronto Yes https://docs.google.com/a/mozilla.com/presentation/d/1IA7Y-W2z19zmWVSxXe7pvphwPhfQKByoCV_J_4O76MM/edit?usp=sharing https://wiki.mozilla.org/NDA

Welcome!

Let’s say hello to some new Mozillians! If you are not able to join the meeting live, you can add a link to a short video introducing yourself.

Introducing New Volunteers

New Volunteer Introduced by Speaker location New Volunteer location Will be working on
Who is the new volunteer? Who will be introducing that person? Where is the introducer? Where will the new person be contributing from? What will the new person be working on?

Introducing New Hires

New Hire Introduced by Speaker location New Hire location Will be working on
Farhan Patel Stefan Arentz Toronto Canada Remote Mobile UI
Calvin Chan Mike Poessy San Francisco Vancouver End User Services

<meta>

Notes and non-voice status updates that aren’t part of the live meeting go here.

Status Updates By Team (*non-voice* updates)

Developer Relations

Developer Relations at Mozilla
Monday, April 11, 2016

Notices:

Planning: MozFest, Tech Speakers v2, Code Schools, Web Compat, content licensing

Events / Talks / Meetups / Trainings

Bugs

Blog posts & Podcasts

Hacks Posts

Calendars

Follow

Help

Engineering Productivity (Automation & Tools)
Engagement
Events

Connected Devices meetup in San Fransisco on April 21st. We have one great speaker planned and are confirming 2 more.