It’s the end of 2015. What’s the state of devtools?
Not just our devtools. Devtools… across the board?
Switching from one tool set to another is confusing; for the average web dev, they have to do it enough that it’s easy to have hatred for the devtools that don’t look like the others. Of course, company directives affect devtools, meaning that everyone’s devtools inherently must look different: Google has power(💸) that Mozilla does not, Apple has thoughts on the web that Mozilla does not, Microsoft has very few directives it takes from the web that Mozilla does. Knowing where these people are and what they’re doing is useful, if only so we can make decisions on what we think is worth our time and effort, what we think the community needs the most, what we think would get more people using Firefox devtools.
We also are different from the normal web dev. For one, we are building these tools; things that are obvious to us are not obvious to someone opening the toolbox who needs to learn how to use it on the fly. Second, we are in tech, and benefit from all of the knowledge that gets shared within Mozilla, tech companies, Medium, Twitter, knowing who’s who. This is not the norm. Web devs are at all skill levels and within different communities, and thinking that our experience is representative of the greater web dev community is dangerously erroneous. This is why we need user testing. This is why we need to ask ourselves while we’re building:
Google has awesome devtools.
¯\_(ツ)_/¯
It’s because of who they are as a company. They make the majority of their money from web advertising. They want/need people to make better and better websites that can generate ad revenue. The success of the web is important to their bottom line (which at the end of the day is the best way to get people to put money and effort into anything).
What they’re up to based on their dev summit:
There are some things Google is doing that I think we could improve upon.
Apple has a really strict design system born out of having to make stuff look awesome on tiny lil’babyscreens. iPhone sales are how Apple makes money, so it is understandable that they have a lot of really really pro icon design, a deft hand when it comes to deleting things, and a lot of experience making complicated things simple. Apple’s known for their human-centered design patterns and there’s a lot of work they’ve done in the Safari devtools and even in Xcode that’s worth… well, stealing.
What Safari devtools is up to:
Less, but better.
They have seven panels you can enable. That’s it. By doing this they’ve completely eliminated some of our design challenges by being willing to unapologetically slash features they think don’t belong in their devtools. I think if we’re to be successful, we need some of this same cut-throat mentality to keep ourselves on track, to remember what’s important ,and to keep the tools useful to that low-skill set of people that I talked about before. It means being willing to mark bugs as WONTFIX. It means having to turn down contributions when the contributions don’t benefit devtools even though it feels awful to turn down contributions. Because this feels super crappy to do we should remember: cool products mean people want to contribute. That’s just the way things happen.
IE was just so terrible that apparently they just decided to scrap what they had and start from scratch with Edge, including with their devtools. With us ourselves having our own technical baggage (à la XUL, among other things) I can hardly blame them. Their tools are fairly bare-boned because of this. I think it’s safe to say that we’re not going to see the sort of break-neck innovation that Chrome outputs because Microsoft as a company is much more concerned with commercial licensing, not on web ad revenue. They’re playing a game of catchup. That said, I think they’re doing a couple things well:
So, this is what we look like right now. I’m going to say what I think our biggest challenges are first and then what we should focus on. As you read this you should imagine what this means for you, and what you’re building.
Also for this next part, I have one more question I want you to keep in mind while we go over this stuff:
Our Biggest Barriers: I think we have legacy that holds us back. Not just code legacy, but also legacy in the ways we approach problems. Having been here a few months I have seen a paradigm where we prioritize the features people ask from us without questioning if they are the needs of the majority because they often are seemingly good ideas. These are our biggest mental barriers as I see them:
With those in mind, these are the four big goals I’d like to see us accomplish as a team in 2016:
After Mozlando I feel all the more encouraged to say this: I think that our priority should be ensuring that the UX of our existing products is great. Maintaining, I understand, not nearly as fun as creating new things, but the community we serve is built mostly of web developers just trying to get websites built for work, or school, or their hobby. They are in the majority, and their needs, in my mind, supercede the needs of a few developers who think that the new tools we build on top of devtools would be really cool. And I think you’d all be surprised at the kind of love we can get just by making things we already have better.