Tales from the Trenches: Battling Browser Bugs for "Fun" and (Non-)Profit
Web development used to be HARD. You basically had to rewrite your code for every new browser you wanted to support. But with modern browsers and libraries like jQuery, those dark days are over. Or are they? We pushed the limits of what the web can do while building VisualEditor (the new editor for Wikipedia) and found plenty of hilarious, insane, amazing and horrifying bugs in browsers, even in 2014, even without pushing the limits very hard. All we needed to do was go just a bit off the beaten path. If you're just trying to put a UI around a server-side application, the web is pretty seamless these days, but if you're trying to build an application that runs on the client, you'll find that doing interesting things in browsers is hard, even things you'd expect to be easy.
In this talk I'll share some examples of browser bugs that made us laugh (what happens if you close a tab while it's reloading?), some that made us cry (what if your tag has no src but has an alt text?), and some where we found creative workarounds (how do you convince the browser to make box-shadows behave correctly?). I'll also talk about things that should be really simple and how hard it was to get browsers to do them right.
Roan has been hacking on MediaWiki since 2007. In 2009, he crossed over to the dark side and became a frontend developer (he’s one of those “children” who started frontend development when jQuery already existed). Since then, he has attempted to make the dark side a little bit less evil by working on ResourceLoader (a JS/CSS loading system for MediaWiki) and VisualEditor (a next-generation editor for wiki pages).