[Gambas-user] best programming practices:

B Bruen bbruen at ...2308...
Mon May 12 11:58:11 CEST 2014


(Oh OK, I'll top post :-) )

as said, It depends!

"Joel on Software" had some great articles on user interface design.  You may still be able to google them somehow.
But one thing he said always stuck in my mind. (Not a quote, but a paraphrasing) "Always design your UI with the "User" not the "I" in mind, if the interface is not intuitive then you fail"  
And, just to make us all feel better, Oh boy, have I ever failed over time!  Some examples:
Multiple forms vs multitudinal controls: 
1) If you use multiple forms (either as tabs or popups), then make sure that 80% of the users work can be done on the first form. So many times we (here) have caught ourselves putting the "hard to code" data items on another tab/popup  just because we were too lazy to dig in and code the necessary.
2) Less is better.  80% of use cases require 20% of the "optional" data.  Again, "we" (can't blame the colleagues for this one) have been guilty of putting unnecessary optional data on the first tab/popup because it is a "logical data group" - if it defaults 99% of the time then stick it in the "Advanced" tab.  
3) Wizards are not good. They are great the first few times, then they are a pain (included here because a wizard is a "single" form with lots of controls). A bad example is the IDE packaging wizard. Click, click, enter changelog comment, click 5 times and then click "Close". Hmm, one day I may have to address that. :-` 
4) Don't group unlike checkboxes. If a check box datum is a stand alone attribute then don't include it in a frame or any other grouping view. That is just anal retentive insanity. (and the label should be on the left!)
5) Don't make controls disappear just because they depend on the value of some other control. It is a visual nightmare. It is better to disable them.

more later ... must cook!


On Mon, 12 May 2014 09:10:43 +0200
Rolf-Werner Eilert <eilert-sprachen at ...221...> wrote:

> My answer would be: it depends :-)
> 
> When you see a form as one task to be performed by the user, in most 
> cases it is good to keep everything related to this task within its 
> form. You will most likely find some kind of workflow roughly going in 
> writing direction, i. e. from top left to bottom right. If you need data 
> to be defined by the user before the user can proceed to the next step 
> within this form, it might be helpful to gray out any further steps to 
> avoid confusing the user with too many options at one time.
> 
> I use to keep the main tasks in one main form, splitting it up into not 
> too many parts which can be totally independent to each other. Just try 
> to think like the user: What would the user expect to see at a first 
> glance, and when does the user really need this or that option?
> 
> It depends also on the kind of program you make. There are complex tasks 
> like monitoring data which might create a lot of small controls on a 
> panel at the same time to give a comprehensive overview. In my cases, 
> there are mostly lists of data (names) to be seen (a treeview) which 
> show up with data on the right sight when clicked. But there is also a 
> classbook managing tool which has four tabs with different main tasks 
> and several sub-tasks on each tab.
> 
> Hope it helps a bit.
> 
> Rolf
> 
> 
> Am 12.05.2014 02:49, schrieb Jb Skaggs:
> > is it better to have multiple forms or one form with lots of controls
> > that show and hide?
> >
> > I like to have multiple forms- but which is faster and considered the
> > better method?
> >
> > ------------------------------------------------------------------------------
> > "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> > Instantly run your Selenium tests across 300+ browser/OS combos.
> > Get unparalleled scalability from the best Selenium testing platform available
> > Simple to use. Nothing to install. Get started now for free."
> > http://p.sf.net/sfu/SauceLabs
> > _______________________________________________
> > Gambas-user mailing list
> > Gambas-user at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/gambas-user
> >
> 
> ------------------------------------------------------------------------------
> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> Instantly run your Selenium tests across 300+ browser/OS combos.
> Get unparalleled scalability from the best Selenium testing platform available
> Simple to use. Nothing to install. Get started now for free."
> http://p.sf.net/sfu/SauceLabs
> _______________________________________________
> Gambas-user mailing list
> Gambas-user at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gambas-user


-- 
B Bruen <bbruen at ...2308...>




More information about the User mailing list