02
Aug 12

What is it like?

This question popped up on Quora recently and I offered a response (though, to be honest, I’m more curious about other people’s responses). Dave Dash, formerly of Mozilla web dev answered as well, and Jared Wein answered in blog form.

I’ve included my answer below even though, re-reading it a few days later, there’s so much more I want to add (I can’t believe I didn’t mention working with our worldwide community of employees and volunteers, or the impact of video conferencing, or the miracle of california tacos, or qdb, or mozillamemes…)

What’s your experience?
Continue reading →


11
Jul 12

At Our Most Excellent

Jono recently wrote a blog post about Firefox updates, and Atul wrote a follow up. They are two of the brightest usability thinkers I know. When they talk about users, I listen. I listen, even though some of the things they say sound confused to me, and some are plain wrong. And I listen because if people as bright and in tune with Mozilla as them think these things, I bet others do, too.

When I read (and re-read) the posts, I see 3 main points:

  1. The constant interruption of updates is toxic to the usability of any piece of software, especially one as important as your web browser.
  2. Our reasons for frequent updates were arbitrary, and based on the wrong priorities.
  3. We take our users for granted.

To be honest, if it weren’t for the third point, I wouldn’t be writing this. Anytime you do something that impacts lots of people, especially lots of impassioned and vocal people, you’re gonna get criticism. Listening to that is essential, but fanning the flames can consume all your energy and even still some people won’t be convinced. The third point, though, made by two people who know and love Mozilla even if they haven’t been close to the release process, isn’t something I want to leave sitting. I understand how it can fit a narrative, but it’s just not true.

Since I’m writing anyhow, though, let’s take them in order.

Interruptions Suck

Yes. They do. One criticism that I think we should openly accept is that the move to regular releases was irritating. The first releases on the new schedule had noisy prompts (both ours and the operating systems’). They broke extensions. Motives aside, our early execution was lacking and we heard about it. Plenty.

Today our updates are quiet. Addons have been compatible by default since Firefox 10 back in January. But that was a mountain of work that would have been much nicer to have in hand up front. As Jono says, hindsight is 20/20, but we should have done better with foresight there.

Motivations

It was hard for me to read the misapprehension of motives in these posts. Hard because I think Mozilla’s earned more credit than that, and hard because it means I haven’t done a good job articulating them.

Let me be clear here because I’m one of the guys who actually sits in these conversations: when we get together to talk about a change like this, concepts like “gotta chase the other guys” are nowhere in the conversation. When we get together and draw on whiteboards, and pound on the table, and push each other to be better, it is for one unifying purpose: to do right by our users and the web.

I wrote about this a while back, but it bears repeating. We can’t afford to wait a year between releases ever again; we can’t afford to wait 6 months. Think how much the web changes in a year, how different your experience is. Firefox 4 was 14 months in the making. A Firefox that updates once every 14 months is not moving at the speed of the web; we can’t go back there. Every Firefox release contains security, compatibility, technology and usability improvements; they should not sit on the shelf.

There’s nothing inviolate about a 6 week cycle, but it’s not arbitrary either. It is motivated directly from our earnest belief that it is the best way for us to serve our users, and the web at large.

And so the hardest thing for me to read was the suggestion that…

We Take Our Users For Granted

Nonsense. I don’t know how else to say it. In a very literal way, it just doesn’t make sense for a non-profit organization devoted to user choice and empowerment on the web to take users for granted. The impact of these changes on our users was a topic of daily conversation (and indeed, clearly, remains one).

To watch a Mozilla conversation unfold, in newsgroups or in blogs, in bugzilla or in a pub, is an inspiring thing because of how passionately everyone, on every side of an issue, is speaking in terms of the people of the web and how we can do right by them. We are at our most excellent then.

There’s beauty in the fact that this is another of those conversations. It is not lost on me, nor on Jono and Atul, I’d wager. They are Mozillians. And I believe they care deeply about Firefox users. I hope they realize how much the rest of us do, too.


08
May 12

A Compendium of Awesome

Team Firefox 2012Two weeks ago, the Firefox team got together for a work week in Toronto. It was amazing. Walking through a room with that many excellent people doing excellent things was inspiringhumblingunbelievable and the hits kept on rolling.

The combined mobile and graphics teams cut the beta blocker list for Fennec Native in half. The desktop team banged together a working prototype of sign in to the browser. The firefox tech leads worked with product and project management to nail down the kilimanjaro bug list for desktop. Madhava gave a great talk about the future of Firefox UX. I would have scored it as a strong success based on those outcomes alone.

