Outreachy Internship

9 March, 2016 § 1 Comment

This summer, I with the help of Mozilla, will be mentoring someone as they work on fixing some of the papercuts in the Firefox desktop user interface.

We know there are problems with Firefox when it comes to things “just working right”. Some involve the smoothness of entering and exiting Reader Mode, while others involve the fit and finish of our “getting started” tours.

If you know JavaScript & CSS and are looking for a summer internship, you can be the person that I mentor.

This is a paid internship and will run from May 23rd to August 23rd, 2016. A $5,500 stipend will be provided as compensation for the internship.

This internship is open to under-represented groups in the free and open-source software community. These groups include all women (cis and trans), trans men, and genderqueer people internationally, as well as all Black/African American, Hispanic/Latin@, American Indian, Alaska Native, Native Hawaiian, and Pacific Islander people in the US.


The ideal student will have the following background and availability:

  • Available to work on the project about 40 hours per week. This will not be a good project to work on while taking part in another internship program at the same time.
  • A strong CSS background. Do you feel comfortable answering how the CSS box model works, and the order that elements are painted to the screen?
  • A strong JavaScript background. Have you used JavaScript Promises before? Do you know the difference between bubbling and capturing event listeners?
  • Not afraid to work with some C++ if necessary. Fixing some of the bugs below may require working with some of the Windows-specific platform widget code, and this is almost entirely written in C++. It’s not that scary, but has different nuances than the JS/CSS work.
  • A productive work environment. Students in this internship will be “working from home” and will need to provide their own working environment.

Finding your way around

You’d mostly be writing JS and CSS, though being comfortable with the other technologies we use will be helpful.

