Tune in to design at Mozilla

March 9, 2010 6 comments »

The best designers in the world all have one thing in common – a really full trash basket.

Design takes time, patience and iteration. It takes sketching the same ideas out over and over again on a whiteboard, figuring out which bits work and which bits just seemed like good ideas at the time. It takes staring at other people’s ideas and jealously wishing that you’d thought of that, too, and wondering what bits you can take as inspiration without people accusing you of not being original. It takes many soul searching evenings of figuring out if being original is really the right goal.

Sharing those sketches can be hard to do, and often it’s done only in the context of the finished product. In the past when we’ve tried to share early sketches at Mozilla, the enthusiastic (yet often awfully harsh) feedback of the community ends up ending design explorations before they really get started. The result is that designers have waited until more fully fleshed out mockups and designs can be shared, but this comes at the cost of not being as transparent as we feel we should be, and not including our community in our design discussions.

So those of us working on User Experience at Mozilla are going to try something new: a virtual idea journal and sketchbook, which we’ve tentatively called “From the Bikeshed” (as you may imagine, picking a name proved tricky!) It’s a Tumblr microblog doohickey thinger that we’ll all be posting to throughout the days and weeks to come. It’s only been active for a few hours, and we’ve already started really filling it up.

The astute will quickly notice some things:

  1. It’s really random. There’s really no rules to what type of content will get posted here. We’re sharing sketches, whiteboard diagrams, iterations of high fidelity mockups, half formed ideas, articles that we found interesting and relevant, even images or photographs that inspired us.
  2. There is little context being offered. This is intentional. When we have more context to give, we’ll write a blog post, but for now, this is our design stream of consciousness. When we’re done with a meeting or sketching out something cool, we’ll post it right away without cleaning it up.
  3. There is no place to leave comments. This is less intentional, but while we figure out how to enable comments on Tumblr, we’re also going to think about what sort of comments we want to enable. As always, people should feel free to give us feedback in the dev-usability group.
  4. Some of the stuff has nothing to do with Mozilla. Yup, and that’s healthy. The best ideas often come from thinking about how to apply other solutions to your problems, so we often go around looking at other problems in order to figure out how to solve our own.

So far it’s been really freeing and enjoyable for us all to start sharing this stuff with you, and hopefully you like it, too. Thanks to Alex Limi for setting up the Tumblr and getting us rolling.

Sweet and spicy BBQ chicken wings

January 17, 2010 1 comment »

I found myself with 1-2lbs of fresh, local chicken wings and a desire to BBQ them. This super simple sweet and spicy marinade came from the masterminds at Weber:

  • 1/2 cup ketchup
  • 1/4 cup balsamic vinegar
  • 2 tablespoons of dark brown sugar
  • 4 teaspoons of granulated garlic
  • 2 teaspoons chili powder
  • 2 teaspoons paprika
  • 2 teaspoons Dijon mustard
  • 3 teaspoons Tabasco sauce
  • 4 teaspoons Worcestershire sauce

Whisk all that stuff together in a mixing bowl. Smell and taste to make sure you get both “sweet” and “spicy” out of it, adjust as you see fit. Give your wings a cold water rinse, pat dry with paper towel, then toss into a big ziploc bag with the marinade. Press the air out of the bag, make sure the marinade coats all the wings, and let it all sit in the fridge for 3-6 hours.

Heat up the BBQ to medium (350F, give or take 25 degrees). Take the wings out of the bag and spray or brush on a little bit of oil to keep them from sticking to the grill; you can also oil the grill. First sear the wings (2-3 min per side) using direct heat – this gets nice grill marks on them, too. Then move them to indirect heat and roast for 8-10 minutes, making sure that they’re cooked before serving.

Update: I can now confirm that this results in delicious chicken wings.

Of rumours and broken telephones

January 15, 2010 28 comments »

I’ve spent the past week speaking with community members at development and product management meetings, as well as speaking with members of the technical press about the upcoming release of Firefox 3.6, which I truly believe to be the best browser for users. Of course everyone wants to know what’s next for Mozilla, and what the future looks like. Despite doing my best to be as clear as possible, what gets written can be more or less accurate.

The rumours of Firefox 3.7’s demise have been greatly exaggerated. Nobody’s planning on “dumping” features or the hard work of our passionate and tireless community.

