Apr 192016
 

One great thing about watching the future of the Web being planned in the open is that you can see how smart people having open discussions, combined with the occasional sudden realization, epiphany, or unexpected spark of creative genius can make the Web a better place for everyone.

This is something I’m reminded of regularly when I read mailing list discussions about plans to implement new Web APIs or browser features. There are a number of different kinds of discussion that take place on these mailing lists, but the ones that have fascinated me the most lately have been the “Intent to…” threads.

There are three classes of “Intent to…” thread:

  • Intent to implement. This thread begins with an announcement that someone plans to begin work on implementing a new feature. This could be an entire API, or a single new function, or anything in between. It could be a change to how an existing technology behaves, for that matter.
  • Intent to ship. This thread starts with the announcement that a feature or technology which has been implemented, or is in the process of being implemented, will be shipped in a particular upcoming version of the browser.
  • Intent to unship. This thread starts by announcing that a previously shipped feature will be removed in a given release of the software. This usually means rolling back a change that had unexpected consequences.

In each of these cases, discussion and debate may arise. Sometimes the discussion is very short, with a few people agreeing that it’s a good (or bad) idea, and that’s that. Other times, the discussion becomes very lengthy and complicated, with proposals and counter-proposals and debates (and, yes, sometimes arguments) about whether it’s a good idea or how to go about doing it the best way possible.

You know… I just realized that this change could be why the following sites aren’t working on nightly builds… maybe we need to figure out a different way to do this.

This sounds great, but what if we add a parameter to this function so we can make it more useful to a wider variety of content by…

The conversation frequently starts innocuously enough, with general agreement or minor suggestions that might improve the implementation, and then, sometimes, out of nowhere someone points out a devastating and how-the-heck-did-we-miss-that flaw in the design that causes the conversation to shift into a debate about the best way to fix the design. Result: a better design that works for more people with fewer side effects.

These discussions are part of what makes the process of inventing the Web in the open great. Anyone who has an interest can offer a suggestion or insight that might totally change the shape of things to come. And by announcing upcoming changes in threads such as these, developers make it easier than ever to get involved in the design of the Web as a platform.

Mozilla is largely responsible for the design process of the Web being an open one. Before our global community became a force to be reckoned with, development crawled along inside the walls of one or two corporate offices. Now, dozens of companies and millions of people are active participants in the design of the Web and its APIs. It’s a legacy that every Mozillian—past, present, and future—can be very proud of.

 Posted by at 11:00 AM
Apr 032016
 

Today—April 3, 2016—marks the tenth anniversary of the day I started working at Mozilla as a writer on the Mozilla Developer Center project (now, of course, the Mozilla Developer Network or MDN). This was after being interviewed many (many) times by Mozilla luminaries including Asa Dotzler, Mike Shaver, Deb Richardson, and others, both on the phone and in person after being flown to Mountain View.

Ironically, when I started at Mozilla, I didn’t care a lick about open source. I didn’t even like Firefox. I actually said as much in my interviews in Mountain View. I still got the job.

I dove in in those early days, learning how to create extensions and how to build Firefox, and I had so, so very much fun doing it.

Ironically, for the first year and a half I worked at Mozilla, I had to do my writing work in Safari, because a bug in the Firefox editor prevented me from efficiently using it for in-browser writing like we do on MDN.

Once Deb moved over to another team, I was the lone writer for a time. We didn’t have nearly as many highly-active volunteer contributors as we do today (and I salute you all!), so I almost single-handedly documented Firefox 2.0. One of my proudest moments was when Mitchell called me out by name for my success at having complete (more or less) developer documentation for Firefox 2.0—the first Firefox release to get there before launch.

Over the past ten years, I’ve documented a little of everything. Actually, a lot of everything. I’ve written about extensions, XPCOM interfaces, HTML, a broad swath of APIs, Firefox OS, building Firefox and other Mozilla-based projects, JavaScript, how to embed SpiderMonkey into your own project (I even did so myself in a freeware project for Mac OS X), and many other topics.

As of the moment of this writing, I have submitted 42,711 edits to the MDN wiki in those ten years. I mostly feel good about my work over the last ten years, although the last couple of years have been complicated due to my health problems. I am striving to defeat these problems—or at least battle them to a more comfortable stalemate—and get back to a better level of productivity.

Earlier, I said that when I took the job at Mozilla, I didn’t care about the Web or about Firefox. That’s changed. Completely.