To get a feel for things, you can open up the Browser Toolbox and “inspect” the UI of the browser. From there you can use MXR (http://mxr.mozilla.org/) to go from searching for some text on a button you see in the user interface to finding the code that is executed when the button is clicked.

Set up an “artifact” build. This is the simplest build setup that we have for Firefox, and should take less than 10 minutes. Once you’re up and running, you can use this artifact build to make changes to the JS & CSS of the browser.

Getting Started

I’ve put together a list of bugs that will be the focus of this internship. People wanting to apply to this should pick a bug off of the following list and begin working on it.


Each bug on the list has a number of “points” that are assigned to them. The more points a bug is worth, the harder the bug may be to get fixed.

There’s currently nine bugs on the list, but I may add more in the future when these get fixed.

Here’s the link again to the bug list: http://mzl.la/1UT0xRs. Go ahead, click on it, look for a bug that excites you, and see how you can use the tools from the “Finding your way around” section to fix the bug.

Interested and have questions?

Please reach out to me. I’m available via IRC during the US Eastern timezone (+5 GMT) working hours on irc://irc.mozilla.org in the #fx-team channel by the name of `jaws`. You can also email me at `jaws [at] mozilla [dot] com`.

More information about the Outreachy program can be found on the Mozilla wiki page, as well as the Gnome wiki page (the originators of the Outreachy program).

We knew unicorns could bounce, but now they spin?!

2 September, 2014 § 7 Comments

One of the hidden features of Firefox 29 was a unicorn that bounced around the Firefox menu when it was emptied. The LA Times covered it in their list of five great features of Firefox 29.


Building on the fun, Firefox 32 (released today) will now spin the unicorn when you press the mouse down in the area that unicorn is bouncing.


The really cool thing about the unicorns movement, both bouncing and spinning, and coloring is that this is all completed using pure CSS. There is no Javascript triggering the animation, direction, or events.

The unicorn is shown when the menu’s :empty pseudo-class is true. The direction and speed of the movement is controlled via a CSS animation that moves the unicorn in the X- and Y-direction, with both moving at different speeds. On :hover, the image of the unicorn gets swapped from grayscale to colorful. Finally, :active triggers the spinning.

New in Firefox Nightly: Recommended and easy theme switching through Customize mode

27 August, 2014 § 5 Comments

Firefox menuWe shipped the Australis project with Firefox 29, but the Firefox team hasn’t stopped working on making Firefox the easiest browser to personalize. Firefox allows easy customizing through the new Customize mode, and now in Firefox Nightly people will find a quick and easy to way to set the theme of the browser.

After entering Customize mode, a new menu is shown at the footer of the window. Clicking on this menu will show any installed themes as well as a list of five recommended themes.

These recommended themes were picked from the Add-ons for Firefox website by members of the Firefox User Experience team. All of the themes are licensed through Creative Commons. Some are CC-BY and others are CC-BY-SA.

Themes menu

Hovering over a theme in the menu will preview the appearance of the theme. Clicking on one of the themes will change the applied theme.

An applied theme

We haven’t figured out yet what the rotation will be for recommended themes. Any input on how often or how we should go about putting together the next list is greatly appreciated.

Full management of themes and add-ons is still available through the Add-ons Manager. Recommended themes that have not been applied will not show up in the Add-ons Manager. Once a recommended theme is applied, it will appear in the Add-ons Manager and can be uninstalled from there.

My contribution to today’s Firefox release

29 October, 2013 § 6 Comments

I haven’t written up one of these blog posts in a while. The previous one was in August 2012 for Firefox 15. Coincidentally, that post mentioned a subtle change to the site identity area of the web browser.

In today’s release of Firefox, there is another subtle change to the site identity area of the browser. Pages that are a part of Firefox itself, whether it be the built-in home page (about:home), our troubleshooting page (about:support), or others now sport a special Firefox branding within the location bar. The goal of this branding is to increase awareness and trust with these pages.


Clicking on the Firefox name or the two-tone Firefox logo next to the name will show a popup notification that explains that this is a secure Firefox page.


These changes were previously announced when I introduced them to the Nightly channel of Firefox this past July.

Picking Up The Crumbs

17 June, 2013 § 25 Comments

A few days ago a new feature landed in Firefox Nightly that makes closing multiple tabs easier than it was before.

I often find myself in situations where I have multiple tabs that I opened only to look at for short periods of time. Sometimes I reach this state while reading articles on Hacker News or looking at funny pictures on Reddit. At the end of looking at the tabs, it would be nice if Firefox had a way to close these ephemeral tabs so you can get back to your previous work quicker.

Close Tabs to The Right

Well, Firefox now does! If you open lots of tabs from Reddit and then want to close all of the tabs to the right of Reddit, just right-click on the Reddit tab and choose “Close Tabs to the Right”. It’s easy and quick!

Why “close tabs to the right” and not “close tabs to the left”? When we open new tabs they appear on the end, and so naturally tabs that have a longer lifetime end up being promoted to the start-side of the bar. This leads us towards the situation where closing tabs “to the right” is a simple way of closing the ephemeral tabs.

Users who are using Firefox with a right-to-left locale such as Hebrew or Arabic should see the equivalent “Close Tabs to the Left” feature.

Huge thanks go out to Michael Brennan who contributed the patches and automated tests for this feature! Unless something drastic happens, this feature will find its way to Firefox Release in just over 12 weeks in Firefox 24.

A new semester, a new capstone project

11 January, 2013 § 3 Comments

This is the first week of a new semester at Michigan State University, and with that brings a new group of students who will be working on a senior capstone project with Mozilla.

This semester the students will be focusing on multitouch gestures within the browser. They’ll start out the semester by fixing a few good-first-bugs, then they’ll move on to adding some gestures to standalone image and video documents. The final step of the project will be to focus on improving our pinch-to-zoom for webpages in Firefox.

As the semester progresses, the students will be blogging their progress on their own blogs (I may crosspost them here from time to time):

Brandon Waterloo: http://brandonwaterloo.wordpress.com/
Raymond Heldt: http://heldtray.wordpress.com/
Bill de Araujo: http://spartanfire.wordpress.com/

Here’s to a great semester!

Identity theft with Comcast?

28 November, 2010 § 1 Comment

Over the holiday weekend, the cable box in my house stopped working. The user interface for the cable box functioned fine, but the picture and audio were completely gone. I brought the cable box to Comcast and swapped it with one that they had in stock for no charge.

The next day I hooked up the cable box and called Comcast to sync up the box with their licensing service. When I was on the phone with them, the operator mentioned that there was a pending service order in a couple days and they could do the work then if that wasn’t a problem. Weird, nobody here knew anything about this service order.

Somehow there was an order in for telephone and cable service upgrades/installation. The phone number they had on file as requesting this service had nothing to do with us. Googling the phone number got us a name and address of a house in the next city over. It goes without saying that we promptly got the service order cancelled.

In the end, I’m happy that we noticed this before it happened.

Could we be a victim of identity theft? How could an order like this be placed on our account? What would have happened if we hadn’t noticed?

Where Am I?

You are currently browsing the Uncategorized category at JAWS.


Get every new post delivered to your Inbox.

Join 1,040 other followers