Test Pilot launches today!

Check out Test Pilot or read the official announcement.

I joined the Test Pilot team in January and am pleased to be a part of launching our experiment platform today on testpilot.firefox.com! Our goal is to provide a portal where you can easily browse and play with experimental features in Firefox.

We're starting out with three new experiments so people can get a feel for what the program is like and we'll be rotating new experiments in as previous ones graduate from the program.

Behind the scenes is a pretty comprehensive pipeline to rocket an idea from the back of a napkin to being used by users in a short period of time. If you have an idea (bonus points if it's already an add-on) and would like to get in the program let us know, look us up in #testpilot on irc.mozilla.org, or get in touch with me directly.

Replace emojis with :aliases: on IRC

I work with some cool cats who are on the cutting edge of hip new technologies like emojis. OS X shows the emojis correctly but if I'm using IRC over SSH from Linux all I see are missing characters:

Are they ready to push the site? I always just assume so, but before that comes back to bite me I decided to write a quick script to replace emojis with their text aliases:

On the left is their view, and on the right is my client that is still stuck in two-thousand-late.

If you run weechat and would like to use the script:

  1. Copy emoji2alias.py to ~/.weechat/python
  2. Run /python load emoji2alias.py

If you want it to load automatically:

  1. cd ~/.weechat/python/autoload
  2. ln -s ../emoji2alias.py .

Meet the New Test Pilot

Effective immediately, we've renamed the Idea Town program to Test Pilot.

The original Test Pilot was an opt-in "labs" project around measuring what people actually did with the browser in small experiments, but hasn't been used in over a year and has no future plans. We'll be using the name and some of the assets to accelerate our original Idea Town plans.

At first glance the two projects appear similar but have key differences. I originally wrote a list to clarify what the new Test Pilot program was but decided it would be most useful if everyone could see it. Below is a rough description of the new Test Pilot.

  • Test Pilot is an evolving set of stepping stones for getting an idea from a concept stage to landing in Firefox itself in an expedient way, being measured and verified along that path.
  • Test Pilot is not a prototyping team.
  • Test Pilot team members are amplifiers of people participating in the program. When a person or group submits an idea to Test Pilot they are starting a process in which they should expect to be involved until a conclusion is reached.
  • Test Pilot team members help participants progress through the Test Pilot process in whichever ways are needed - from boiling an idea down to get at a measurable core concept, documenting an idea thoroughly, iterating on designs and prototypes, assisting with coding, communicating with appropriate teams around Mozilla, and helping uplift a successful idea to its next stage in life. An analogy could be made between Test Pilot team members and consultants.
  • Test Pilot's intention is to facilitate providing decision-makers with quality, focused data in a short period of time.
  • Test Pilot works very closely with the Mozilla community (including paid staff).

I'm working on our migration plan but the Test Pilot wiki page is up and contains links to getting involved and staying up to date on further changes.

Long live Test Pilot. Again.

Next Stop: Idea Town

This is just a quick post to highlight some logistical changes:

After nearly a decade of working on AMO I'm passing the module ownership and engineering management to the very capable Andy McKay, who has also been working on it for many years. With this transition, I think, it's the first time that the AMO website and the add-ons support in the platform are all reporting to the same manager. I expect this will mean a much more streamlined experience and I'm happy to see the add-ons program is getting a lot of organizational support in 2016.

At the same time, I'm also passing my engineering responsibilities on the Firefox Marketplace to David Durst, and, let's be fair, he's been doing them all for a long time anyway. David will continue supporting the Marketplace for the TVs which just launched this month, as well as wherever the new connected devices program takes Mozilla.

I'll be transitioning to the Idea Town team as the engineering manager, working closely with the Firefox team and the community to get ideas from concepts to landing in the browser in record time. Look for more info on what that means soon!

Thanks for your support while we all transition.

Enabling Encryption in Weechat

Here are some step by step instructions for enabling encryption using crypt.py in weechat.

First, ensure the crypt.py script is installed. The easiest way is from within weechat itself:

/plugin load script
/script install crypt.py
/script autoload crypt.py

You should see some simple messages saying crypt.py was installed and enabled for automatic loading.

Next you need to generate an encryption key. This just needs to be named with the channel you want to use the key with (I use #channel below). For example:

cd .weechat
openssl genrsa -out cryptkey.#channel 4096

We might as well make sure only we can read it:

chmod 600 cryptkey.#channel

At this point typing any text in #channel will automatically be encrypted (use a second client if you'd like to verify it). For example, I typed:

1811 clouserw │ testo

And the other clients in #channel see:

1811 clouserw | +qRy3GsV2sPRlJSdP1IqqV|

The next step is to distribute the key to the other people who will need to decrypt the chat. Take a minute to consider the best way to do this as the chat will only be as secure as this key.

Lastly, you can optionally add an indicator to the status bar by adding 'encrypted' to weechat.bar.status.items. This command will tell you your current value:

/set weechat.bar.status.items

Copy that value and add 'encrypted' where you'd like it to show up. Mine is:

/set weechat.bar.status.items "[time],[buffer_count],[buffer_plugin],buffer_number+:+buffer_name+{buffer_nicklist_count}+buffer_filter,encryption,[lag],[hotlist],completion,scroll"

which looks like this:

[18:16] [32] [irc/freenode] 30:#channel{3}⚑ (encrypted)  [H: 3, 4]

That's all there is too it!