And then this happened:

Continue reading →


16
Apr 12

The Cognitive Science of SHUT UP

“I’m going to be a shrill and rigid idiot.

“I’m going to blindly refuse to listen to contrary opinions. I’ve already made up my mind, and will invent reasons why alternatives won’t work. Most importantly, I’m going to get this done my way, regardless of whether it’s actually the best decision, or even a good idea.”

You’ve never approached a problem that way. No one has.

But you’ve probably told yourself that story about someone else. You’ve been on the receiving end of one of these mindless and petty tyrants, in a bug or a mailing list or a standards body, and you’ve decided that you were seeing a rigid idiot in action. I know I have.

My philosophy of science prof used to talk about how the two important tests of a scientific model are whether it allows you to make accurate predictions, and how well it helps you discover new things. This matters more than its elegance or its intuitive appeal, though a really nice model has those, too.

The Rigid Idiot model does, for better or for worse, predict. It predicts more rigid idiocy, and people using that model to inform their interactions are likely to get precisely that. But it’s a pretty hollow model for generativity; it doesn’t help you make progress.

Here’s an alternate model:

Stress response pre-dates our neocortex, and outranks it. It is wired more deeply into us than language, much less rational discussion. And it has predictable effects. A person under stress (personal, professional, social, physical) will lose patience more quickly, anger easily, resist change, and consider fewer alternatives before making decisions. It’s an ancient, optimized cognitive path: less waffling when there are lions nearby. That it impairs our ability to function in this 10,000 year old thing called ‘civilization’ is evolutionary postscript.

You get to choose which model you bring to a conversation. When you assume that the person you’re dealing with is acting atypically, from point-in-time stress instead of born-in idiocy, you give yourself follow-up questions to ask about timelines, or conflicting pressures, or hidden assumptions. You give yourself ways to understand motivations, and implicit guidance about tone.

Not every asshole is a stress response waiting to be defused, but I swear to you that the single greatest improvement you can make to your success rate with these conversations is to switch models. I have seen people turn on a dime once their stressors are addressed. Suddenly there are lots of solutions, and confrontation turns to collaboration. It’s like a god damned secret decoder ring, to be honest.

With practice, you may even start to recognize the descent into idiocy in your own interactions, though it won’t make you immune. This is old, lizard-brain stuff. Like drunkenness, you can get better at detecting it, but you can’t think your way out of it. And, as with drink, my hope is that if you see someone a little worse for wear, you remember that it’s fleeting. Give them some time to sober up before assuming that’s who they really are.


28
Mar 12

42 Days

In a recent thread on dev.apps.firefox, someone suggested we shift our 6 week release schedule to avoid Microsoft Patch Tuesdays, or other unfortunate timing coincidences. I’m not announcing any changes to our release schedule, but I did make a point there that I want to repeat a little more broadly (and with emphasis added):

Let’s go back to first principles for a minute. Releasing every 6 weeks is a cadence we set for ourselves to satisfy several constraints. Constraints like:

  • Delivering security and stability fixes on a regular basis.
  • Getting new features out to our users promptly, and being able to iterate on the feedback we receive.
  • Containing the amount of code change and change-interaction that happens per release.
  • Giving ourselves time to react to problems discovered before release (on Nightly, Aurora, or Beta)

Releasing daily wouldn’t work very well; it runs afoul of the last constraint. Releasing yearly would hurt us on the first 3. But the constraints are just about as well satisfied by 40 days or 44 days as they are by 42 days.

We derive great benefit from our current schedule. It satisfies these constraints much better than the old, monolithic release model did. But that is not to say that we should treat 42-day cycles as inviolate. We will adjust. We will add or drop days, or add or drop weeks when we need to. We’ll be respectful of the fact that other people build plans around our plans, and try not to alter schedules without notice, but at the end of the day we’ll do right by our users first and foremost.

Right now we’re not looking at moving the release to another day of the week (Tuesdays do have some nice properties), or adding a skip week somewhere to take us off-cycle for the next patch Tuesday, but those discussions are absolutely on the table when they make sense.

No religion here. 6 weeks is a nice spot in the constraint space, not a law. The first time we miss it, people will talk about us “slipping,” but the tail doesn’t wag the dog here. Firefox still ships when it’s ready.


13
Feb 12

2 years old

HandsDada happy!

Yes, Lily, I’m very happy. I’m always happy when I’m with you.

Dada kiss! hug!

