- Build some webapp and get it working correctly in Chrome
- Test on Firefox. It works 90% of the time. 9% of the time it's relatively easy to support. 1% of the time it isn't worth the hassle.
- Test on Edge. It works 80% of the time. 10% it's an easy enough fix. 10% you have to move heaven and Earth to fix and when you contact Microsoft, they know about the issue but won't do anything to help.
- Test on IE. It works 60% of the time. The other 40% of the time you start looking for a new job so you don't have to write the same code a second time for IE.
Edge guesses for each number on a page if it might be a phone number. The guess depends on your locale. If it is considered phoneable, edge removes all javascript and replaces it with a link to skype. Which is fun if skype is not installed, it just pops up a messagebox complaining you need to install something, and it's not going to tell you what exactly. The error is only half translated and lost any meaning in the process. Can't put a DOM breakpoint on it either, the bloody browser just ignores everything you do to that DOM node.
Fun, now a few rare numbers on one of our sites seem phone number enough for the dutch locale to break the site. Tell the user to switch to the french locale as workaround, or get any other browser. MS wants you to change the html to say: hey edge, this is not a phoneable number.
WTF, microsoft? Way to shoot yourself in the foot. What else did you hide in there that will bite me one day?
https://answers.microsoft.com/en-us/windows/forum/apps_windo...
We rewrote the app so it didn't use ClickOnce in the end.
Let me explain: there is no true open standard (as explained at https://www.joelonsoftware.com/2008/03/17/martian-headsets/). You don't realize this until you make HTML5 games or apps, like when Google decided to break tons of HTML5 games with https://developers.google.com/web/updates/2017/09/autoplay-p...
So basically it is already really hard to support all web browsers out there, since there is no "standard". So what you do is you limit yourself to a few, and display "Best played in browser X", because browser Y has these strange issues, and might introduce others with a new update, and the same for browser Z and F.
So if you make rich web content such as games, the ecosystem will automatically push itself to a limited amount of web browsers.