Oh, thats nothing. Just today Firefox managed to freeze up the entire X server with some WebGL content. Gedit become unresponsive several times, also had rendering faults (just 640kb file with autogenerated html and js).  
SublimeText2 crashes daily. (it&#x27;s faulty plugin)
Office outlook for Web is a general usability horror and has many features that do not work. Win10 has number of bugs that I encounter almost daily, Edge is generally very buggy.<p>I think generally all these problems are indicative of several factors combined. Laziness, general lack of attention to detail and pure developer incompetence, general need to push out stuff too fast (marketing decisions policies) and then finally complexities in the software systems itself. Today any given software system is enormously complicated to a degree that nobody really understands the systems completely. In fact it&#x27;s a more or less a miracle that things work as much as they do considering all the billions of bits that need to be just right for me to even write this comment. That being said, I don&#x27;t think there are shortcuts here. Better quality can be achieved but it requires the mindset for doing things that way. And it&#x27;s going to require testing. And a lot of it, unit tests, regression tests, automated test suites.<p>Personally I find that when I write code I often need more unit testing code than the actual code to cover the system under test functionality properly. I&#x27;m talking about a ratio of up to 5 lines of testing code to a 1 line of real code. Sometimes I can get close to 2:1 or 3:1 if the function&#x2F;class&#x2F;method is not very complicated. Anyway even if you now take that conservative ratio of 2:1 and go look at any random open source project I&#x27;d be surprised if you would actually find that much testing code there. Good luck.