How much should one worry about the "edge cases" in an application, especially when creating the UI?

  • Hi greengit, please avoid padding your questions with irrelevant quotations and consider using the extra space to describe your actual problem so that people have guidance on how to answer the question: each person here answered a completely different question. If you're interested in how to identify edge cases, please see: How do you identify “edge” cases on algorithms? – user8 Jul 25 '11 at 9:10

Depending on how you've built your application, hopefully the layers below your UI will 'catch' any edge cases that you don't specifically cater for in your UI layer.

So, for a lot of unusual or uncommon edge cases, it's OK for the UI give a generic error, as long as the more functional layers catch it and deal with it, and data destruction or pollution doesn't happen.

However, the more feedback the UI can give, the better the experience will be. I don't think there's really a definite percentile or anything like that: it depends a bit on your users - how many of them there are, how often they're using your application, how good they are. You can't justify spending a year on dealing with every edge case in the UI of a 4 screen application.

Be warned though, that the cracks you leave now will where the bugs you will be looking for in 6 months time will be hiding. Code as defensively as you can, given the amount of time you have. (and assuming, as I said before, decent lower layers).

| improve this answer | |
  • 2
    +1 for Code as defensively as you can -- that helps :~) – treecoder Jul 23 '11 at 12:52

The quote above may sound funny at first, but IMHO it - or rather, the view behind it - is actually one of the prime source of software bugs.

Viewing our users as idiots who just can't understand our beautiful creation, or are hardly even worthy of using it, is a dangerous view.

Yes, there are plenty of users who behave in apparently irrational or plainly stupid ways, trying to coerce a program to achieve something they have in mind. And yes, often there are much better and simpler ways - or none at all, because the program in question was just never meant to do what they wanted of it.

However, merely labelling them "idiot" is surely not going to solve any real problem - rather, create more.

IMHO the best way to prevent UI bugs is to actually understand the users and their problem(s). Spend time with them, interview them, observe them during work, to understand how they use the UI and what they actually need. This helps you discover the important edge cases too - and may in some cases make you realize they were edge cases only from a limited point of view...

| improve this answer | |

Plenty ... ! More often than not, we the developers are the edge cases.

Creating a good user experience is a field in its own right and should be taken seriously.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.