May Open Web Open Mic Toronto: Call for Presenters


What: Mozilla Open Web Open Mic
When: May 22, 6-9pm ET.
Where: Mozilla Toronto, 366 Adelaide St. W, 5th Floor

Mozilla Open Web Open Mic (OWOM) is back for May. Put on by the Mozilla Toronto community, OWOM features a science share exploration and lightening talks (5 min). April’s event had a great turnout (50-60 people) and included a variety of content from WEBVTT, to MakerFaire, to my talk Building for Mobile Web Compatibility.

The call is currently open for science share participants and speakers. Sign up at

Interested in attending? Sign up now at

Posted in mozilla | Tagged , , | Comments Off on May Open Web Open Mic Toronto: Call for Presenters

Challenge: Take horseplay on the road

Europtimum delivers Totoro

A couple of weeks ago, our friends at Europtimum responded to our horse gesture (timeline) with the delivery of a most excellent Totoro. For those of you unfamiliar with Totoro, my understanding is that it is a 1980’s Japanese animated cat. This particular manifestation is a cat like box, which the lovely people over at Europtimum made themselves and filled with an end of week snack consisting of candy necklaces, rockets and super balls. (Despite at least one person having never previously seen a superball, no one ate the superballs.) Needless to say, fun for the whole office.

TotoroMozilla and Europtimum have been having a fair amount of fun. However, our initial connection was simply location based – their office is on the fifth floor in the adjacent building. A small act of kindness to brighten the day of our neighbours has resulted in a wonderful series of back and forth with them that has brought smiles to both of our offices.

This latest bout of kindness got me thinking that it’s time to take horseplay on the road – that is, to spread the fun to others.

Here’s my challenge. Take a look out of your window and pick an office. Figure out who’s over there and then, quite out of the blue, send them a horse related product. (Bonus points for doing it in person!) Let’s see what sort of new relationships will form simply by taking a few minutes out of your day to do something nice for a group of strangers. The horse head that we sent is available on Amazon. Some other fun products might be a lucky horseshoe, a plush animal, or mane and tail.

To kick things off and break the international border, the Mozilla Toronto office has sent a horse head to our Mozilla colleagues in France to celebrate their new Paris office.

A bonne chance!


Posted in mozilla | Tagged , , , | Comments Off on Challenge: Take horseplay on the road

Building for Mobile Web Compatibility

Last Wednesday’s Open Web Open Mic event at the Mozilla Toronto office was really great. 50-60 people from the Mozilla Toronto community gathered to discuss their projects via a science fair and a series of lightening talks. I had a good conversation about WebVTT with a group of Seneca students, learned about the upcoming Mini Maker Faire Toronto from Jenn Dodd, and discussed the use of What Can I Do For Mozilla for non coding work with Josh Matthews.

As this was an Open Web event, I took the opportunity to talk about Building for Mobile Web Compatibility.

Building for Mobile Web Compatibility title slide

The takeaways from this presentation are AVOID:

  • User Agent (UA) Detection
  • CSS Vendor Prefixes
  • Browser Specific Property/Feature Usage

Instead, PREFER:

  • Feature Detection and Media Queries
  • Web Standards

If you would like to see more, I have posted my slides on

Thank you to everyone who came out to this event and especially to Majken ‘Kensie’ Connor for pulling us all together.

Posted in mozilla | Tagged , , , , , | 2 Comments

Who are these managers and what do they do?

As the Mozilla project has grown so too has our management structure.  There are a number of people with various manager titles involved in the day-to-day operations of many Mozilla projects. You may know some of these people and have a sense of what they do. This post is to help clarify these positions so that you can better understand the value that people in these roles bring to the project and their relationship to your work.

There are four types of managers that I will discuss here: development managers, product managers, project/program managers, and release managers.

development managers

A development manager has responsibility for a development team, such as front-end, WebAPI, or performance. It is the development manager’s responsibility to guide the team’s work, balancing various requirements and the relative priorities. Development managers are people managers. This means that they are responsible for the professional growth of the people on their team and that of the team itself.  They serve as reviewers, mentors, and advisers. Many Mozilla development managers are very hands-on writing patches and providing code reviews.  Some people you may know in this role are Gavin Sharp, Andrew Overholt, and Taras Glek.

