I’m pleased to announce that I will soon be joining the WebKit team at Apple, reporting to Theresa (Tess) O’Connor and Myles Maxfield. I will be continuing my work on Web platform specifications (and, hopefully, with the AC’s support, on the W3C Advisory Board) as well as attempting to fill in as a text rendering engineer.
Since my primary affiliation for most of my last two decades at W3C has been “Invited Expert”, this is a big change, and I thought there might be some questions. So here's my attempt to answer them:
- When do you start?
We’re currently targetting mid-June, but that may change; I need to wrap up my existing contract work first. (I'm announcing early, because it affects the W3C Advisory Board election.)
- How will this affect participation at W3C?
W3C Advisory Board positions are individual, not company, representation; so I expect the main thing to change about my Advisory Board participation to be that I’ll have access to Apple’s internal resources and support.
(Also, I have almost two decades of habit as a W3C Invited Expert; I think the perception of my participation will change, but I don’t expect my actual participation will change.)
My CSSWG priorities are currently directed by a mix of my own and Google’s priorities; I expect that will switch to a mix of my own and Apple’s priorities (which will probably refocus a bit more on text). But I'll still be responsible for all the things I'm currently responsible for, and Tess intends to support my work on the full range of what the CSSWG works on.
So if you have questions, or want to talk something over, or need help with anything in the CSSWG, whether you work for Google or Mozilla or anyone else, I intend to be exactly as available as I was previously. Do not hesitate to ask me for help just because I work elsewhere now.
- Why change?
- I keep getting involved in things “above my pay grade”, and as a contractor, these things are not paid. If I’m to keep working on things like the Process and the AB (which sucked up ~50% of my working hours for two years), I need to find a position that includes it.
- Remote work + independent contracting + COVID/travel restrictions is too isolating. Things were fine before the pandemic, but it’s too much now.
- I’m doing too many different things at this point in my career. I’m having trouble managing it all myself, and I need help—or at least more structure and actual teammates.
- Why Apple?
- It places me on a non-Chromium browser team. Not that I’m opposed to Chromium at some fundamental level, but the Web needs balance, and Chrome Team already has lots of awesome people. :) So it's probably better for me to be with either WebKit or Gecko.
There are gaps on the WebKit team that I’m a good match for:
- David Singer is trying to retire, and has resigned from the AB to serve on the W3C Board, which leaves a gap in the AB.
- Tess’s little standards team has grown, but is underpowered on the rendering side.
- Myles got himself promoted to management, and needs to replace himself as WebKit’s text engineer. (It is a lesser-known fact that I’m also a C++ engineer, having worked on Gecko’s layout engine previously.)
- One of my focuses in my career has been internationalization, particularly of text layout, and working for Apple (or Microsoft) would allow me to more effectively work on some of the internationalization problems that extend outside the browser and the Web platform into OS libraries and underlying technologies.
- Why not Google?
I want to be very clear that I would not still be here if it wasn’t for the support of Tab Atkins and his managers over the past decade. They put me on a (very) part-time hourly contract in 2014, when I was barely able to work, and their continued support allowed me to continue work on CSS instead of quitting this industry entirely. It took years for me to ramp back up to full time; those contracts enabled my participation in the CSS Working Group over the past decade as well as (indirectly, by making it possible for me to pay rent while working part-time) on the Advisory Board.
However, Google has enough star power on their team: what they really need is counterparts at the other browser engines. They need me at Apple or Mozilla more than they need me on their own team.
- Why not Mozilla?
I essentially grew up in the Mozilla project! It's where I learned QA, it’s where I learned open source processes, it’s where I learned C++, and it’s the reason I am a spec editor (and not a civil engineer).
But Mozilla doesn’t need spec editors as much as it needs platform engineers; and while I could be a platform engineer, it’s hard to walk away from the pile of important work at W3C that I'm currently responsible for—which Apple and Google can more easily pay for. I really want Mozilla to succeed, and they can't if they're behind; so I'd rather that Mozilla spent its money on Gecko.
That said, I will always consider Mozilla to be one of my primary affiliations. As long as I'm still working on the Web Platform, I'll still be working for its mission and trying to uphold the Gecko team’s standard of doing the right thing, doing it well, and doing it thoroughly.
- What challeges do you anticipate working for Apple?
I'm primarily apprehensive about two things:
- Using a MacBook. I am really attached to my wacky Linux window manager that Hixie introduced me to; and also to the TrackPoint.
- The time-management aspects of working full time; transitioning from independent contract work is going to be... confusing, I think. It might take awhile to get the hang of it.
The WebKit team and I are excited about the possibilites by this change; I hope you’re excited too; and if you’re on the AC and have been supporting my work in the AB, I hope you will consider staying with me through this transition and vote for me under my new affiliation in this election!