We always do prioritise bug fixes over new features. That's been our policy for a long time. However the reality of software development is it's impossible to make a 100% bug-free program. Even if we fixed all the problems in the bugs forum, there would probably be other as-yet undiscovered problems. So first we must accept we probably will never be able to fix every single last bug; our goal is to reach a high (but not perfect) standard of stability for all users.
Secondly, most software projects have hundreds, if not thousands of known issues or open bugs. Usually they're private. For example, even Windows 8 will almost certainly have hundreds or possibly thousands of issues that Microsoft are dealing with internally. Nobody can see those issues though. Just because you can't see them doesn't mean they don't exist. We're different in having a public bugs list, and for a large software project I think we have an unusually low number of open reports.
Finally, most problems still open in the bug reports forum either have no clear resolution, or are potentially a large amount of work for a minor improvement. Here's a quick review of some of the open issues:
- your Windows 8 issue: when the user clicks 'Back', we run a command to re-open the charms bar. Windows 8 appears to ignore this. I can reproduce the issue, but it's not clear at all what we ought to do about it. The problem might lie with Windows 8, since we told it to re-open the charms bar but it did nothing. I can't see an obvious way to even start figuring out how to fix it, apart from starting to research Windows 8 apps in more detail, re-covering the absolute basics, spending some time writing a new Windows 8 app by hand, etc. This could turn out to be pretty time-consuming. Meanwhile the issue is minor - it doesn't stop anyone accessing anything, only makes it a little more annoying. So for the time being the issue remains open.
- occasional random crashes on exit: random issues are usually the most difficult to resolve, because if I can't make the problem happen every time, I can't start investigating it. I have once or twice luckily managed to catch the error in a debugger, and all I could determine was that the UI library we use crashed. We don't control that code, and we can't really report a random issue to the vendor because they also need to reproduce it every time. There's no immediately obvious route to start resolving this, so for the time being the issue remains open.
- there's an old issue that 'every X seconds' used with 'random(3, 6)' doesn't quite do what you expect. This is due to the architecture of the event engine. Resolving this could involve some degree of re-architecting the event engine to make an exception for this specific condition, which could be a lot of work and introduce other bugs. Meanwhile the problem only affects a small proportion of users, and there's an easy workaround. So for the time being the issue remains open.
I could continue like this to cover most of the old issues, except the batch of newest reports from the latest beta which I usually fix almost all of before proceeding to the next build.
To illustrate this, there are currently approximately 2000 closed bugs and 50 open bugs. This means we've closed about 97.5% of all issues ever reported.