Today, I love my job, and I love the open Web. When I talk to people about my job at Mozilla, I always eventually reach a point at which I’m describing how Mozilla is changing the world for the better by creating and protecting the open Web. We are one of the drivers of the modernization of the world. We help people in disadvantaged regions learn and grow and gain the opportunity to build something using the tools and software we provide. Our standards work helps to ensure that a child in Ghana can write a Web game that she and her friends can play on their phones, yet also share it with people all over the world to play on whatever device they happen to have access to.

The Web can be the world’s greatest unifying power in history if we let it be. I’m proud to be part of one of the main organizations trying to make that happen. Here’s to many more years!

 Posted by at 2:59 PM
Jan 082016
 

This morning I had an epiphany. A vision. A prophecy, you might call it. It’s groundbreaking (in a story arc kind of way, not in a real-life kind of way). Since it’s spoilery, I’m going to tuck it into a little disclosure box. Here it is:

My ephiphany

What if Rey is the Chosen One?

Anakin failed to achieve the prophesied role; instead of bringing balance to the Force, he nearly destroyed humanity’s connection to it forever. Some have theorized that his destruction of the Jedi order, leaving, eventually, just him and Luke Skywalker as Force users, established balance.

Perhaps. But what if he wasn’t intended to be the Chosen One. What if Qui-Gon was mistaken? Anakin was, instead, a Force-talented but reckless kid who should never have been a Jedi at all.

Rey, on the other hand, is so powerful and in tune with the Force that she is learning to wield its power through that innate connection, instead of requiring training. Much like the earliest Force-users must have done. This puts her in a unique position—better, perhaps, than Luke Skywalker—to build a new Jedi order. One which is more inclusive, more in tune with everyday people, and so forth.

This also explains much about the vision Rey has when she first touches Luke’s lightsaber. In it, she sees the end of the Luke’s fledgling Jedi order at the hands of Ben Solo and the dawn of her new Jedi order, founded by her, perhaps with Finn by her side, as they do combat together against Kylo Ren.

Rey is the Chosen One.

[collapse]
 Posted by at 5:06 PM
Dec 242015
 

It’s been a few days now since I saw “Star Wars: The Force Awakens” for the second time, and I’ve got theories! Spoilers lie ahead, but I will start by just saying that this movie was amazing. Now, on to the theories!

First, some thoughts on Finn (John Boyega):

Spoilers ahead: Theories on Finn

First off, let’s talk about Finn’s lightsaber fight versus the vibroblade of the First Order stormtrooper. I’ve heard people say, “How can he be so good with that lightsaber already?

I think the answer is simple and literally right in front of Finn. Clearly First Order stormtroopers are trained to use melee weapons such as the vibroblade. Therefore, it stands to reason that Finn has at least enough skill with a vibroblade that he can wield the lightsaber in much the same way.

The big question, of course: who is he, and what role will he fill going forward? Is he strong in the Force? Or just a heck of a fighter and an incredibly decent human being? I look forward to finding out! Boyega plays this part very well, and the simple, pure human decency Finn expresses despite being trained to kill like a mindless drone implies a strength of character that could have serious import and repercussions going forward.

[collapse]

Now for the clear hero of the new trilogy, Rey. First off, this is a fantastic character who I already think may be among the two or three strongest and most interesting characters in all of Star Wars film lore. Secondly, she was played brilliantly by Daisy Ridley. Such remarkable acting. I’m a huge fan of this character and of her work in this film. Wow.

Anyway, my thoughts…

Spoilers ahead: The Mystery of Rey

Clearly, Rey is astonishingly powerful in the Force. Once she becomes aware of it and touches it for the first time, she gains enormous power very quickly. So obviously, she has parentage which is also strong in the Force.

This morning I read about a theory of where Rey comes from which I think has a lot of potential: after dropping off Luke with Owen and Beru, Obi-wan had a lot of time on his hands. He communed with Qui-Gon to learn how to pass into the Force at death while retaining a link to the world of the living. He ruminated on the fact that the Jedi order had been destroyed.

And he contemplated the new reality of the future course of the Jedi if the order were to be rebuilt: being disconnected from your feelings and from the people around you leads to a sense of superiority and a detachment that makes it harder, not easier, to resist the temptations of the Dark Side. After a decade or so of meditation and learning new ways from Qui-Gon and perhaps even Yoda, he traveled, and he found love. And, eventually, there was a child: Rey.

The article I linked to above postulated that Rey is a grandchild, but it’s only been 30 years, and I believe that Obi-Wan would have spent the first several years, possibly a decade, ruminating on the defeat of the Jedi and following through on the training Yoda gave him to do at the end of Episode III. Obi-Wan would then meet Rey’s mother a decade or so after the events of Episode III, leading to approximately the correct timing for Rey’s age to be as it is in Episode VII.

