I attended the Microsoft Edge Web Summit in San Francisco. I will be honest, outside of meeting a few people, I wasn’t expecting much. Instead, I found myself face-to-face with the “new” Microsoft. I have grown accustomed to the openness and true collaboration that the TypeScript team have engaged in, but I wasn’t expecting seeing this mode infecting cross-pollinating the rest of the company. What I saw was far from a marketing ploy. It felt as if Microsoft was going through a revolution from the inside out.
Simon Sinek wrote Start With Why in 2011, actually using Microsoft as a foil for explaining why Apple had been successful and Microsoft was struggling. What I saw though at the Microsoft Edge Web Summit was a group of highly switched on Microsoft engineers and advocates, who not only knew why they were doing what they were doing, but they also seemed to be leading the revolution. While they didn’t delineate it, it was apparent in their actions that they are now thinking with a logic like this:
- The world now runs on software and data
- Therefore the world needs tools to build and manage this
- We make great tools for building great software
I asked during the Q&A at the end of the summit what the Edge team had found most challenging and most pleasantly surprising about launching Edge. The reply came saying it was the same thing: The most pleasantly cathartic was removing years and years of cruft; but the biggest challenge was knowing that they were stripping out huge features that people had relied upon and almost no one would be happy with the more limited feature set they launched with. But it was clear they knew that continuing to build and build on top of IE was going to be detrimental, no matter how many people (including themselves) kept saying “all I need in this world is this feature“, knowing they would soon end up like Steve Martin in the Jerk.
Because of this, they are taking a multi-pronged analytical approach to deciding what to put into Edge. And they are challenging themselves to share all of this with the public. They are fully transparent on their roadmap. They have shared with us their usage data of what actually gets used in the wild and they have open sourced key parts of their architecture.
I believe they haven’t done all this because some marketing body thought it would be a good idea. They haven’t made their code available on GitHub because that is what the cool kids are doing. They are doing this because they realize the world needs great software and that they can’t do it alone.
I had a side chat with some folks, one from the Node.js Foundation and one from ChakraCore. We started talking about ChakraNode and I mentioned that some of the SitePen team asked the obvious question of “Why doesn’t integrating ChakraCore make it more difficult for everyone by introducing fragmentation? Why would Microsoft want to do this?” There was a brief discussion of the technical merits of ChakraNode, but there was the unguarded and rather softly spoken reason: “it keeps us all honest.” It was a simple statement that in order to not fragment the platform, we have to learn to work together. We have to learn how to introduce changes that don’t break everybody. The individual from Node.js brought up a very pertinent point, that one of the biggest struggles the Node.js project has is the moving target that is the V8 APIs. Basically V8 could do whatever they wanted as long as someone in Chromium was ready to adapt to that change, but no matter how fast the web moves these days, we have to find ways to really be open and work with each other. Doing the integration alone was a huge boon to the Chakra team to break out of their isolated world and understand how someone else could consume their APIs, beyond some other team across the hall in Redmond. But also it hugely informs everyone on how JavaScript engines should behave.
One of the other things that shows the change in attitude is real is seeing advocates like Chris Heilmann and Aaron Gustafson hanging around Microsoft. Aaron Gustafson really challenged us, the people who build great software, saying that accessibility doesn’t get enough attention. Outside of the heart strings of building software that is usable by everyone and being inclusive in our designs, he also pointed out if you can make a user experience work for someone who can’t see, it will actually ensure your user experience is good for everyone. He said every interface is a conversation and by tying our hands (or plugging our ears, or blindfolding our eyes) we, as software engineers, can start to understand how to make great user experiences. While only a few of us suffer from a permanent impairment, most of us will have such impairments from time to time when we break an arm, or lose our voice, or have age-related Macular degeneration. Why would we exclude these people from using our software? Why would we exclude anyone on principal, even by omission? Not only giving us a good “why?”, Aaron gave us tools (as well as other speakers) to help make our applications more accessible.
This wasn’t a “come to Microsoft Edge because we have X feature…” It was a honest attempt at raising the bar. I think Chris stated at some point that he had talked with the Firefox team who were attending and they felt that the gauntlet had been laid down for some of the accessibility developer tools that Microsoft was bringing out, saying they needed to do the same. How great is that, to see the web become more accessible for everyone? Accessibility is something we have long taken to heart with our efforts on Dojo, and we’re excited to see improvements coming to the browser platform to make this easier to achieve!
There was substantial additional information presented throughout the day, with all of the sessions providing something useful to consider or immediately apply to our efforts on Dojo 2 and Intern. While I had originally assumed that networking would be the main reason to attend the event, it was great to engage with such a charged up and engaged community of people.