<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>meandering wildly &#187; Mozilla</title>
	<atom:link href="http://blog.johnath.com/category/mozilla/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.johnath.com</link>
	<description>johnath in blog form</description>
	<lastBuildDate>Thu, 26 Jan 2012 14:39:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Bringing Android Native Firefox to Beta</title>
		<link>http://blog.johnath.com/2012/01/25/bringing-android-native-firefox-to-beta/</link>
		<comments>http://blog.johnath.com/2012/01/25/bringing-android-native-firefox-to-beta/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 20:40:40 +0000</pubDate>
		<dc:creator>Johnath</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.johnath.com/?p=707</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>I like trains. Last year, we put Firefox on a <a href="http://mozilla.github.com/process-releases/draft/development_specifics/">train-based release model</a>: 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 <a href="www.mozilla.org/firefox/channel/">channels</a> 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, <a href="http://blog.mozilla.com/blog/2011/12/21/firefox-2011/">faster than ever before</a>.</p>
<p>However, when we decided to rebuild Firefox for Android using Native UI, we recognized that the first release couldn&#8217;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.</p>
<p>Right now, the engineering team is focused on building an amazing browser for Android phones, and we&#8217;ll have a beta to show you in the coming weeks. It might coincide with one of our regular 6 week trains, but it&#8217;s quite possible it won&#8217;t. <em>If it doesn&#8217;t, don&#8217;t worry. It&#8217;s cool.</em> 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&#8217;ll only ship it once we&#8217;re happy with its quality and performance. If you can&#8217;t wait that long, check us out on tablets or try our <a href="http://www.mozilla.org/en-US/firefox/channel/">early release Aurora builds</a>. I think you&#8217;ll be pleased.</p>
<p><small>[This post originally appeared on the <a href="http://blog.mozilla.com/futurereleases/?p=713">Future of Firefox blog</a>]</small></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.johnath.com/2012/01/25/bringing-android-native-firefox-to-beta/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Know Thyself &#8211; NSID 2011</title>
		<link>http://blog.johnath.com/2011/11/30/know-thyself-nsid-2011/</link>
		<comments>http://blog.johnath.com/2011/11/30/know-thyself-nsid-2011/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 14:55:50 +0000</pubDate>
		<dc:creator>Johnath</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[NSID]]></category>

		<guid isPermaLink="false">http://blog.johnath.com/?p=688</guid>
		<description><![CDATA[The unexamined life is not worth living &#8212; Socrates Socrates didn&#8217;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 [...]]]></description>
			<content:encoded><![CDATA[<blockquote style="padding-left: 3em;"><p><em>The unexamined life is not worth living</em> &#8212; Socrates</p></blockquote>
<p>Socrates didn&#8217;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.</p>
<blockquote style="padding-left: 3em;"><p><em>Wake up and take control of your own cipher</em> &#8212; Chuck D</p></blockquote>
<p>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.</p>
<p>Self-knowledge doesn&#8217;t come from a farmer&#8217;s market or a flea market, though, and it doesn&#8217;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.<a title="NSID 2010 Mosaic by Johnath, on Flickr" href="http://www.flickr.com/photos/johnath/6419066321/"><img class="alignright" src="http://farm7.staticflickr.com/6060/6419066321_876540cb18_m.jpg" alt="NSID 2010 Mosaic" width="192" height="192" /></a></p>
<p>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&#8217;s what you did yesterday, and last week, and the week before that? Maybe it&#8217;s because you made a choice at some point to shave it. Is that choice still right? How do you know?</p>
<p>When I started <a href="http://noshavingindecember.org/">NSID</a> 5 years ago, I did it because I&#8217;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?</p>
<p>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&#8217;t shave. And we see what happens. Join us. Post your photos to the <a title="NSID flickr pool" href="http://www.flickr.com/groups/555244@N25/">NSID flickr pool</a>, tweet with the <a href="http://search.twitter.com/search?q=%23nsid">#nsid hashtag</a>, track your colleagues in the <a href="http://noshavingindecember.org/">aggregator</a>. It&#8217;s good for your soul.</p>
<p>Socrates and Chuck D would want you to.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.johnath.com/2011/11/30/know-thyself-nsid-2011/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Rapidity</title>
		<link>http://blog.johnath.com/2011/08/26/rapidity/</link>
		<comments>http://blog.johnath.com/2011/08/26/rapidity/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 20:30:37 +0000</pubDate>
		<dc:creator>Johnath</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.johnath.com/?p=657</guid>
		<description><![CDATA[[This is a re-post of a post that originally appeared on the Future of Firefox blog] Last week we released a new version of Firefox. We shipped on time, 6 weeks after the last update, making it our first true rapid release milestone. There was cake. Now that we know that we’re capable of this [...]]]></description>
			<content:encoded><![CDATA[<p style="font-size: small; color: gray;"><em>[This is a re-post of a <a href="http://blog.mozilla.com/futurereleases/2011/08/26/rapidity/">post that originally appeared on the Future of Firefox blog</a>]</em></p>
<p>Last week we released a new version of Firefox. We shipped on time, 6 weeks after the last update, making it our first true rapid release milestone. <a href="http://www.flickr.com/photos/johnath/6049526005/">There was cake</a>. Now that we know that we’re capable of this velocity, I’d like to revisit the reasons why it’s important, and the lessons we’ve already learned.</p>
<p>Mission drives Mozilla. People sometimes forget that we’re a non-profit, that our only job is to make the Web a better place. Rapid release advances our mission in important ways. We get <a href="http://blog.mozilla.com/devtools/2011/08/15/introducing-scratchpad/">features</a> and <a href="http://blog.mozilla.com/nnethercote/2011/08/09/firefox-7-is-lean-and-fast-2/">improvements</a> to users faster. We get new <a href="http://dbaron.org/log/20110615-animations">APIs and standards</a> out to web developers faster. <strong>We are delivering on the promise of the web <a href="http://blog.lizardwrangler.com/2011/08/25/rapid-release-process/">at web speed</a>.</strong></p>
<p>Small, frequent releases improve quality, too. Engineers in the Mozilla community regularly say things now like “I don’t like not understanding this piece, let’s back it out and I’ll catch the next train.” We move deliberately. We don’t rush. And, even though it sounds like a contradiction, when we take our time we go faster.</p>
<p><strong>There’s a great deal for us to be proud of, but we also need to be humble.</strong> This change was hard for us to make, and it’s been hard for some of our supporters, too. We have been glib or dismissive in the way we’ve communicated about parts of it. We live rapid release daily, and that makes it easier for us to see past the problems. We are also tenacious about the necessity of our new schedule, and tenacity can be mistaken for obstinacy.</p>
<p>We, everyone in the Mozilla community, all of us, need to communicate with clarity and sensitivity. We need to help the people who support our mission to understand why these changes are essential. We need to keep listening, and adjusting as we learn. We need to, and we will.</p>
<p>The push to ship faster isn’t some kind of software machismo. We push ourselves to ship faster because the web is under threat. Amazing and innovative people are doing amazing and innovative things and right now they have a choice: build for the web, or build for the walled gardens. <strong>The web can win that fight.</strong></p>
<p>The open web is the most amazing, universal communication and distribution platform ever built. To win, the web needs to be agile and responsive. To help it, we need to be agile and responsive, too. That’s why rapid release matters.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.johnath.com/2011/08/26/rapidity/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Every Six Weeks</title>
		<link>http://blog.johnath.com/2011/07/18/every-six-weeks/</link>
		<comments>http://blog.johnath.com/2011/07/18/every-six-weeks/#comments</comments>
		<pubDate>Mon, 18 Jul 2011 19:40:10 +0000</pubDate>
		<dc:creator>Johnath</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.johnath.com/?p=620</guid>
		<description><![CDATA[It’s astounding to me, but we’ve been living rapid release for a few months now. We’re moving faster. A new feature implemented today and landed on mozilla-central can be delivered to our users in 12 to 18 weeks, not months or years. Incredibly, the same process that gives us that agility is giving us greater [...]]]></description>
			<content:encoded><![CDATA[<p>It’s astounding to me, but we’ve been living <a href="http://mozilla.github.com/process-releases/draft/development_overview/">rapid release</a> for a few months now. We’re moving faster. A new feature implemented today and landed on mozilla-central can be delivered to our users in 12 to 18 weeks, not months or years. Incredibly, the same process that gives us that agility is giving us greater robustness, too. Testing and stabilization of each release across progressively larger audiences helps us find and fix bugs early, and build confidence in the quality of each release.</p>
<p>I want to clarify an important part of the process, though, that I think many people haven’t yet understood. Remember, an individual release train is 6 weeks of development time followed by 12 weeks of stabilization:</p>
<p style="text-align: center;"><a href="http://blog.johnath.com/wp-content/uploads/2011/07/rrprocess1.png"><img title="Rapid Release Process - Single Train" src="http://blog.johnath.com/wp-content/uploads/2011/07/rrprocess1-267x300.png" alt="" width="267" height="300" /></a></p>
<p>New work doesn’t land on Aurora and Beta. Instead, those channels focus exclusively on working with our heroic and growing community of testers to spot any unexpected issues introduced during development, and then resolve them. Looking at this diagram, you might well conclude that we’d have a release ready every 18 weeks.</p>
<p>Aurora and Beta are so single-minded in their focus on stabilization and testing, though, that many engineers can move on to new work. If we take a step back and look at the broader picture, this is what <em>actually</em> happens:</p>
<p style="text-align: center;"><a href="http://blog.johnath.com/wp-content/uploads/2011/07/rrprocess2.png"><img title="Rapid Release Process - Multiple Trains" src="http://blog.johnath.com/wp-content/uploads/2011/07/rrprocess2-1024x965.png" alt="" width="512" /></a></p>
<p>During the 12 weeks that a release spends on Aurora and Beta, the Mozilla community is not sitting idle. They are already working on features and fixes for the next release, and the release after that. Every 6 weeks their work is picked up into the next Aurora, the next Beta, and the next release. When you look at this broader picture, you notice an important point:</p>
<p><strong><em>There can be a new release of Firefox every 6 weeks, not every 12 or 18.</em></strong></p>
<p>I’ll say it again, because it’s important: most of the time, we’ll release a new Firefox every 6 weeks.</p>
<p>Many people are surprised by this fact, though <a href="http://mozilla.github.com/process-releases/draft/development_specifics/">it’s been part of the process all along</a>. When Firefox 4 came out, we committed to ship the next release of Firefox within 3 months. We did it, and when we did I think many people concluded that we have moved to a 3 month cycle. In truth, though, the only reason it took us 3 months was that our Aurora and Beta channels started off empty; they had to wait for the new release to make it through the process. The next Firefox is already in Beta, and is scheduled to come out 6 weeks after the last one. When that happens, yet another Firefox will enter Beta, and so on.</p>
<p>We’re studying the effects of the process carefully; it’s a big change and we will be flexible in our approach as new information comes in. We may decide that 6 weeks is the wrong interval, for instance, though it’s worth remembering that Firefox maintenance releases have been released on 6-8 week intervals for years, and sometimes included major changes. We’re also paying close attention to the impacts this cycle has on our ecosystem of add-ons, plugins, and other 3rd party software that interacts with Firefox. We&#8217;re working with large organizations, too, to understand how rapid release can fit into their software deployment systems.</p>
<p>Whatever adjustments we make, it’s clear that rapid release is a major improvement in our ability to respond to the needs of our users and the web. Every 6 weeks we have a new Firefox to evaluate and, unless some surprising and irreconcilable breakage is discovered, release to the world. No one will have to wait a year for the developer scratchpad now in <a href="http://www.mozilla.com/en-US/firefox/channel/">Beta</a>, or the massive memory and performance improvements already on <a href="http://www.mozilla.com/en-US/firefox/channel/">Aurora</a>, or the slick tab management animations soon to land on <a href="http://nightly.mozilla.org">Nightly</a>. Rapid release is already paying dividends, and we’re just getting started.</p>
<p><em>[This post originally appeared on the <a href="http://blog.mozilla.com/channels/2011/07/18/every-six-weeks/">Channels</a> blog]</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.johnath.com/2011/07/18/every-six-weeks/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Deliberacy</title>
		<link>http://blog.johnath.com/2011/04/19/deliberacy/</link>
		<comments>http://blog.johnath.com/2011/04/19/deliberacy/#comments</comments>
		<pubDate>Tue, 19 Apr 2011 15:44:33 +0000</pubDate>
		<dc:creator>Johnath</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.johnath.com/?p=601</guid>
		<description><![CDATA[The Firefox community is kicking ass. We just worked through our first Aurora merge as part of our new rapid release process and in less than 6 weeks, the next train leaves the station. We are rewriting the way we build software and we are doing it fast. We&#8217;re succeeding because we&#8217;re acting deliberately. We&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p><a title="crew by emurray, on Flickr" href="http://www.flickr.com/photos/emurray/127295952/"><img class="alignright" title="crew, by emurray" src="http://farm1.static.flickr.com/54/127295952_da1c24d465_m.jpg" alt="a team in a rowboat on blue water" width="240" height="163" /></a><br />
The Firefox community is kicking ass. We just worked through our first Aurora merge as part of our new rapid release process and in less than 6 weeks, the next train leaves the station. We are rewriting the way we build software and we are doing it <em>fast</em>.</p>
<p>We&#8217;re succeeding because we&#8217;re acting deliberately. We&#8217;re doing it on purpose. We know what we need our release process to do and we&#8217;re building forward from that, instead of shooting first and calling whatever we hit the target.</p>
<p>I&#8217;m glad that we&#8217;re being deliberate about <em>how</em> we build Firefox. We need to be deliberate about <em>what</em> we build, too. I&#8217;ll tell you how I think that should go, after a brief digression on how it has gone up until now.</p>
<p>(If you have no time for that, deb&#8217;s written a <a href="https://wiki.mozilla.org/Features/Planning_and_Tracking">more concise introduction</a>.)</p>
<p><strong><span id="more-601"></span>Prehistory: Bugs</strong></p>
<p>Historically, if you wanted to get a feature built, you filed a bug. Maybe you started a newsgroup thread, or an irc conversation but it wasn&#8217;t real until there was a bug. This is a great instinct. It makes the work concrete, it lets people opt in to tracking its progress, and it makes Bugzilla into a single source of truth about active work in the project.</p>
<p><strong>Recent History: Prioritization</strong></p>
<p>Bugs are good for tracking atomic pieces of work, but they are not good for overall project direction. As Mozilla grows, with more going on at once, we hit contention for scarce resources like code review, UX support, even permission to land at all, late in cycle.</p>
<p>Contention can be virtuous. It forces us to focus, but that focus is nearsighted. Managers ask their teams to work on high priority items, but priorities are often ad hoc (or post hoc!) Our releases have been driven by extremely smart people and they&#8217;ve been phenomenally successful, but the lack of a centralized, up-front plan and prioritization has lead to wasted effort and missed opportunities. It also bleeds those smart people dry, and we can do better.</p>
<p><strong>The Future, In 4 Parts</strong></p>
<p>We&#8217;re still going to use bugs to track work. We&#8217;re still going to need ideas from everywhere and we&#8217;re still going to need brilliant people, close to the code, letting us know what&#8217;s most important. What&#8217;s changing is that we&#8217;re going to bring some order to those ideas. It all starts with the feature page.</p>
<p><strong>Part 1: The Feature Page</strong></p>
<p>A <a href="https://wiki.mozilla.org/Feature_Page_Structure">feature page</a> is a basic one-page summary of a piece of work. It&#8217;s written before implementation work begins, and brings all the information about a feature together, including:</p>
<ul>
<li>A summary of the feature&#8217;s motivation, goals and non-goals</li>
<li>Bugs tracking work items</li>
<li>Dependencies on other groups</li>
<li>The feature team (Developer, UX, Security, QA, Project Management, &amp;c) and overall owner</li>
<li>Any UI designs, behaviour specs, test plans, and references necessary to make the implementation right, and usefully <a href="http://blog.johnath.com/2011/02/02/vacuums-and-you-or-estimating-like-an-astronaut/">estimate</a> its size</li>
</ul>
<p>A feature page is more flexible than a bug for tracking these soft pieces. It introduces some maintenance cost for the feature owner, but the benefit is that every feature has a source of truth. Beyond the benefits this brings to engineering, it gives teams like QA, Security, Marketing, and Support a point source for the work they do for every feature we ship. Not having that source in the past has hurt us. Repeatedly, and significantly.</p>
<p><strong>Part 2: Feature Tracking</strong></p>
<p>When a new feature is picked up for work, the owner (<em>not necessarily the main developer!</em>) links to the feature from the <a href="https://wiki.mozilla.org/Features/Release_Tracking">tracking page</a>. The tracking page transcludes each feature&#8217;s status line into an overall summary.</p>
<p>A given feature might move between releases on the tracking page as the realities of the feature&#8217;s size change; <em>that&#8217;s fine</em>. Having things on one page still lets us see at a glance what&#8217;s <em>likely</em> to make the next train, and the train after that. It helps us spot possible conflicts or danger spots earlier and lets people who care about different stages of the release focus their work. As this system starts to work, I can well imagine our development meetings re-orienting themselves to track this list.</p>
<p><strong>Part 3: Feature Prioritization</strong></p>
<p>Looking for a feature to work on? The product team is building a list with all of them. <a href="https://wiki.mozilla.org/Features">The feature list</a> is, in a sense, the product team&#8217;s central deliverable: it maps our overall vision and priorities to a ranked list of feature work that embodies them. Start at the top of the list, work down until you find a good match for your skills and interests, poke the owner, and spin it up.</p>
<p><strong>Part 4: Adding Features</strong></p>
<p>The features on the list come from everywhere in Mozilla, as they always have. What&#8217;s new is that we collect them in one page; new features go into <a href="https://wiki.mozilla.org/Features/Inbox">the inbox</a>. Have an idea? Write up a feature page, add it to the inbox, and the product team will triage it into the right spot.</p>
<p>Of course, you can just do the work in a bug without any of this, but you do so at your own peril. Unlisted features have no priority, which means you&#8217;re back to contending for scarce resources. Writing the feature page is also an exercise in clarifying your thoughts, I don&#8217;t think the bar there is too high.</p>
<p><strong>So to sum up&#8230;</strong></p>
<p>I know, it&#8217;s a lot of words. And not every piece of work rises to the level of &#8220;Feature&#8221; and requires this overhead &#8211; straight up bug fixes rarely will, for instance. Nevertheless, I think the change is worth it. For me, ensuring we work on the right things, to say nothing of the benefits in terms of communication &amp; coordination of work, are easily worth the cost. What do you think?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.johnath.com/2011/04/19/deliberacy/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Mike</title>
		<link>http://blog.johnath.com/2011/02/14/mike/</link>
		<comments>http://blog.johnath.com/2011/02/14/mike/#comments</comments>
		<pubDate>Mon, 14 Feb 2011 17:12:03 +0000</pubDate>
		<dc:creator>Johnath</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.johnath.com/?p=597</guid>
		<description><![CDATA[Beltzner&#8217;s moving on. When someone leaves the Mozilla Corp, it&#8217;s tradition for them to send a note to our global alias saying so. Mike sent his late last week, and this was my reply. Don&#8217;t you hate it when someone leaves and people start replying to all? Very spammy. Well listen here, folks: I&#8217;m the [...]]]></description>
			<content:encoded><![CDATA[<p>Beltzner&#8217;s <a href="http://beltzner.ca/mike/2011/02/14/as-the-french-say-until-we-meet-again/">moving on</a>.</p>
<p>When someone leaves the Mozilla Corp, it&#8217;s tradition for them to send a note to our global alias saying so. Mike sent his late last week, and this was my reply.</p>
<p><span id="more-597"></span></p>
<p><em>Don&#8217;t you hate it when someone leaves and people start replying to all? Very spammy. Well listen here, folks: I&#8217;m the only other one here with &#8220;Director of Firefox&#8221; at the start of his business cards, I&#8217;m the other half of the travelling Canadian roadshow, and I&#8217;ve got something to say so I&#8217;ma say it, and you&#8217;re gonna read it and that&#8217;s just how that&#8217;s gonna go.</p>
<p>&#8220;Beltzner&#8221;. It&#8217;s a verb at Mozilla. If you&#8217;ve been here very long at all, you&#8217;ve heard it used. It means, roughly, to care when it&#8217;s not your job to. It means to persist in caring and worrying and trying to run every damned thing whether you should or not. That can be endearing or infuriating depending on where you sit, but that&#8217;s what it means.</p>
<p>What you may not realize is that this guy is actually *the* beltzner. He didn&#8217;t inherit that thing, he built it. It&#8217;s named after *him*. Crazy, right?</p>
<p>Look: We all build Firefox. Engineering, engagement, IT, legal &#8211; we are surrounded every day by rock stars, by an army of awesome, that make Mozilla and Firefox one of the most incredible forces for good on the internet. We are specialists in web development, in interface design, in community management, in finance; and not run of the mill specialists but top-tier, holy-crap magnificent wonders of nature. I know this, because right now we are running all of you specialists right to your limits to get Firefox 4 out the door, the biggest thing we&#8217;ve ever done on basically every axis. Mere mortals could not do what you all do every day.</p>
<p>And yet almost every one of us has learned something from beltzner. How is that even *possible*? At some point in your time at Mozilla, Mike has cared about your work more than he was supposed to, and brought his tireless energy to it and gotten really animated and spoken loudly or typed in all caps and at the end of it, you were better and your work was better even though *you&#8217;re* the expert and he&#8217;s just some guy who pronounces &#8220;house&#8221; wrong.</p>
<p>And now he&#8217;s leaving, and that kind of sucks but hands up if you believe, for a second, that he&#8217;ll disappear; that he&#8217;ll stop caring? Mike will do his next thing, and we&#8217;ll keep making the web a more awesome place. You best believe we are bringing some next-level awesome in 2011. But after the faster release cycle and the deeper community engagement and the bolder comms strategy and everything else we have on tap, the way we&#8217;ll really kick ass is by caring more than it is our job to care.</p>
<p>Now get back to work. Mike *hates* it when people get all distracted this close to a release.</p>
<p>Johnathan</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.johnath.com/2011/02/14/mike/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Vacuums and You (or, Estimating Like an Astronaut)</title>
		<link>http://blog.johnath.com/2011/02/02/vacuums-and-you-or-estimating-like-an-astronaut/</link>
		<comments>http://blog.johnath.com/2011/02/02/vacuums-and-you-or-estimating-like-an-astronaut/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 19:23:31 +0000</pubDate>
		<dc:creator>Johnath</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.johnath.com/?p=567</guid>
		<description><![CDATA[I’m going to teach you a surprisingly effective trick for estimating better, but first I need to talk about dressing up vacuum cleaners. Ze Frank is a pretty creative guy, but what makes him really interesting to me is his ability to make other people creative. It’s what he does. He catalyzes creativity, frequently among [...]]]></description>
			<content:encoded><![CDATA[<p>I’m going to teach you a surprisingly effective trick for estimating better, but first I need to talk about dressing up vacuum cleaners.</p>
<p>Ze Frank is a pretty creative guy, but what makes him really interesting to me is his ability to make other people creative. It’s what he does. He catalyzes creativity, frequently among those who don’t consider themselves creative. And when he <a href="http://www.ted.com/talks/ze_frank_s_web_playroom.html">talks about how he does it</a>, he talks about the value of constraint.</p>
<p>Asked to go and “be creative,” he notes, most people shut down. So, instead, he asks for something more specific. He asked them to make a whole earth sandwich; <a href="http://www.zefrank.com/sandwich/">they made a few</a>. He asked people to send in pictures of vacuum cleaners dressed as people. <a href="http://www.zefrank.com/vacuums/permalink.html?1">He got 215</a>. Constraining people, forcing them to solve a smaller problem, made them better at it.</p>
<p>Creativity isn’t the only thing that benefits from constraint. Asking engineers (or, really, anyone) for “an estimate” is basically akin to asking them to “be creative.” They know what examples of the thing in question look like, they understand that it’s a reasonable request, they just don’t actually know how to get there from here, much less how to be accurate about it.</p>
<p>Back in the sixties, NASA and the US DoD were spending a <em>great deal</em> of money on engineering. They therefore took a keen interest in improving planning and estimation, not unlike the interest you might take if someone was setting all of <em>your</em> money on fire. Out of this interest sprung the mellifluously titled “<a href="http://ntrs.nasa.gov/search.jsp?R=467440&amp;id=1&amp;as=false&amp;or=false&amp;qs=Ntt%3D%2528pert%2529%26Ntk%3Dall%26Ntx%3Dmode%2Bmatchall%26Ns%3DPublicationYear%257c0%26N%3D0">PERT/COST SYSTEMS DESIGN</a>” which, on the subject of estimation, made this central observation:</p>
<blockquote><p>If you ask engineers for 3 estimates (Best Case, Most Likely, Worst Case) instead of 1, you get different answers.</p></blockquote>
<p>That’s pretty exciting! Constraints get us different answers, and different answers mean more bits of information. If you’re not convinced that this is brilliant, though, here comes some next level awesome: A (weighted) average of these 3 estimates is a better predictor of actual completion time than any one of them. Specifically</p>
<blockquote>
<p style="text-align: center;"><strong>(Best + 4*Most Likely + Worst) / 6</strong></p>
</blockquote>
<p>turns out to work pretty well in the general case. These so-called &#8220;PERT Estimates&#8221; or &#8220;3-point Estimates&#8221; give engineers credit for their assessment of &#8220;most likely&#8221; by weighting it heavily, but still allow optimism and pessimism to pull the average. I dare you to argue with this graph:</p>
<div class="wp-caption aligncenter" style="width: 494px"><a href="http://www.visionarytools.com/decision-making/3-point-estimating.htm"><img class="  " src="/images/pert.png" alt="Likelihood of project completion date vs estimates (Science, bitches!)" width="484" height="225" /></a><p class="wp-caption-text">Likelihood of project completion date vs estimates</p></div>
<p style="text-align: center;">
<p>Having 3 data points actually helps in other ways, too. It means you can more clearly quantify the uncertainty of a project by comparing best and worst case estimates, and watching to see if the distance between them shrinks over time. It means you can produce “optimistic” and “pessimistic” schedules. And, most importantly, it means that everyone is saying the same thing when they estimate.</p>
<p>Best, Worst, Most Likely. Try it for your next project, and see how it works. As we finish Firefox 4 and start looking at what comes next, there will be plenty of estimation happening, and I’m keen to see us bringing more science to the table. This may not be the right model for us, or we may discover that the coefficients need changing in our version of the equation; that’s fine. That would actually be a great result. My interest isn’t in pushing a particular tool, my interest is in getting better at planning, getting more awesome out to our users faster. I think we do that by looking for systems that have worked for others, and seeing how well they adapt to us.</p>
<p>And <em>then</em> we dress up the vacuum cleaners.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.johnath.com/2011/02/02/vacuums-and-you-or-estimating-like-an-astronaut/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Automatic Date Links in MediaWiki</title>
		<link>http://blog.johnath.com/2011/01/20/automatic-date-links-in-mediawiki/</link>
		<comments>http://blog.johnath.com/2011/01/20/automatic-date-links-in-mediawiki/#comments</comments>
		<pubDate>Thu, 20 Jan 2011 23:18:54 +0000</pubDate>
		<dc:creator>Johnath</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.johnath.com/?p=556</guid>
		<description><![CDATA[I had time between 1:1s today to solve a wiki problem that&#8217;s been nagging me. My codes, let me show you them. Problem: We have meetings. What&#8217;s worse, we persist in having them every week. Being the kind of project we are, we keep agendas and notes from those meetings publicly and invite the community [...]]]></description>
			<content:encoded><![CDATA[<p>I had time between 1:1s today to solve a wiki problem that&#8217;s been nagging me. My codes, let me show you them.</p>
<p><strong>Problem:</strong> We have meetings.</p>
<p>What&#8217;s worse, we persist in having them every week. Being the kind of project we are, we keep <a href="https://wiki.mozilla.org/WeeklyUpdates">agendas</a> and <a href="https://wiki.mozilla.org/Platform#Meetings">notes</a> from those meetings publicly and invite the community to participate (does your browser? Great!)</p>
<p>What you <em>want</em>, then, is for each week&#8217;s meeting notes to link to next week&#8217;s and last week&#8217;s, like such:</p>
<p><center><img class="aligncenter" title="wiki links" src="/images/wikilinks.png" alt="" width="285" height="35" /></center></p>
<p>And so, we do. But those links have to be hand-edited every week. Indeed, the pages for various meeting notes have earnest, heart-wrenching pleas in HTML comments, like</p>
<blockquote><p>&lt;!&#8211; REPLACE YYYY-MM-DD with the previous and next week&#8217;s year-month-date &#8211;&gt;</p></blockquote>
<p>No one should have to live like that.</p>
<p><strong>Solution</strong>: ParserFunctions</p>
<p>Our mediawiki install includes the ParserFunctions extension, which has a <a href="http://www.mediawiki.org/wiki/Help:Extension:ParserFunctions">whole bag of tricks</a>. One of these tricks is <a href="http://www.mediawiki.org/wiki/Help:Extension:ParserFunctions#.23time">{{#time}}</a>. #time lets you produce various kinds of time/date strings, to wit:</p>
<p><code>{{#time: Y-m-d }}</code></p>
<p>Particularly nice, though, is that you can specify <em>relative times</em>, e.g.</p>
<p><code>{{#time: Y-m-d|+1 week}}</code></p>
<p>The relative syntax is so flexible, in fact, that I can utter this monstrosity:</p>
<p><code>[[Platform/{{#time: Y-m-d|tuesday last week}}|&laquo; previous week]]</code></p>
<p>to link to last week&#8217;s notes from a given page!</p>
<p>Still with me? Because there&#8217;s one snag left. The above works for people who have a static front page with this week&#8217;s info, and only ever want to link one week back. But those relative dates are relative to <em>now</em> &#8212; what if I want each link in the chain to link to the week prior?</p>
<p>No problem &#8212; our pages are named according to their dates, so just make the link relative to that, instead:</p>
<p><code>[[Platform/{{#time: Y-m-d | {{SUBPAGENAME}} -1 week}}|&laquo; previous week]]</code></p>
<p>Presto.</p>
<p>The things you learn while waiting for a phone call. If you want to get really exciting, you can do all this in <a href="http://www.mediawiki.org/wiki/Transclusion">transclusion</a> tags, to have last week&#8217;s notes automatically added to this week, but that&#8217;s left as a terrifyingly-recursive exercise for the reader.</p>
<p>What&#8217;s your favourite mediawiki hack?</p>
<p><small>(PS &#8211; Full credit to Melissa for giving me the idea in the first place. I am naught but the implementor.)</small></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.johnath.com/2011/01/20/automatic-date-links-in-mediawiki/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>It&#8217;s Almost Ready</title>
		<link>http://blog.johnath.com/2011/01/13/its-almost-ready/</link>
		<comments>http://blog.johnath.com/2011/01/13/its-almost-ready/#comments</comments>
		<pubDate>Thu, 13 Jan 2011 15:35:27 +0000</pubDate>
		<dc:creator>Johnath</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.johnath.com/?p=538</guid>
		<description><![CDATA[Shipping great software to lots of people is hard. At Mozilla we talk about shipping only &#8220;when it&#8217;s ready,&#8221; and the devotion our community has to Firefox users, and to shipping them a high quality product, is unlike anything I&#8217;ve seen elsewhere. We answer to no one but you. &#8220;When it&#8217;s ready&#8221; doesn&#8217;t mean we [...]]]></description>
			<content:encoded><![CDATA[<p>Shipping great software to lots of people is hard. At Mozilla we talk about shipping only &#8220;when it&#8217;s ready,&#8221; and the devotion our community has to Firefox users, and to shipping them a high quality product, is unlike anything I&#8217;ve seen elsewhere. We answer to no one but you.</p>
<p>&#8220;When it&#8217;s ready&#8221; doesn&#8217;t mean we can take our time, though. <a href="https://www.mozilla.com/en-US/firefox/beta/">Firefox 4</a> is good for the web, good for our users, and puts the heat on other vendors to up their own game. We need to ship it ASAP &#8211; we want release candidates in weeks, not months. And that means a hard look at our blocker list.</p>
<p>Blocker bugs have a rank order. If you can&#8217;t have all of them, there are some you&#8217;d want more than others, even though <em>every single one of them</em> is a bug we want to fix. That&#8217;s healthy. Building software means making those calls. Each bug is evaluated against whether it&#8217;s worth holding back the <em>thousands</em> of fixes that have already made it into the Firefox 4 tree. At this point, very few bugs are worth holding back that much awesome.</p>
<h3>Hard vs. Soft Blocking<a href="#footnote" class="footnote">1</a></h3>
<p>To that end, then, if you watch bugzilla, you&#8217;ve seen blocker bugs sprouting one of two new whiteboard labels:</p>
<ul>
<li><strong>[hardblocker]</strong> &#8211; These bugs prevent us from shipping. We&#8217;ll hold the release for the very last one of them. A hard blocker is a failure of a core part of our release criteria, e.g. a crash, a memory leak, a performance hit, a security issue, a UI breakage that can&#8217;t be recovered from, an incompatibility we can&#8217;t stomach.</li>
<li><strong>[softblocker]</strong> &#8211; These bugs are things we want to fix as soon as possible, but can ship with if the hard blockers are done. They can be fixed in maintenance releases if needed, or in Firefox 5 which, remember, is not so very far away. Soft blockers might include visual polish, strange edge cases, optional aspects of new specs, or opportunistic performance wins.</li>
</ul>
<p>Hard blockers trump everything. That doesn&#8217;t mean they are the only things that will get fixed &#8211; indeed we hope and expect many of our soft blockers to make it in as well. We didn&#8217;t clear their blocking flags, they are still legit work items and have landing pre-approval. Soft blockers are what <a href="http://beltzner.ca/mike/">beltzner</a> calls the &#8220;opportunity space&#8221; &#8211; the work that lifts the quality and delight of the product. But we have to make the hard calls, and soft blockers are second priority to shipping. People paid to work on Firefox will be focusing exclusively on hard blockers, first.</p>
<p>The <a href="https://bugzilla.mozilla.org/buglist.cgi?quicksearch=blocking2%3Abeta%2Cfinal%20sw%3Ahard">hard blocker list</a> is currently at 143. When it hits 0, we can ship. Let&#8217;s kill it dead.</p>
<p><a name="footnote"><small>[1] Inevitably, when we do a pass like this, someone will want to digress into a thread about nomenclature. &#8220;Why are they blockers if they don&#8217;t block?&#8221; &#8220;Are there hard soft blockers, or soft hard blockers?&#8221; I love the creativity of our community, but I think it&#8217;s a distraction right now, and I&#8217;d suggest to you that we have more interesting problems to solve in the next little while!</small></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.johnath.com/2011/01/13/its-almost-ready/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>NSID 2010</title>
		<link>http://blog.johnath.com/2010/11/30/nsid-2010/</link>
		<comments>http://blog.johnath.com/2010/11/30/nsid-2010/#comments</comments>
		<pubDate>Tue, 30 Nov 2010 17:29:25 +0000</pubDate>
		<dc:creator>Johnath</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[NSID]]></category>

		<guid isPermaLink="false">http://blog.johnath.com/?p=533</guid>
		<description><![CDATA[After 5 years, perhaps it needs no introduction. In his (excellent) book Bowling Alone, Putnam argues that the inner circle of your life, family and close friends, act as a stabilizing function, they resist change. When the change is something self-destructive, this is a healthy and helpful thing, your family and friends remind you of [...]]]></description>
			<content:encoded><![CDATA[<p>After 5 years, perhaps it needs no introduction.</p>
<p style="text-align: center;"><a title="NSID 2009 Mosaic by Johnath, on Flickr" href="http://www.flickr.com/photos/johnath/5221438738/"><img class="aligncenter" src="http://farm5.static.flickr.com/4129/5221438738_1b79e151ec.jpg" alt="NSID 2009 Mosaic" width="500" height="500" /></a></p>
<p>In his (excellent) book <a href="http://www.amazon.com/Bowling-Alone-Collapse-American-Community/dp/0743203046/ref=sr_1_1?ie=UTF8&amp;qid=1291132864&amp;sr=8-1">Bowling Alone</a>, Putnam argues that the inner circle of your life, family and close friends, act as a stabilizing function, they resist change. When the change is something self-destructive, this is a healthy and helpful thing, your family and friends remind you of who you are and bring you back. But when you want to try something different, that conservative force can become a barrier, and Putnam notes that in these cases looser social bonds become critical: people who know you, but don&#8217;t feel a need to keep you the same, who can enjoy and encourage your experimentation. (Ze has more to say about this exact passage, <a href="http://www.zefrank.com/theshow/archives/2007/02/022107.html">here</a>).</p>
<p>NSID doesn&#8217;t judge. No Shaving in December is a tradition built on the idea that, once a year, it&#8217;s fun to see what your friends look like when they let themselves get skeezy. Don&#8217;t give them a hard time, join in! Put down the razors and trimmers and trappings of everyday modernity, and let yourself start to look really <em>unmaintained</em>. It&#8217;s freeing. It&#8217;s sometimes surprising. And hell, it might make you more <a href="http://www.buzzfeed.com/reddit/the-trustworthiness-of-beards-img">trustworthy</a>.</p>
<p>We have:</p>
<ul>
<li>a <a href="http://www.flickr.com/groups/nsid/pool/">flickr pool</a> (Get those day 0 images in, please &#8211; we need comparables for your eventual shagnificence.)</li>
<li><a href="http://search.twitter.com/search?q=%23nsid">hashtags</a>: #nsid or #nsid2010 if you prefer timeliness</li>
<li><a href="http://noshavingindecember.org/">an aggregator</a></li>
</ul>
<p>What more could you want?</p>
<p><strong>NSID for Charity</strong></p>
<p>The NSID community has always been full of kind spirits. I know this because each year, they ask me if our month of madness can be associated with a charitable cause in some way, to give the suffering of our spouses and sometimes ourselves a greater sense of <em>purpose.</em> I love that idea, and so as I did <a href="http://blog.johnath.com/2009/11/29/nsid-2009/">last year</a>, I invite you to make a  donation (<a href="https://donate.michaeljfox.org/SSLPage.aspx?pid=202&amp;srcid=nsid">US</a>/<a href="https://donate.michaeljfox.org/SSLPage.aspx?pid=272&amp;srcid=nsid">CDN</a>) to the Michael J Fox foundation for Parkinson&#8217;s Research. They have impressed me as a smart, well run charity acting to fight a disease that robs people of their ability to perform many of the basic tasks in life, like shaving, that we can toss aside for giggles.</p>
<p><em>A donation is not in any way a requirement for participation in NSID</em>. For some people it helps motivate them to stay loyal to the cause, for others it helps them keep their significant others at bay, but it&#8217;s a decision I leave with you.</p>
<p>Either way &#8211; It&#8217;s November 30th &#8211; get that last shave in and start uploading those photos.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.johnath.com/2010/11/30/nsid-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.838 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-04 00:19:14 -->