The shape of the Internet changes every day. Our mission is to develop the best open source implementations of web technologies and ship them in an excellent browser so that our users and the entire Web can benefit. That means always thinking about how we can deliver technology as efficiently and quickly as possible. Sometimes it means challenging our assumptions.

One assumption we’ve had for a long time is that the only way to ship new technology – such as improvements to downloadable web fonts or support for new standards like CSS, SVG and WebGL – was through a full Firefox version update. Until recently, our infrastructure prevented us from being able to be as agile as we would have needed to be in order to deliver something isolated like the “Lorentz” project (which aims to improve product stability and security by running plugins in their own process) to our users. Now that we have better test automation and the ability to develop on project branches, we can better isolate changes with continuous integration testing, nightly builds and the ability to deliver smaller pieces continuously through the regular maintenance cycle (”minor updates”) of a product. This means that we can, without the user being disrupted or disturbed, improve stability, security, and capability for the 25% of the Internet users who browse using Firefox. One day they’ll start up their web browser and it will be better. Maybe it will crash less, maybe it will be improve typography support on the web.

This is a powerful change, but we must also be careful to keep users in control of their software. Improving the open video engine is something we should feel comfortable doing, as it preserves (but improves!) the existing user functionality. Changing the way the browser looks or interacts with users is something we should avoid doing. I think of it this way: if I take my car in for service and it comes out with better fuel efficiency, that’s great. If my gearshift has changed location, I’d be pretty surprised and upset. We shouldn’t be doing anything in a maintenance release that could leave a user surprised and upset, period.

So instead of thinking of “Firefox 3.7″ and “Firefox 4.0″ and being rigid and proscriptive about what technology improvements will come in which specific months, I’m encouraging us all to think about what we’re trying to improve, and how those improvements can be most efficiently delivered to our users and the Internet. Improvements and support for new technology originally slated for Firefox 3.7 in a draft roadmap long ago may now find their way into users’ hands even earlier. Risky interactive changes that could benefit from multiple iterations and betas can safely do so without worrying about “missing the boat.”

Software development is chaotic, and due to the open nature of our community you (and the press) are getting to see exactly how the sausages are made. It may look like a bloody mess at the start, but once it starts to take shape it’s obvious that you’re making something delicious.

One sided attacks

January 12, 2010 2 comments »

Several of my colleagues flew to the USA this morning on business, and were thusly made guinea pigs for the new TSA security rules. They reported longer than usual delays, and more invasive than usual complimentary massages from security workers, but thankfully reports of random beatings were highly overstated.

Discussion on IRC led me to the Air Canada page detailing the new travel restrictions whereupon I found this lovely gem:

When travelling from the U.S., normal allowance applies both for carry-on and checked baggage.

I have been (surprisingly, for those who know me) more patient than others with the latest spate of restrictions. Sure, I found it a little sad that passengers would be prevented from having anything on their laps (including blankets) during the final hour of flight only. Of course I thought it was ridiculous that someone thought that security could be served by prohibiting pilots from letting passengers know exactly where along their flight route they were at any given time. Carry-on baggage restrictions and mandatory pat-downs will cramp my usual swift transit through airports, but along with locks on cockpit doors they seem to be the only sensible and potentially preventative new security measures introduced since 9/11.

But to discover that these measures are only being applied to flights inbound to the USA and not those departing? It is by far the strongest proof that the TSA is not interested in preventing an attack, but rather interested in covering its ass. At best, it’s incompetence that makes a security agency believe that an attacker wouldn’t be happy to destroy an aircraft filled with Americans departing for a vacation as opposed to returning home, at worst, it’s an incredible arrogance to believe that all other nations’ borders are permeable and theirs is not. Especially in light of the intelligence failings that led to the completely preventable attempt of the “jockstrap jihadi.”

We all know that airport security in most countries is a farce. The TSA (and CATSA, it’s northern relative) are unwilling to throw out their handbooks and pay attention to what has been proven to work. Until they do, all we can do is laugh and dance along to this lovely tune that’s being fiddled for us at airports most of the world ’round.

It’s beginning to feel a lot like a software release

January 11, 2010 1 comment »

As we get close to ship date, my calendar tends to fill up quite a bit as I meet with various team members to go over final checklists as well as my friends in the technical press to talk about what’s new and exciting in the world of Firefox. This has left me with a busier than usual week:

If I’m not as available as you’re used to, please accept my apologies in advance and send me an email, instead.

Oh, and if you haven’t already, do give the Firefox 3.6 Release Candidate a thorough try. Since I’ve been using this version since the alpha releases, it’s easy for me to forget how much of an improvement it is over what we were so proud to publish only 6 months ago. With built-in support for Personas, vastly improved stability and security, and new technology that improves the capabilities of the web as well as the speed with which we bring it to you, I’m pretty sure that Firefox 3.6 will be a big hit.

I promise this won’t be any good at all

January 8, 2010 2 comments »

I have, several times before, made myself (and perhaps you) a promise to step up on my soapbox more frequently than recent history might suggest was common. A funny thing happens with those promises. The collective weight of their disappointment results in a self-imposed burden to – this time – reel you back in with witty prose, insightful comment, and let’s be honest, a caliber of writing to which I may never have been able to stake a claim. The result is that I start many essays which yield nothing but the modern equivalent of crumpled balls of paper at the bottom of the wastepaper basket.

If, as Eaves suggests, a web log is a gymnasium for writing, I make use of it even less than I do the local JCC to which I have a membership. This is astonishing, since I think I managed to visit that Semitic sweat  factory maybe 6 or 7 times last year.

The problem, of course, is that I don’t want to disappoint you. I assume that you’re a discerning audience (after all, you ended up here! heyooo!) and therefore I do not wish to waste your time. Halfway through writing a new missive I would seize up, convinced that your frustration with my poorly written self-indulgent bullshit would cause real damage to our relationship. In short: I would get stage fright and chicken right the hell out.

The solution: I’m not writing for you, anymore, for a while. I am writing for me. I will be doing it more often, and I assure you, the quality will suffer for that. I will spare aggregation utilities like Planet Firefox and Planet Mozilla from my mauvais mots but if you are still subscribed to this channel through an RSS reader (do people still use those in the age of Twitter and Facebook?) I apologize in advance for the increase in volume. I will not take it personally if you choose to withdraw.

Firefox.next: moving faster

October 9, 2009 5 comments »

Last weekend I was at MozCamp EU 2009 where I spoke with people there about the future of Firefox, and why I believe we need to accelerate our pace of delivery. This isn’t news to anyone who’s been on development or delivery calls for the past few months, or working on blocker bugs for the upcoming Firefox 3.6 release, but I wanted to add some context and structure around why I feel this to be increasingly important.

There’s the obvious challenge of competing with not one but three industry giants. This is the competition we wanted, the competition we created, and the competition that has benefited the Internet and all of its users. It’s what we set out to do as a community. The new challenge I see is ensuring that we don’t let the open web technology stack become turned into a commodity. The competition in the next 2 years will be about how the technology used to create exciting, rich, interactive experiences online is developed.

At the same time, Jay Sullivan, Chris Beard, Mike Shaver, myself, and many other people have been working on expressing a structure for understanding how to build a strong direction that can be used to draw a roadmap for the future of Mozilla products. The two topics are obviously related: in order to move as quickly and efficiently, we need to know where we’re going.

I’ve embedded (and linked to) my presentation below; I put it on SlideShare.net* yesterday and the editors there bumped it to the front page, which is exciting to me as it means that the messages we’re putting forward are resonating with people.

I expect that the roadmap will evolve over time, and will be working with many people in the Mozilla project to add more detail in the coming weeks and months.

(* yes, I realize that there’s an irony to these slides being shared through a Flash-based viewer; I put the slides together using Apple Keynote, and the export to HTML version really doesn’t work so well.)

(edited: Saturday, October 10th for clarity)

Firefox 3.6 product planning update

August 17, 2009 3 comments »

(as I mentioned last week, the Firefox team will be keeping y’all informed of what’s going on with product planning and development)

Week of August 10th:

  • started into the triage of bugs nominated to block Firefox 3.6
  • worked with the release engineering and development teams to co-ordinate the branching of mozilla-1.9.2 from mozilla-central, and updated the checkin rules for those trees
  • gathered more input on the product roadmap from various stakeholders, and a kick in the butt about actually publishing instead of gathering :)
  • worked with Chris Blizzard and others on a project to help users update their plugins
  • started talking with John Slater on how we can provide better upgrade and first run experiences to Firefox users