Takeaway, development managers:

  • are people managers
  • guide a development team’s work

product managers

Product managers are more removed from day-to-day development. They gather requirements for Mozilla products by reviewing market research and trends, following standards bodies like the W3C, and speaking with the engineering community. They have the challenging job of forecasting the requirements for our products based on their projected market needs 3, 6, 12, or more months into the future. Product managers provide strategic guidance for our development efforts through user and developer stories, use cases, and product roadmaps. They help with tough decisions about feature and product prioritization. Product managers spend their time looking at the big picture to ensure we can all see the forest for the trees. Some people you may know in this role are Asa Dotzler, Karen Rudnitski, and Chris Lee.

Takeaway, product managers:

  • gather requirements from stakeholders and create roadmaps
  • provide guidance and leadership to engineering

project/program managers

Project/program managers drive projects by managing project scope, schedule, and risk. They serve as a project steward and sounding board for stakeholder issues. Project managers coordinate work from various teams such as release engineering, product, user experience, support, quality assurance, press and pr, marketing, legal, privacy, WebDev, and IT. The result of working with these teams is that people in this role are typically well connected in the project. Unlike release managers, who, as I will discuss below, focus on individual releases, project managers focus on projects that may span multiple releases or multiple products. Many of the people at Mozilla who are in this role have strong technical backgrounds having come from the development organization at Mozilla or elsewhere.  Some people you may know in this role are Sheila Mooney, Caitlin Galimidi, and me.

Takeaway, project/program managers:

  • drive projects by managing scope, risk, and schedule
  • coordinate the work of many different teams

release managers

Release managers are similar in many ways to project managers except their focus is on individual Firefox releases. The release management team manages and coordinates release schedules for the Firefox desktop and mobile Release, Beta, Aurora and Nightly trains, as well as Firefox OS. They monitor and control our risk profile and its impact on our product quality. They chase down critical issues and manage chemspill releases (point releases for critical issues). They ensure that the process flows from code check-in, to build, test, and release. They triage and track bugs in current and upcoming releases and coordinate the resolution of external issues, such as those due to plug-ins and add-ons. Release managers have to balance the needs of the various Firefox stakeholders including engineering, release engineering, quality assurance, support, documentation, and IT. Some people you may know in this role are Alex Keybl, Lukas Blakk, and Bhavana Bajaj.

Takeaway, release managers:

  • drive Firefox releases
  • triage and track bugs and coordinate the resolution of external issues

working with your managers

If you have worked with people in these manager roles you may have noticed that some people seem to be doing aspects of multiple manager jobs. The descriptions of each role above are the core responsibilities of each group. These roles tend to bleed into one another to a certain extent. All of the people in these roles are leaders within the organization and each have skills that allow them to play multiple roles.

Now that you know more about these roles and the people in them, use them. Talk to your product manager if you want to understand more about the product requirements and priorities. Talk to your project manager if you are blocked, unclear about project scope or timeline, or need some other help with your project. Talk to your release manager if you have questions about the upcoming release or have critical work that you think should be brought to their attention. And talk to your development manager about your engineering work and your career.

Posted in mozilla | Tagged , , , , , | 11 Comments

No More Snappy Meetings and Other Changes from the Snappy Team

I want to summarize a few operational changes coming out of a team discussion during this week’s Snappy work week.

Snappy is a collection of mostly discreet sub-projects. For example, Paulo’s work to make downloads async does not overlap with Benoit’s work on the profiler or Vladan’s work on improving start-up. The changes listed below are based on suggestions from the Snappy team for ways to better support Snappy’s project structure, improve project predictability, and reduce meeting inefficiency.

Project definition and leadership

We are going to be more explicit with our project definitions by listing high level requirements. There is also now a stronger requirement to scope the project. This means spending time thinking through the project before starting to code.

We will also identify the key project team members and a project tech lead.

Project tech lead responsibilities

In addition to providing technical direction for a project, the project tech lead will be responsible for:

  • organizing and running project meetings
  • blogging biweekly about the project