[collapse]

I’ll probably add to this post as my theories expand, so that should be fun…

 Posted by at 12:22 PM
Nov 032015
 

It’s been a while since I wrote anything on my blog about technology or the Web (indeed, the last several posts I’ve written have been my 5-word movie reviews. While fun, these aren’t very informative to the primary audience of my blog: you, the (probably) Web developer, genius type.

A lot has changed in the last few months. We’ve got so many exciting new technologies and APIs to play with. Not to mention ECMAScript 6 (a.k.a. ECMAScript 2015, a.k.a. the latest version of JavaScript). In ES6, the big new toys, for me, are Promises and arrow functions. Both take some getting used to, but once you do, they make a huge difference in code readability and despite feeling alien and weird to my old procedural programming brain, they still make code just plain better.

Add to that all the amazing new APIs, including WebRTC, Web Notifications, Service Workers, the Push API, and so much more, and my mind boggles at the immense power of the Web in this day and age.

I was in college when the Web first exploded into existence. Back then, it was mostly a thing students and researchers played with, but I already knew it was going to change the world. And it has.

I’ll try to get back into the habit of blogging more regularly; there’s far too much exciting stuff to talk about to let my blog stay idle any longer.

 Posted by at 11:19 AM
Apr 032015
 

It was nine years ago today that I joined Mozilla as a senior technical writer. I was hired by Mike Shaver and Deb Richardson to help try to keep up with the pace of progress and to work on organizing and cleaning up older content as well. I actually started working the last few days of March, but my first official day (that is to say, the first day I was paid for) was April 3, 2006.

My daughter wasn’t even a year old yet then. Now she’s almost finished with the fourth grade.

We were deep into the documentation process for Firefox 2.0 back then (not to mention trying to finish bits and pieces of critical documentation for Firefox 1.5, which shipped months earlier). It shipped a few months after my joining the company, and was the first release we generally felt was completely documented (for a slightly flexible definition of “completely”).

A lot has changed over those nine years. Back then, Deb and I were the entire writing staff; we had some contributors but not nearly enough. Then Deb moved onward and upward into other awesome things and it was just me for a while. But eventually we started hiring more writers, thankfully, and we wound up with the kick-ass staff we have today. And as we built up our staff, we learned more about community building, and our community of volunteer writers and contributors has grown at an ever-increasing rate.

This is far and away the longest I’ve spent at any job. It’s a great deal of fun, even when I’m stressing out over all the stuff I wish I had time to write about but don’t. Making the world a better place to be a Web developer is a rewarding career path, and I’m glad Dave Miller steered me into the Mozilla community.

 Posted by at 11:00 AM
Nov 042014
 

I love working at Mozilla.

I love the rapid progress we’re making in building a better Web for the future. I love that the documentation I help to produce makes it possible not only for current experts to use technology to create new things, but for kids to turn into the experts of the future. I love that, as I describe what I do to children, I teach programmers how to program new things.

I love the amazing amount of stuff there is to work on. I love the variety and the fun assortment of things to choose from as I look for the next thing to write about.

I love working in an organization where individual achievement can be had while at the same time being a team player, striving not to rake in dollars for the company, but to make the world a better place through technology and knowledge exchange.

It’s frustrating how fast things are changing. It’s frustrating to finish documentation for a technology only to almost immediately discover that this technology is about to be deprecated. It’s frustrating to know that the software and APIs we create can be used by bad people to do bad things if we make mistakes. It’s frustrating that my job keeps me from having as much free time as I’d like to have to work on my own projects.

It’s frustrating that I’m constantly on the brink of being totally overwhelmed by the frighteningly long list of things that need to be done. It’s frustrating knowing that my priorities will change before the end of each day. It’s frustrating how often something newly urgent comes up that needs to be dealt with right away.

It’s frustrating that no matter how hard I try, there are always people I’m never quite able to reach, or whom I simply can’t interface with for some reason.

There’s a lot to be frustrated about as a Mozillian. But being part of this wild, crazy adventure in software engineering (or, in my case, developer documentation) is (so far, at least!) worth the frustration.

I love being a Mozillian.

 Posted by at 12:50 AM
Apr 062014
 

First, let’s start with this: if you want to know what’s really been happening at Mozilla, you should read this blog post, written by a fellow Mozilla Corporation employee. It’s got details from staff meetings, internal discussions, public meetings, and more, and it’s the most accurate representation of the truth of the past two weeks you’ll find anywhere.

Next, let’s recall my previous post, and I will re-iterate that I strongly favor the nationwide legalization of gay marriage, and that I disagree with Brendan on this issue (while also strongly defending his right to hold his opinion as long as he keeps it out of Mozilla business, which he always did).

Now, let’s get into what I personally want to say about the last few days.

In March of 2006, I was the father of a baby girl less than a year old, and had just been let go by my employer—a game development company in Southern California, for whom I was doing Mac programming. Despite a previous arrangement, they decided they wanted me to relocate, which I wasn’t interested in doing. So we parted ways. My old friend David Miller had been working at Mozilla on the Bugzilla project (and doing IT work) for a while, and he suggested I apply for a job as a Mac programmer at Mozilla Corporation.

When Mozilla got wind that I had spent years as a technical writer, I found myself instead interviewing for a job on the developer relations team as a writer for the Mozilla Developer Center site. On April 3, 2006, I started working for Mike Shaver, alongside Deb Richardson, as a technical writer.

I joined Mozilla as someone that didn’t use Firefox. Heck, I didn’t even like Firefox. I also didn’t give a rat’s ass about open source software; indeed, I generally looked down on it across the board as inherently inferior.

I would never have dreamed that someday I would consider myself part of a “community” of Mozilla users. I was not someone that would be a Mozillian. I walked the walk and acted the part, generally, but if you read through my early blog posts, you’ll find clues that I was just in it for the paycheck.

Fast forward to March of 2014. I’m days shy of my eighth anniversary as a Mozilla employee, and I find myself a changed person. I’m an ardent fan of Mozilla and its mission. It’s important to me. It means something to me. It’s part of who I am. I feel every sting when something goes wrong, and exalt in every win Firefox and Mozilla achieves.

I’m not blindly faithful, no. I have my doubts now and again, about specific initiatives or projects, and goodness knows I’m not afraid to say so. I have a well-earned reputation as a bit of a complainer. When I’m troubled, I tend to say so (usually at length). But Mozilla’s mission is my mission: to bring the open Web to everyone, to do it well, and to be sure that everyone knows how to build upon its potential.

I’ll admit: when Brendan was selected as CEO, I was surprised. I had been quite certain that Jay Sullivan would become our permanent CEO, after a long and successful “interim CEO” run. When Brendan was announced, I was somewhat puzzled. Not because of his political beliefs, but because Jay was already in place, doing a good job, and had long experience in more “business management” roles, rather than just “project management” roles.

But I quickly got behind Brendan. As a technical wizard and cofounder of Mozilla (having saved the Mozilla project form the dying embers of what was left of Netscape within the AOL behemoth), Brendan knew and loved the project more than anyone else. Who better than to lead us into the technical challenges that lie ahead? With Li Gong as our new COO to help him, we were in great hands.

Then everything went straight to hell in the media. Taking bits of reality (yes, Brendan donated in favor of Prop. 8, and yes, he didn’t apologize for doing so, and yes, a scant handful of employees tweeted that they wanted him to resign), the press and social media turned reality into some kind of hyper-reality, in which a few basic facts were tossed into a blender with a healthy dose of bullshit and a little wishful thinking on their part.

Soon, we were in the midst of a crisis, with the voices of reason so overwhelmed by outright nonsense that they couldn’t be heard. Several of us tried. We failed. Brendan, overwhelmed by the waves of negative press and outright hate mail he was getting, gave up and resigned. The mob won, and Mozilla lost its founding father.

The press (including the Wall Street Journal) is reporting that Brendan was pushed out by the board. This is not true. Mozilla’s board of directors begged and pleaded for him to stay with us in some capacity. He declined.

Let’s be clear: Brendan Eich left Mozilla because a virtual mob got whipped up into a frenzy and harassed him and Mozilla until he felt the best way to serve Mozilla was to leave. Brendan quit his job because he felt that leaving the organization he loved was better than watching it be dragged down into a cesspool of bullshit.

This situation arose because one man—a key member of Mozilla’s technology team and its community as a whole—exercised his legal civil right to donate money to an unpopular cause (and one that is now, thankfully, a lost cause). That’s the real tragedy here.

But we’ll figure out how to move on. We will mourn for a time. We will do some soul-searching. And then we will get our hands firmly planted back onto the tiller, tack into the wind, and continue our journey. Because we are Mozilla.

Updated at 3:53 PM EDT on April 6, 2014: I got a couple of corrections recommended to me by email, so I applied them above. My apologies for overstating a couple of points in my 3 AM drama mode.

 Posted by at 1:35 AM