Loose threads:

  • file bugs for the upgrade and first run experiences and discuss with Rob Strong (updater) and Mike Morgan (AUS)
  • file bugs for the plugin update experience and discuss with Rob Strong (updater) and Mike Morgan (AUS)

Next targets:

  • publish draft of Firefox product roadmap before August 21st
  • get the nomination list for bugs blocking Firefox 3.6 to 0 before August 21st

I also wanted to mention that the Mozilla Corporation employees who are members of the Firefox development team will be getting together at the new offices in Mountain View, California to collaborate face to face for a week. We’ll do our best to make sure that the meetings and discussions are being broadcast in ways that let you join in, but as always, you can find our backchatter on IRC in #fx-team.

Feed my kitty

August 10, 2009 7 comments »

My cat, Abby, likes to eat. She’s the first cat I know to be a gobbler, not a grazer, with her food. It’s impossible to walk into the kitchen without her following you and making a play for some sort of snack, and to hear her tell of things, she’s always damn near starving.

For a while we tried free feeding her, but the result was a close to 17 pound overweight cat. We’ve now got her on a fairly regular schedule: kibble in the morning, wet food at 9am, kibble when we get home, wet food at 9pm, kibble before we go to bed. This only holds her until about 5 or 6 in the morning, though, at which point were she allowed to sleep in our bedroom she would engage in all manner of annoying tactics to rouse us in order to put some more food in her dish (her favourite: jumping on the dresser and pulling the pictures away from the wall only to let them fall and clatter back against it; diabolical!) So for now, we have to lock her up downstairs before bed, and this makes my wife and I all sadfaces.

I’ve looked into automated cat feeders as a way around this, and this one looks OK, but I’ve heard tell that cats pretty quickly figure out how to get more food out of them by swatting at the auger mechanism. I sketched out a design which I think might be superior:

diagram

Figure 1 - Automated Cat Feeder

My hope is that the tube will make the food just “magically” appear in the cat’s dish, and keeping the hopper out of reach means that a cat’s paws won’t be able to coax more kibble out on demand. The corkscrew mechanism should allow for arbitrary feeding amount simply by programming the timer circuit to run it for a certain number of seconds.

Anyone out there really handy making things like this who wants to collaborate?

Firefox team weekly roundups: planning, sprinting, and reporting

August 7, 2009 5 comments »

Going forward, the Firefox product development team will be making a stronger effort to communicate about the projects that we’re working on, what sort of progress we made over the past week, and what we’re thinking of doing over the next few weeks. We’ve got a template of sorts, and while I suspect it’ll vary from person to person, you should expect to hear about:

  • Progress: the major goings-on within a project area for the past week; “not much” is a perfectly acceptable update here, and quite a valuable one as it helps us understand when projects are getting stuck or slowed down.
  • Loose threads: patches can linger in review queues, projects can get stuck waiting on feedback, documentation can go unwritten, but all of those things should be listed as loose threads so that we can make sure we tie them up.
  • Next target: this should list the next set of objectives (patches, designs, decisions) and an estimate of when they are to be completed.
  • Next steps: a recommendation of whether work on the project should continue, or be shelved for now, or be killed outright, as well as any insights into future directions.

You can keep tabs on an overview of all the projects that the team is engaged on, and of course, come and chat with us about the projects and how to get involved.

I’ll likely give slightly different reports, focusing on an overview of the major Firefox product management happenings over the past week. For instance, this week would probably look something like this:

  • Firefox 3.0.13 and Firefox 3.5.2 were shipped to users on Monday.
  • At Tuesday’s Developer’s Meeting we discussed the upcoming Firefox 3.6 Alpha 1 release, as well as when infallable malloc should land in the tree and whether or not we should ship a subset of the jQuery libraries with the Mozilla platform.
  • At Wednesday’s Delivery Meeting we talked about how the mozilla-1.9.2 branch would likely be cut early next week, and how we could help users running older, insecure versions of Adobe Flash update themselves to the latest version.
  • I gathered some more input on the product roadmap, a deliverable that I am extremely behind in delivering
  • A post-mortem was held on the Firefox 3.5.2 and 3.0.13 release
  • Firefox 3.6 Alpha 1 is set to be released late Friday afternoon

I’m not as sure if my overviews will be as interesting, so please feel free to leave a comment if there’s more or less of a certain type of information you’d like to see from me in particular.