No more Snappy meetings

In an attempt to make better use of our collective time, the Snappy meeting will be cancelled in favour of project specific meetings. The goal is to have shorter meetings that are more on point for the attendees.

Monthly performance program reviews

A new, monthly performance meeting will be established to review quarterly progress and discuss project delays. This meeting will also be an opportunity to discuss new project proposals and review overall performance goals.

Daily updates

Due to the increased time between larger project meetings (monthly instead of biweekly), we will try short, daily updates via IRC. We will experiment with statusbot for managing and logging daily updates and aggregate updates in Benjamin Smedberg’s weekly updates tool. The goal of daily updates is that each team member’s work should be visible. i.e. Managers and tech leads should not need to ask what you are currently doing. Each team member is responsible for pinging statusbot in the #perf channel daily.

Posted in mozilla | Tagged , , , | 4 Comments

Horsehead Saga Timeline

The Mozilla Toronto office has been horsing around with our neighbours across the way. Johnath wrote up a very nice account of what has transpired over the last few weeks. For those that are following along, I present the Horsehead Saga Timeline. (I’ve done my best with dates and pics but am open to corrections and additions.)

Posted in mozilla | Tagged , , , | Comments Off on Horsehead Saga Timeline

Help wanted: Firefox OS UA detection

Firefox for Android and Firefox OS, while based on the same Gecko platform, have one key difference with respect to compatibility: their user agent (UA) string. The difference between the UA strings for these two products is the inclusion of the “Android” token in the Firefox for Android UA. The lack of an “Android” identifier for Firefox OS is a good thing, in that it provides sites that employ UA detection to detect Firefox OS as a non Android device and subsequently suppress their Android specific endorsements. However, our research has shown that a large number of sites detect the presence of the “Android” token rather than the “Mobile” token to indicate that a client is a mobile device. Firefox OS, therefore, is frequently misidentified as a non mobile device and served desktop content.

For the initial launch of Firefox OS, we created an UA override mechanism the allows Firefox OS to identify itself as Firefox for Android. This mechanism ensures that Firefox OS receives mobile content for top sites. However, this mechanism is a short term solution and does not scale to the scope of the Web. What we want is to clear out this list by having sites recognize Firefox OS as mobile.

The UA override list currently contains 132 entries. All of these sites have undergone some measure of quality assurance from Mozilla or one of our partners and each has been demonstrated to be functional on Firefox OS.

Here’s where we need your help.

Do you, your friend, your relative, or other acquaintance work for one of the sites on this list? If so, please speak with them about changing the site’s UA detection to recognize Firefox OS. If UA detection is to be used, Mozilla’s recommendation is to detect the “Mobi” token, which will allow for the identification of the greatest number of mobile clients.

For your reference, the Firefox OS UA is:

Mozilla/5.0 (Mobile; rv:18.0) Gecko/18.0 Firefox/18.0

Don’t know anyone at any of these sites but would still like to help? Look for other ways to contact the sites. Other ways that we have found to be effective are to ping the site on Twitter, submit a trouble ticket via the site support or feedback forms on their website, or try e-mailing catchall addresses like

The open list of sites with UA overrides can be found in Bugzilla. For your reference, I have also listed the sites that currently have an UA override below.

2013-09-03 Update: Further overrides removed.

2013-03-06 Update: Great support and progress thus far! I will cross off the sites on the list as they are fixed.

Posted in mozilla | Tagged , , , , | 22 Comments

DateCountdown Wikimo Template

Have you ever wanted your wiki page to include an automatically updated countdown of the number of days until some event? Well now you can. I have added a DateCountdown template on that does just this. Using this template you specify a date and the wiki will automatically display the number of days left until that date. After the date passes, the wiki will display “0”. This is useful for event countdowns like, days to the next merge, days to next release, or days left in a sprint or iteration.

Use the DateCountdown template as follows:


where DATE should be of the form yyyyMMdd. For example,

Days to Firefox 17 release: {{DateCountdown|20121120}}

The output of which is (today only):

Days to Firefox 17 release: 11

