Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm currently working on my own project for an Android app, but then as time goes it feels like my app is concentrating more on another feature than what I had in mind when I first design the app.

So I want to ask how we should know when our application is too complicated (for the user)? What should we do with it? Especially when we strongly think this new feature is important.

share|improve this question
A: When they can't keep all of the features of your app in their head? (or haven't found all the useful ones yet) – Spoike Oct 13 '11 at 9:20
The test goes like this: do you think it's complete? if your answer is yes, it probably is. :) – keppla Oct 13 '11 at 12:09

migrated from stackoverflow.com Oct 13 '11 at 1:03

5 Answers

Less is more, particularly on mobile apps.

Put it in front of a few people from your target audience and ask them. I bet if you think it's a little to complex, it's way too complex... My experience is most "features" put in by software developer should be in the "For Geeks Only" menu option.

share|improve this answer
which means I need to put a lot of fixed parameter and save it for "geek mode"? – GAO-tsukai Oct 13 '11 at 5:19

If you spend time up front in analysis and design, you would easily know if the application is complex or not. For example, you could determine the number of classes, tables, business rules, windows/screens, data exchange requirements, etc. You could also measure your progress against a list of functions completed and monitor the rate of change of that. If you are very good, you could even plan your features and produce versions on known intervals. However, if you build your application using the discovery approach (no clear requirements up-front, add features as you go, etc.) it becomes a guess game at best (I have nothing against methodologies advising you to do just that! This is only my opinion).

share|improve this answer
actually I want to do it just like you suggest me, but yeah...I'm still no good at it, and leave one problem, which I still don't completely understand behind to ask others who know more about it. and after learn more about that part...yeah it's bigger than I thought. – GAO-tsukai Oct 13 '11 at 5:15
If you add learning to the mix, reporting status becomes more puzzling. – Emmad Kareem Oct 13 '11 at 9:14

The only way to find out if it is too complicated for the user is to do some form of usability testing

share|improve this answer
1  
I came here to say exactly this. The only way to know is to have someone who isn't a developer or engineer actively testing. – EricBoersma Oct 13 '11 at 12:41

As long as you keep UI clean and easy to understand for the user, it's ok. Take a look at the browsers - thay are very complicated inside, but you still can surf the web without knowing the undercover.

Maybe you should bring up that second feature in the first place, make it less hidden and simplify the parameters (use some defaults or guess what you can).

share|improve this answer
yeah been thinking that for a while, but as one app my first feature looks a lot more simple than the second ones (first feature is per-transaction and the second is for planning) – GAO-tsukai Oct 12 '11 at 9:13

Your application is complicated, if there is an easier way for the user to accomplish their tasks than you present them.

So, unless you have a concrete suggestion of improvement, you can only guess that there is a better way and therefore a possible less complicated version of your Application. Because of this uncertainty, it is often good just to assume "it is too complex" to stay open to improvement.

Complicated is Different from Complex

Your application may be justifiedly complex if the Problem it solves is complex. A command line tool like this putpixel [filename] [x] [y] [color] is not complex, but it is complicated.

Photoshop, with all it's filters, layers, effects, channels, paths, canvases, etc is complex, but, assuming the problem is non-trival Image Manipulation, is not complicated

share|improve this answer
Maybe also noteworthy: thinking the question, what the 'real' problem is, may often change the perception of what would be an easier way. – keppla Oct 13 '11 at 12:20

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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