March 2, 2016
Engineering vs. Biology
The Laws of Supply and Demand Don’t Always Favor Innovation
I have always wished for my computer to be as easy to use as my telephone. My wish has come true. I can no longer figure out how to use my telephone.” – Bjarne Stroustrup
So apparently it’s not just me.
When I got my shiny new Windows 10 laptop (Hooray – no more Windows 8!) I also got Microsoft’s shiny new browser, Edge. Edge, we are told, is the replacement for Internet Exploder, Microsoft’s usual (and the world’s most popular) browser. Windows comes with both browsers installed, but it’s pretty clear that Edge is the one you’re really supposed to use. In typical Microsoft fashion, they make it difficult for you to change the default browser, and you’re challenged with a lot of “are you sure?” messages if you persist in swapping out Edge for something else. So, naturally, I started using Edge.
Not sure what I expected to happen, but it didn’t magically transform the web-browsing experience. It’s usually the stuff inside the browser’s border that’s interesting, so changing the chrome (if you’ll pardon the expression) around the edges (ahem) didn’t really make much of a difference. Okay, so it’s a new browser. Big whoop. But there’s supposed to be all-new technology under the hood, right?
According to the official corporate propaganda, Edge is a ground-up (as distinct from mashed-up) rewrite of IE’s rendering engine. Faster, better, more standards-compliant. All good stuff. IE had evidently accumulated too much cruft to ever be quick and snappy, so the company decided to start over from scratch. We can all sympathize. Who among us hasn’t longed to dynamite some old code and start over? “If I’d only known then what I know now…”
Edge was fun for about… oh, two weeks. Then the novelty started to wear off. It didn’t store bookmarks the way I wanted; there are no plug-ins; some sites didn’t render properly; and most ironic of all, it actually seemed to be slower than the much-maligned IE running on the same machine. So… what exactly was the purpose of this massive overhaul?
A quick look at market statistics, combined with online support forums and some of the later product reviews (as opposed to the breathless prerelease hagiography), showed that I wasn’t alone. Usage of Edge had initially spiked in lockstep with new Windows 10 shipments – no surprises there – but then declined as Windows 10 became more prevalent. By some measures, Edge was actually less common than either IE or Chrome, despite being the default browser, which suggests that users were uninstalling Edge and downloading third-party browsers in its place. That’s a lot of hate.
Looking back at my original decision to acquiesce and start using Edge in the first place, the reality slowly dawned. Edge wasn’t anything I’d asked for. It wasn’t fixing a problem that needed solving. It was pushed in front of me like an extra helping of pasta from an overenthusiastic grandmother. And I took it because – well, why not? Maybe it’ll be good for me.
I’m still not sure what Microsoft is/was trying to accomplish with Edge. Maybe it’s a maintenance issue. Perhaps IE was becoming unsustainable and needed a reboot no matter what, so its developers might as well get the customer base used to the new design. Maybe Edge will eventually become a platform (a host?) for a range of yet-to-be-announced Microsoft products. Maybe it’s purely an engineering decision, driven by a desire to write cleaner, more elegant code. There could be a lot of reasons.
But what Edge most amply demonstrates is the “Why would I want that?” factor. This is a simple question that goes unanswered by so many in our industry and our professional circle. In short, why would your customer care about your new product?
We already know why we care. Inside the engineering world, we upgrade our products and rewrite our code for a lot of different reasons. Maintainability. Code-size compression. New tool chains. Better performance. Compatibility with other products. Whatever. But a lot of these decisions are driven by internal technical motivations, not by external customer demand. “But the code will look so much better with the new compiler!” is not a valid rationale. Not for the customer, it isn’t.
Microsoft’s development team put a ton of effort into Edge. I’m sure they’re proud of their accomplishment, as they should be. Modern browsers aren’t simple projects. Just look at the memory footprint for Chrome, Safari, or even Opera. But engineering man-hours do not translate into customer demand. Just because a project involved a lot of work – a lot of good work – doesn’t mean anyone gives a rat’s patootie. Building a scale model of the Eifel Tower out of hand-carved toothpicks would be a lot of work, too, but that doesn’t mean you’ll sell a million of them. Or even one. There is no correlation between effort and demand.
I’m sure that whole rooms full of Microsoft employees truly believed that customers would greet Edge with welcoming cheers and banners. “Hooray, it’s a new dawn for browsers! Out with the old IE! In with the new Edge!”
But the fundamental question remains: Why would the customer care?
This very basic question appears and reappears because we engineers innovate faster than our customers do. We can easily crank out new versions of a product (particularly if it’s software-based) more quickly than our customers really need us to – or want us to. Electronics moves faster than biology.
Our marketing coworkers talk a lot about time-to-market windows and ever-shrinking product schedules. We know those problems well. Do more with less, in less time. Keep up the pace of innovation. Crank out new revisions, upgrades, or modifications every few months. More lines of code. More gates. More features. More GUI updates.
Take a look at the car you drove to work today. (Danish readers can skip ahead.) Let’s say that the carmaker tells you, “We’ve got a new 2017 model coming out soon, and it’ll be insanely great, but it won’t be ready for a few more months. We’d like you to ride a bicycle to work until it ships.”
Does that seem like a reasonable request? Do you care about the new features in the 2017 model? Were you even in the market for a new car? Or is this all just a rude intrusion from a company that apparently believes it’s far more important to your life than it actually is?
Jerking around customers is not a great way to build brand loyalty. Innovation is one thing; meddling is another. As engineers, we have a million reasons to make improvements. That’s what we do. Just make sure that somebody, somewhere, is looking out for your customers to see if what you want aligns with what they want.