UI Design Standards

I know that as programmers it is easy to neglect the UI while trying to get your program functional (not to mention trying to meet deadlines and keep costs down), but I think think the user experience is just as important as the functionality entirely. I’ve realized recently that the time I’ve dedicated to UI has gotten smaller and smaller which means not only do my users suffer and have reduced efficiency, but more of my time is spent providing support to simple questions.

One of my New Years resolutions this year is to spend more time focusing on the UI/UX of my apps. So, the question I pose to all of you is what methods do you use to improve your UI? Personally, I am leaning toward adopting Apple’s Human Interface Guidelines.

Happy New Year!

Since work/process flow with any application is paramount to the end user… I usually design the entire UI (at least conceptually) as one of the first tasks. This is overly important for iOS applications as you have little real-estate in a lot of cases

Once I have a UI that meets the work/process flow, then the control logic is added to that for a good interface to the underlying business logic (yes I try to keep the business logic totally non-dependent on the UI, in order to be able to more easily adapt it for a platform where the original UI code won’t fit (ie. Desktop vs iOS vs Web etc)

I think this is extremely important, especially in business software where it is almost expected that you support multiple platforms. It is more work on the front end, but it saves many headaches when you have to support another platform.

I think this is probably a good starting point for developing macOS applications, but take note that Apple themselves haven’t followed it for a while now, many of the “promoted” App Store apps do not adhere to the AHIG and with the introduction of Marzipan, more and more apps on the mac will look, smell and function like iOS applications.

My hope is that Apple now starts paying more attention to it’s products over it’s profits, putting some attention on macOS UI.

You should experiment, my top tip would be to put attention on “discoverability” as this is something that I personally need to put attention on also.

For the average system, to be easy to learn and use is even more important for the user than the “functionality” Consider 2 software that do the same operations, the easier one is going to have more success, and yes, much more less expenses in support.

The Human Interface Guidelines are more to have a uniform look and feel across all the apps, so, all the apps end looking the same, i think is a good start but, not the best.

Just take some random, average users, asign them tasks with the software, and ask them what you need, what will make this thask easier, etc. BUT the more important part is, watch them using the software, they not allways say the problems. you can spot the “time bottleneck” in the actions, see what you design and how they are really using it.

Allways remember, the software IS NOT FOR YOU, somethimes we thing we have great ideas, but, most users cant work with that, or sometimes we se something meaningless, but it can save hours of work in a week.

When I experimented using Xojo for writing IOS apps for the iPad, I found that I was limited to the native controls and expose events that almost lasoo you into apples style guides.

I worked at Philips years ago and we had style guides… I haven’t revisited them in years, but I base my GUI from that. It has to flow left to right top to bottom for me. As few button clicks as possible.

This is a very good rule. 9 times out of 10, it can be reduced by simply thinking, what is the user going to do next.

[quote=420195:@Jonathan Eisen]I know that as programmers it is easy to neglect the UI while trying to get your program functional (not to mention trying to meet deadlines and keep costs down), but I think think the user experience is just as important as the functionality entirely. I’ve realized recently that the time I’ve dedicated to UI has gotten smaller and smaller which means not only do my users suffer and have reduced efficiency, but more of my time is spent providing support to simple questions.

One of my New Years resolutions this year is to spend more time focusing on the UI/UX of my apps. So, the question I pose to all of you is what methods do you use to improve your UI? Personally, I am leaning toward adopting Apple’s Human Interface Guidelines.

Happy New Year![/quote]
I agree emphatically. Apart from the fantastic amazing raw code we come up with, there is no point if the “User” finds it difficult to navigate/use our software solution.

I try to have the solution in my mind first, then look at the coding tools/options available in Xojo. If it all seems reasonably doable, then I’ll work on the UI, then go back to the code and fit everything together.

It may seem like a bad way to go but there is method to the madness.

I’ve indicated on another thread that it would be very useful on this forum to have a New Category: UI Design where ideas can be fleshed out that have nothing to do with code, but to do with how the potential User interacts with our application. Afterall, isn’t that the reason why we develop an application?

We want to make things easier/quicker/smarter for the user. Otherwise, what are we doing?

Put the link to your Feature Request, so we can put some points on it

This is all I have:
https://forum.xojo.com/51908-can-we-have-an-new-category-ui-design

It’s not a Feature Request for Xojo Code, it’s a general feature request for the Xojo Forum.

I’m with you on that. It would be nice to see macOS get some love in the next few years.

Turning users loose on a new solution is actually something that I brought to my current employer (mostly because we now have enough manpower to execute this), although I don’t do it often enough. For some programmers, though, this is an unrealistic strategy due to confidentiality agreements, no direct contact with the average users, etc.

I have to remind myself of this every day…

Exactly, you could write the most groundbreaking program in the world, but if the user can’t use the program, it is useless.

I think an app without a user-friendly interface is much like a doctor lacking in bedside manner - it may do exactly what you need, but you can’t really call it ‘good.’

In most companies this is called UAT (User Acceptance Testing)
But by this point, you should have 99.9% of the business logic and UI process flow correct… Since that should have all been detailed out in the Business and Techinical Specifications documents, and approved by the Business Analyst already.

That’s been my design rule since back in the 80’s with the Amiga and AtariST platforms. Along with hiding details that are minimally accessed.

[quote=420446:@Dave S]In most companies this is called UAT (User Acceptance Testing)
But by this point, you should have 99.9% of the business logic and UI process flow correct… Since that should have all been detailed out in the Business and Techinical Specifications documents, and approved by the Business Analyst already.[/quote]
And this is why business software is the worst software :wink:
I’m not trying to argue with you, your points are absolutely right; but I’ve never used corporate software that was anywhere near as good as shareware. When the user experience dictates the way the software is designed, you just get better software (in my opinion).

Recently when trying to produce an invoice with our $40K+ ERP software I wondered why it really had to take 25 mouse clicks!

The problem with user acceptance testing is that it is usually staged and not “real world” testing. Nevertheless, it is a valid and valuable testing phase. Of all the companies that I worked for in my career only one did what I consider good UAT. That company ran the software on the corporate servers while in the final beta test stage. We literally ran the company on beta versions of our software. If anything was unusable or poorly designed, we heard about it as the marketing or sales or tech support people tried to do their day-to-day work. There were always a few bugs (aren’t there always) but our customers never complained about the usability or workflow.