Every time you kiss someone, you hug them, and then eskimo kiss. You kiss, hug, and eskimo kiss nana. You kiss, hug, and eskimo kiss mommy. You kiss, hug, and eskimo kiss teddy, and your tea cups, and my RC helicopter.

You smile a lot. You know that you’re supposed to smile for pictures, but you don’t really know how to make that happen on command, so smiling for pictures is sort of a grimace. I think it’s beautiful, but I suspect in a few years you’ll think it’s silly.

I watch you count toys and name the letters of the alphabet and I start to understand why parents all get this far off look in their eye when they talk about how quickly the time goes. I bet that part gets worse with time. The parents of 7-year olds in my life seem to feel it more deeply, and the parents of 15-year olds even moreso.

I wonder, as I have before, and even before that, which of your current fascinations will persist. You love bugs bunny cartoons. You can recite Sahara Hare verbatim. So can we. You put HP sauce on your scrambled eggs. You sit on the potty with an android tablet on your lap and watch nyan cat reaction videos and the duck song. Your childhood will be very, very different from mine.

At night, you can’t go to sleep without one verse each of Rainbow Connection, Climb Up Sunshine Mountain, and Twinkle Twinkle, Little Star. In the last month, you’ve started to sing along.

And then I tell you it’s time for sleep. And you say,

Okay. Goodnight daddy, I love you.

And it gets me. every. time.

I love you too, Lily. Happy birthday.


25
Jan 12

Bringing Android Native Firefox to Beta

I like trains. Last year, we put Firefox on a train-based release model: every six weeks, another train leaves the station. When a feature catches the train it moves through iterative testing on our Nightly, Aurora and Beta channels and, if that testing confirms its stability and general excellence, it goes out to hundreds of millions of Firefox users. If testing reveals an issue, we pull the feature out for another round of review, and let it catch a later train. The trains have run on time ever since, and the results have been incredible. Firefox improvements reach our users regularly, faster than ever before.

However, when we decided to rebuild Firefox for Android using Native UI, we recognized that the first release couldn’t ride the trains. The iterative release model that serves us so well with Firefox works best when most changes are incremental and independent. Building a new high-performance front end for Firefox on Android, by contrast, involves many interconnected pieces being rebuilt in tandem.

Right now, the engineering team is focused on building an amazing browser for Android phones, and we’ll have a beta to show you in the coming weeks. It might coincide with one of our regular 6 week trains, but it’s quite possible it won’t. If it doesn’t, don’t worry. It’s cool. Firefox for Android will get back on the trains once the native UI rebuild is finished, but for a change this major we have extra work we want to do before we send it out the door. We’ll only ship it once we’re happy with its quality and performance. If you can’t wait that long, check us out on tablets or try our early release Aurora builds. I think you’ll be pleased.

[This post originally appeared on the Future of Firefox blog]


30
Nov 11

Know Thyself – NSID 2011

The unexamined life is not worth living — Socrates

Socrates didn’t have a smartphone. If he had, he might have been less cavalier about the mortal consequence of an unexamined life. The distractions of life interrupt introspection, and we have built a world around us to collect and channel and amplify those distractions. We are no longer oaks putting down roots, we are leaves in a river; we float and bob in the current. It is beautiful, in its way, but it lacks depth.

Wake up and take control of your own cipher — Chuck D

The modern psyche aches for self-possession as much as Socrates ever did. We flock to the authentic. We eat local; we shop indie; we grasp for things with permanence and we try to hold on. Each new soothsayer peddling some ancient tradition as a restorative balm for the soul gets our enthusiastic, if divided, attention.

Self-knowledge doesn’t come from a farmer’s market or a flea market, though, and it doesn’t come in a brilliant flash of insight purchased from the self-help list at amazon. Self knowledge comes from looking in the mirror each morning and, from the moment you wake up, making your decisions in manual mode, not automatic.NSID 2010 Mosaic

Look in the mirror. Get past the human reflex to make eye contact with your reflection, and look at your face. Is it shaven? Groomed? Why? Because it’s what you did yesterday, and last week, and the week before that? Maybe it’s because you made a choice at some point to shave it. Is that choice still right? How do you know?

When I started NSID 5 years ago, I did it because I’d never seen my face with a beard. 1 month to see my own face in a new light. Have you seen yours? Have you seen it recently?

In the month of December, we support each other in this most basic piece of self-examination. We let it grow, let our faces express their base nature. We don’t shave. And we see what happens. Join us. Post your photos to the NSID flickr pool, tweet with the #nsid hashtag, track your colleagues in the aggregator. It’s good for your soul.

Socrates and Chuck D would want you to.