Internet Explorer used to be the favorite kid for web developers to pick on. In recent years however that has changed as Microsoft changed its browser strategy somewhere in the Internet Explorer 9 time frame. At that point modern standards support became a priority. The team started to open up more about how the browser works and began communicating to developers. As time has progressed they have started rolling out more updates through out the year, adding more features and bug fixes sooner rather than waiting for a large operating system update.
Recently several articles about how Chrome and Safari are the new IE. Each article raises valid, important points. The most recent article calls out Chrome for being an engineering focused browser that lacks critical user experience support. I have been saying this for several years now. In fact I will go on record to say I am not that excited about most ES2015 and ES2016 syntax features because they add very little to the important feature set and that is the ability to create more engaging user experiences. The language updates only add more syntatic sugar. I would much rather have more device APIs like service workers and Push Notifications, these are big impact user experience features
To me the number one goal of a web application or site is to provide a rich user experience. I think one of the reasons I gravitated toward the front-end is because almost all my customers emphasized user experience features over back-end features. To me the back-end, a more engineering centric realm, was fairly easy to develop and test. Things behind the web server layer are more cut and dry and can be tested by a robot. However the front-end involves some artistic magic, something my brain is not optimized to deliver. This design requirement is a challenge I find motivating. But more importantly that is where my money was made and lost, delivering good user experiences.
Think about it this way, customers generally do not care about the development stack you use. They want something they can look at and feel proud or not curse everyday doing their job. There has to be curb appeal and a sense of natural usability. This makes customers feel good about using your application.
When I say customers I am not talking about the CTO or some senior architect that hires developers to fill their cube farm. I am talking about the people that use the applications we build, ultimately they pay our salaries. They just want to order widgets from company X or run a line of business application with the least amount of friction.
Since Internet Explorer 10 Microsoft has provided a platform that excelled at user experience features developers could leverage to build top notch user experiences. Chrome was busy adding developer creature comforts. Safari was also doing a god job of adding user experience features, but that has started to deteriorate. For example the current mobile Safari release (iOS 8.x) struggles with scrolling, I know I battled scrolling issues this summer.
Microsoft released a new browser, Edge. It is going to be interesting to see exactly how things progress with the fresh code base the team has created. I am already seeing good user experience support, blended with developer appealing API features.
Edge's unfortunate problem is that most web developers are using MacBooks as their primary machines. Heck most end users are using a MacBook these days. Now let me specify what web developers I am talking about. These are front-end developers, not traditional back-end web developers. But even the latter seem to be gravitating toward MacBooks, often running parallels. None of these developers use Internet Explorer or Edge to develop and test their creations.
This last fact keeps them from understanding just how advanced Internet Explorer and Edge are. Too often these developers still assume Internet Explorer has not changed since version 8, a browser released before the 2008 mortgage crisis. The online world has changed millions of times since then. Even Microsoft has forgotten Internet Explorer 8, relegating it to Enterprise Mode. And do not forget IE 8 becomes unsupported on January 12.
If you don't believe me on the MacBook claim, go visit an airport and see what people are using, its a MacBook/iPad world out there. Chrome is dominant on MacBooks. Heck the Chrome app is gaining ground on iOS despite being Mobile Safari with the Chrome logo.
Talking to more and more Mac users, they hate Safari and use Chrome instead, even the most average user. This puts the pressure on the Chrome team to add user experience features. To me Chrome is the most lacking in this area. The recent position reversal on Pointer Events is a big deal because this means they can offer superior touch support. But still they need more support for features like native, momentum scrolling and naturally hidden scrollbars like Microsoft's browsers. Chrome also needs better power management because it is a battery killer. I wont even run it when I am flying because it drains my battery.
Browser diversity is great because it creates natural competition. This means developers have a more fertile platform to build rich user experiences. Each browser has strengths and weaknesses. I encourage you to use as many browsers and platforms as possible. My strategy involves Windows, iOS and Android on phones, tablets and desktops. I routinely test 4 browsers on my development machine.
So go explore and leverage the rich platforms we have. I don't think there is a new IE, but rather a diversity we must embrace.