In Defence of the UX Bug
I recently reported a bug on an open source CMS. A UX Bug. and then I got told off for it. This made led me down a path of trying to debug the whats wrong with UX in open source in some projects and how we could perhaps do better.
In this CMS, in order to delete a page, you have navigate away from the page, find the folderit's in, select it (if you remember the page name) and then do the delete action. This is something I saw people get confused about in training. Something that requires additional explanation and even comes up in support requests. "How do I delete a page?". I outlined the number of steps needed to complete this action. I outlined why I thought this wouldn't be obvious to work out for a new user. To me this clearly showed the bug.
but the reaction was: no. it's not a bug. It's your opinion, even if I agree this isn't the best way to do this, this is an enhancement, and if I want this "enhancement implimented" then I should put in the work and do it or not complain at all. Well that was the gist of it anyway.s
Bugs vs Enhancements
A bug is where the software does something unexpected. An enhancement is something where you want it to do something new, something thats not currently what is expected. This is the best definition I can think of. If most users have an expecation that they should be able to do something, or do something in a simple way then that is the definition of a UX bug.
Your normaly bug tracker will define tickets as either Enhancement or Bug. And I think this is where the problem starts. Submitting this as a bug I got an angry response. This was my opinion, therefore its an enhancement and I shoud writ the code myself inline with my vision and see if its popular to get it accepted. etc etc. Stop complaining and wasting time.
But is is it opinion? Even though this guy agreed with me that this was not good UX he doesn't feel like it's a bug because he can't say its wrong with certaintity. Becauase he's not the user. He doesn't know many users or finds it hard to empathasie with them. He doesn't feeld qualified to say that my users I'm reporting on behalf of are representative.
Are software bugs really different from a UX bug?. Someone triaging software bugs is making these calls all the time on what's expected vs not. It's that it's often about inputs and outputs they are more familiar with. A function is returning a boolean instead of a number when the function clearly says it returns a number. and you can search of the code that uses this function to see if that other code is expecting numbers. It's really not much different than searching for users and asking them what they expect, just easier to do and as a developer, you can read that code and say to yourself "I as a developer would expect it to to return a number therefore this is a bug". It's a empathy problem.
Enhancements I would argue are new features. Adding the ability to do somehting not currently possible. You can argue since the CMS does let you delete then it is an enhancement to add a new way to delete. But then you could argue that any bug that has a workaround, no matter how complex, is therefore not a bug but an enhancement. One workaround is just not use the software. the enhancement woidl be to have software that works. I do write out enhancements as if they are like a bug, ie in terms of the problem that needs solving rather than the solution, but that is still distinct from a bug where problem is the current software rather than some business problem or function the user would like to do but currently can't.
A problem of trust and intuition
The problem here is much deeper. Open source is volunteerism, with the majority of the effort done by volunteer developers. When a bug is submitted then it is often a volunteer developer will jump in and triage it. This means they will look at the steps to reproduce and see if it's reproducable. They will try to determine who wide an impact this bug has both in widely it might occur and how bad the result for those when it does happen. Often this is not driven by data. Often it's driven by an understanding of the system and general intuition.
- little knowledge of users. Doesn't do training. Doesn't write documentation. Doesn't answer end user support requests.
- no access to data
- no training solving UX problems, testing solutions and what works and doesn't work has general practice in other software
- a strong bias towards not changing how current system works because they it's hard to imagine approaching it without knowing how it works underneath. curse of expertise.
Ok, so you might think that this is all semantics and nitpicking, but the bigger picture here is what this means for UX in open source software. A bug has some urgency about it. Bugs will get triaged by their urgency and are almost always considered more important than enhancements. It's a systemic problem where open source is managed by developers but the users are not them. Even if there is a label called UX bug or "UX this is really annoying for users", you still have the credibility problem of proving is a problem and how big a problem it is. Even if you get past that hurdle, your next is that there are often many option for a solution. And if those that review and decide are all developers with no end user empathy then you will either get too many opinions with no way to decide or an arbitrary decision that may be based on whats easiest or what will cause less conflict rather than whats best for the user.
But any software bug that doesn’t result in a crash can equally be argued to be an enhancement. The CMS doesn’t work with UK date format, is that a bug or a feature?The CMS sets the language to be that of the content, not of the editors choice, is that a bug or a feature?The CMS converts dates twice so they are the wrong timezone but only if you are in another timezone other than UTZ. bug or feature?What is the difference?The difference is the person doing the triaging. If they are a developer they feel empowered to know when something is not what it should be.But unless they have a good understanding of the end user, they are unsure if the expectation of how it should work has been broken or not.If anyone else can