For a date that has passed, like the Firefox 16 release date:

Days to Firefox 16 release: {{DateCountdown|20121009}}

The output is:

Days to Firefox 16 release: 0

For live examples, see the platform meeting agenda, where the release management team has used the template to show the days left until the next merge and release. It has similarly been used for the coordination meeting agenda.

Posted in mozilla | Tagged , , | Comments Off on DateCountdown Wikimo Template

Mobile Web Compatibility Nov 9, 2012 – Video update, UA detection tools, Phony for B2G?

Video update

I gave a short update about mobile Web compatibility during the Oct. 22, 2012, Mozilla project meeting. This update should bring you up-to-speed on the problem and the various initiatives that we have underway to tackle it. The video is available via Air Mozilla (skip to 4:00).

Help wanted: deep dive investigation

Are you a Web dev? We need your help deep dive testing a short list of sites. The goal of this exercise is to understand why after spoofing the user agent and aliasing Webkit prefixed CSS properties these sites are still broken. Details and the site list are in my post Call for Help: Broken Site Deep Dive Investigation.

Phony functionality in B2G

To better support mobile Web compatibility testing on B2G, we need Phony type functionality to switch the user agent. I have started a discussion on the dev-b2g list and filed bug 810075. If you have ideas or can help with the implementation, please comment.

Site testing and outreach

Over the past couple of week I have spoken with Categorizr,, and WURFL, all user agent detection tools/frameworks. Categorizr and 51degrees correctly identify Firefox for Android mobile + tablet and Firefox OS. I am working to provide WURFL with an update as well.

Joe Drew spoke with, who will start recognizing Firefox OS shortly.

Facebook has fixed their drop-downs for Friend Requests, Messages and Notifications (bug 715515).

Jason Smith and I held a test event in the Mozilla Mountain View office and on Air Mozilla on Oct. 23. Test results were submitted for 45 additional sites. Thank you to everyone who contributed.

Want more debugging tools for Firefox for Android? Mark Finkle blogged about the new remote console for Firefox for Android.

Interested in helping with site testing and evangelism? See Gerv Markham’s blog post Website Evangelism: Mobilizing Mozilla.

Posted in mozilla | Tagged , , , , , , , , , , , | Comments Off on Mobile Web Compatibility Nov 9, 2012 – Video update, UA detection tools, Phony for B2G?

Call for Help: Broken Site Deep Dive Investigation

Not too long ago we kicked off an analysis to answer the question,

Does aliasing a subset of Webkit CSS properties in Gecko improve mobile Web compatibility?

The preliminary results of our small study showed little improvement. The next step in this analysis is to understand why the sites that were tested are broken even when aliasing Webkit prefixes in Firefox.

This is a call for help and your call to action. The sites to test are listed below. We need to know as much detail about why each site is broken as possible. Ideally, the for each site we will have a report that includes the lines of code that are broken and a suggested fix. It will benefit us to know any JavaScript frameworks that have issues. As we have already seen, it is common that the resolution of one site issue causes a new issue to become exposed. We need a complete list of issues in order to best decide how to target fixes. Ultimately, we will need to answer question like, can we make a set of changes to Gecko, possibly including Webkit CSS prefix aliasing, that does make a significant difference for mobile Web compatibility? Are the issues primarily in site specific code or a common set of frameworks?

Results can be reported by filing bugs against the Tech Evangelism: Mobile component or by sending them to the compatibility mailing list.

Site list with visible issues (as reported by Mozilla QA)

    1. Completely broken on FF Android. Appears to be broken by looking for the Webkit JavaScript value “WebkitPoint” that does not exist in Gecko.
    1. White screen renders on page
    1. Slideshow of icon shortcuts don’t allow swiping left and right
    2. Missing colors on certain buttons.
    1. ads and transitions within ads are not shown correctly
    1. colors for refresh button are not right
    2. text is occasionally blacked out when scrolling page
    1. ads don’t render
    1. very obvious layout issues in comparison to Android stock browser
Posted in mozilla | Tagged , , , , , , , | Comments Off on Call for Help: Broken Site Deep Dive Investigation