Lots of fun! I’m serious.
I’m going to highlight a meeting for you today. This is the point where you yawn politely, look at the time, and and try to escape without my noticing. But I see you over there! Get back here. This is important!
Each Thursday, the MDN content team holds its weekly API documentation meeting at 8 AM Pacific time in Mozilla’s Open the DevEngage Vidyo room. This meeting is for discussions about ongoing and upcoming work on documentation for all Web APIs. This includes the classic DOM as well as all newer APIs, from Ambient Light to Speech Synthesis and beyond. It even includes Firefox OS-specific APIs. We don’t even discriminate against non-standard APIs, as long as they’re exposed to browser content.
That’s a lot of stuff to cover! Everything needs to be understood, written about, sample code located or created (and tested!), and all tied together and reviewed until it makes sense and is as accurate as we can make it.
That’s why we have been holding these meetings in collaboration with the API development team for a long. A few months ago, the technical evangelism team also started sending a representative to each meeting. This tripartite meeting lets each team share recent accomplishments and what they’ll be doing next. This has multiple benefits:
- The writers learn what new technologies are being implemented, what improvements are in the works, and when things are likely to ship. We also learn when special events are coming that would benefit from having documentation ready.
- The technical evangelists get details on what new APIs are coming up, and can discuss plans for spreading the word with the developers creating the APIs and the writers documenting them, to coordinate plans and schedules.
- The technical evangelists can relay user sentiment information in a more personal way to both the development teams and the writers; this kind of feedback is incredibly helpful!
- The development team can let the writers and evangelists know what the status is on current API work, and we can discuss this status in a team setting instead of only reading about it in a formal note or bug comments.
- The developers can share information about what problem points they see or expect to exist in understanding and working with technologies, in order to help guide future work in samples, demos, and documentation.
There are intangible benefits, too. Over the two-plus years we’ve been holding this weekly meeting, we’ve developed an increasingly close working relationship between the developer documentation and the API engineering teams. This has enormous benefits not just for these two teams, but for the Web we serve.
If you have a passion for creating APIs for the Web or for teaching others how to use them, please consider joining our meeting. Even if you only drop in once in a while, you’ll find it a great way to stay informed and to help guide the future of our content and evangelism efforts.
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.
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.
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.
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.
I can’t believe another week has already gone by. This is that time of the year where time starts to scream along toward the holidays at a frantic pace.
What I did this week
- I’ve continued working heavily on the server-side sample component system
- Implemented the startup script support, so that each sample component can start background services and the like as needed.
- Planned and started implementation work on support for allocating ports each sample needs.
- Designed tear-down process.
- Created a new “download-desc” class for use on the Firefox landing page on MDN. This page offers download links for all Firefox channels, and this class is used to correct a visual glitch. The class has not as yet been placed into production on the main server though. See this bug to track landing of this class.
- Updated the MDN administrators’ guide to include information on the new process for deploying changes to site CSS now that the old
CustomCSSmacro has been terminated on production.
- Cleaned up Signing Mozilla apps for Mac OS X.
- Created Using the Mozilla build VM, based heavily on Tim Taubert’s blog post and linked to it from appropriate landing pages.
- Copy-edited and revised the Web Bluetooth API page.
- Deleted a crufty page from the Window API.
- Meetings about API documentation updates and more.
That’s a short-looking list but a lot of time went into many of the things on that list; between coding and research for the server-side component service and experiments with the excellent build VM (I did in fact download it and use it almost immediately to build a working Nightly), I had a lot to do!
My work continues to be fun and exciting, not to mention outright fascinating. I’m looking forward to more, next week.
I’ve been working on getting a first usable version of my new server-side sample server project (which remains unnamed as yet — let me know if you have ideas) up and running. The goals of this project are to allow MDN to host samples that require a server side component (for example, examples of how to do
), and to provide a place to host samples that require the ability to do things that we don’t allow in an
<iframe> on MDN itself. This work is going really well and I think I’ll have something to show off in the next few days.
What I did this week
- Caught up on bugmail and other messages that came in while I was out after my hospital stay.
- Played with JSMESS a bit to see extreme uses of some of our new technologies in action.
- Did some copy-editing work.
- Wrote up a document for my own reference about the manifest format and architecture for the sample server.
- Got most of the code for processing the manifests for the sample server modules and running their startup scripts written. It doesn’t quite work yet, but I’m close.
- Filed a bug about implementing a drawing tool within MDN for creating diagrams and the like in-site. Pointed to draw.io as an example of a possible way to do it. Also created a developer project page for this proposal.
- Exchanged email with Piotr about the editor revamp. It’s making good progress.
I’m really, really excited about the sample server work. With this up and running (hopefully soon), we’ll be able to create examples for technologies we were never able to properly demonstrate in the past. It’s been a long time coming. It’s also been a fun, fun project!
You may notice that I’m posting this on Monday instead of Friday (despite what the title says). Last week was a bit of a mess; I had a little bit of a surprise on Wednesday that involved my being taken to the hospital by ambulance (no lights and siren — it wasn’t that big a surprise), and that kept me away from work for most of the rest of the week.
I’m feeling fine now, although there’s some follow-up medical testing to do to check things out.
Anyway! On to the important stuff!
What I did this week
- Deleted an inappropriate article from the MDN inbox and emailed the author explaining why.
- Succeeded in first deployment of a test of my new live sample server-side component server project.
- Discovered the native GitHub application for Mac, which makes my life enormously easier.
- Added more information to the comments on bug 1063580, about how shift-refreshing of macros no longer lets you pick up changes to macros and submacros.
- Updated “How to create an MDN account” to consider that you can use either Persona or GitHub now as your authentication service. This fixed bug 1049972.
- Added the
dev-doc-neededkeyword to bug 1064843, which is about implementing
- Updated the draft of the State of MDN for August to include everything I could think of, so Ali can get it posted (which has happened!).
- Created the soapbox message to appear at the top of MDN pages about the net neutrality petition. This has since been removed once again, since the event in question has passed. This resolved bug 1060483.
- Finished debugging the
MakeColumnsForDLmacros. The former is new and the latter has been updated to support multiple
<dl>lists with interspersed headings.
Meetings attended this week
- #mdndev planning meeting.
- #mdndev triage meeting.
Last week started off on a high note, with some very productive activity, and then went sideways on Wednesday and never really recovered. I have high hopes for this week though!
First, a personal note:
Holy frickity-frak! It’s September!?
Okay, back to business. My work this week was all over the place. Got tons done but, of course, not what I meant to do. That said, I did actually make progress on the stuff I’d planned to do this week, so that’s something, anyway.
I love this job. The fact that I start my week expecting one awesome thing, and find myself doing two totally different awesome things instead, is pretty freaking cool.
What I did this week
- Filed bug 1061624 about the new page editing window lacking a link to the Tagging Guide next to the tag edit area.
- Followed up on some tweets reporting problems with MDN content; made sure the people working on that material knew about the issues at hand, and shared reassurances that we’re on the problem.
- Tweaked the Toolbox page to mention where full-page screenshots are captured in both locations where the feature is described (instead of just the first place). Also added additional tags to the page.
- Had a lot of discussions, both by video and by email and IRC, about planning and procedures for documentation work. A new effort is underway to come up with a standard process.
- Submitted my proposal for changes to our documentation process to Ali, who will be collating this input from all the staff writers and producing a full proposal.
- Checked the MDN Inbox: it was empty.
- Experimentation with existing WebRTC examples.
- Moved some WebRTC content to its new home on MDN.
- Filed bug 1062538, which suggests that there be a way to close the expanded title/TOC editor on MDN, once it’s been expanded.
- Fixed the parent page links for the older WebAPI docs; somehow they all believed their parent to be in the Polish part of MDN.
- Corrected grammar in the article about
HTMLMediaElement, and updated the page’s tags.
- Filed a bug about search behavior in the MDN header, but it was a duplicate.
- Discovered a privacy issue bug and filed it. A fix is already forthcoming.
- bz told me that previewing changes to docs in the API reference results in an internal service error; I did some experimenting, then filed bug 1062856 for him. I also pinged mdn-drivers since it seems potentially serious.
- Discovered an extant, known bug in media streaming which prevents me from determining the dimensions of the video correctly from script. This is breaking many samples for WebRTC.
- Went through all pages with KumaScript errors (there were only 10). All but one were fixed with a shift-refresh. The last one had a typo in a macro call and worked fine after I fixed the error.
- Expanded on Florian’s Glossary entry about endianness by adding info on common platforms and processors for each endianness.
- Filed bug 1063560 about search results claiming to be for English only when your search was for locale=*.
- Discovered and filed bug 1063582 about MDN edits not showing up until you refresh after saving. This had been fixed at one point but has broken again very recently.
- Started designing a service to run on Mozilla’s PaaS platform to host the server side of MDN samples. My plan is nifty and I’ll share more about it when I’m done putting rough drafts together.
- Extended discussions with MDN dev team about various issues and bugs.
- Helped with the debugging of a Firefox bug I filed earlier in the week.
Meetings attended this week
- #mdndev planning meeting
- 1:1 with Jean-Yves
- 1:1 meeting with Ali
- Writers’ staff meeting
- Compatibility Data monthly meeting
- #mdndev weekly review meeting
- Web API documentation meeting; only myself, Jean-Yves, and Florian attended but it was still a viable conversation.
A good, productive week, even if it didn’t involve the stuff I expected to do. That may be my motto: I did a lot of things I didn’t expect to do.
This week, my WebRTC research continued; I spent a lot of time watching videos of presentations, pausing every few seconds to take notes, and rewinding often to be sure I got things right. It was interesting but very, very time-consuming!
I got a lot accomplished this week, although not any actual code on samples like I’d planned to. However, the pages on which the smaller samples will go are starting to come together, between bits of actual content on MDN and my extensive notes and outline. So that’s good.
I’m looking forward to this three-day Labor Day holiday here in the States. I’ll be back at it on Tuesday!
What I did this week?
- Copy-edited the Validator glossary entry.
- Copy-edited and cleaned up the Learning area page Write a simple page in HTML.
- Created an initial stub documentation project plan page for updating the HTML element interface reference docs.
- Turned https://developer.mozilla.org/en-US/docs/Project:About into a redirect to the right place.
- Read a great deal about WebRTC.
- Watched many videos about WebRTC, pausing a lot to take copious notes.
- Built an outline of all the topics I want to be sure to cover. I’m sure this will continue to grow for a while yet.
- Gathered notes and built agendas for the MDN community meeting and the Web APIs documentation meeting.
- Updated the WebRTC doc plan with new information based on my initial notes.
- Offered more input on a bug recommending that we try to add code to prevent people from using the style attribute or any undefined classes.
- Filed bug 1060395 asking for a way to find the pages describing the individual methods and properties of an interface in the Web API reference
- Fixed bug 1058814 about hard-to-read buttons by correcting the styles used by a macro.
- Dealt with expense reports.
- Started very initial work on WebRTC doc tree construction, preparing to reshuffle and clean up the existing, somewhat old, pages, and to add lots of new stuff.
- Started work on trying to figure out how to make the
SubpageMenuByCategoriesmacro not lose headers; it’s calling through to
MakeColumnsForDL, which specifically only works for a straight-up
<dl>. Fixing this to work correctly will be my first task on Tuesday.
Meetings attended this week
- MDN bug triage meeting
- #mdndev planning meeting
- Developer Relations weekly meeting.
- 1:1 with Teoli. This went on for an hour instead of the usual 30 minutes, due to the enormous amount of Big Stuff we discussed.
- MDN community meeting
- #mdn review meeting
- MDN bug swat
- Web APIs documentation meeting.
A pretty good week all in all!