3 Replies Latest reply on Sep 28, 2012 2:22 PM by davidanders

    Radio Buttons with Alternate values--A MiniBlog

    philmodjunk

      Title

      Radio Buttons with Alternate values--A MiniBlog

      Post

           This is not a question it's a narrative description of an interesting problem and how I solved it

           The situation:

           I'm creating a new data entry screen for users that will be entering data in a point of sale-customers waiting in line type of environment. Thus, it is crucial that users be able to enter data rapidly and accurately in order to serve as many customers as possible in the least amount of time.

           A field in this screen is located inside a portal row and will have either an "R" or a "B" entered into it 99.99% of the time, but once in a very great while, the user might have to enter one of four other values.

           A radio button format makes for the best speed here as they can just click a radio button and go to the next field, but there isn't room on the layout for 6 radio button values and including the 4 rarely used values also produces unwanted "visual clutter". I considered using a drop down list or pop-up menu but didn't want even that trivial bit of extra "mousework" selecting a value from such a list to slow down the users.

           Here's what I came up with:

           I placed one copy of the field in the portal row and formatted it with radio buttons using only a two-value value list of "R" and "B". I then placed a second copy of the same field next to it and formatted it as a drop down list of values and gave it the full 6 value value list--selecting "use values from a field" so that I can use a table of values I that I created for this purpose in order to include a second column of info that identifies the meaning for each of the 1 or 2 letter codes that comprise this list of values. I selected the arrow option in the Inspector and then resized the field so that the only part of the field that was visible was that very same arrow.

           So far, so good. The user can select R or B by clicking the radio button or they can select any of the other values by clicking on the arrow and selecting from the drop down. But now, when a user selects a value other than R or B, the field appears empty with just two unselected radio button values visible.

           To solve that problem, I then added a third copy of this field to the layout. I made sure that it was transparent, used behavior settings to block user access when in browse mode and placed it on top of the radio button formatted copy, sized to completely cover it, but not the arrow-drop down list formatted copy of the field next to it. I selected a font size of 100 pts for this field so that its contents are invisible and the radio buttons below will show through.

           Now to do some "magic" with conditional formatting. I needed to make the radio buttons disappear and the selected letter code to appear anytime a value other than R or B is selected from the drop down.

           My first attempt to get what I wanted was to give it this conditional format expression:

           not PatternCount ( "RB" ; Self ) and not IsEmpty ( Self )

           I selected a Fill color of white and a font size of 12 for this conditional format so that when the field contained a value and it was not R or B, the contents of this field would be visible and the solid fill color would hide the radio buttons in the field behind it. This worked well, but I still had a minor problem. My portal specified alternating row colors. The text in this field would appear when I needed it, but the field's fill color didn't match the row color half of the time.

           I then made a final adjustment to my design. I modified the conditional format of this copy of the field so that it no longer specified a fill color--leaving the field transparent. I then selected the radio button formatted copy underneath it and gave it the same conditional format expression:

           not PatternCount ( "RB" ; Self ) and not IsEmpty ( Self )

           But specified a font size of 135. (Testing revealed that a portion of the radio button was still visible at font size of 100.)

           This now gave me all the features I wanted, the ability to rapidly select the most common two values but also a simple way to select additional values and be able to see and edit the selected value in both cases.

           Notes:

           Why not just hide the text by setting a font size of 500?

           Recent discussions at a DigFM meeting at Filemaker Inc. headquarters in Santa Clara revealed that in some circumstances. (Especially FM GO 12 on iOS devices), there can be a significant performance penalty when using a font size of 500 to conceal text so I now make it a practice to only specify the minimum size change needed to make conditionally formatted text invisible.

           Field Behavior Oddities:

           With this setup, you can select R or B from the drop down and see the radio buttons update to select the value. It looks a tiny bit weird and I considered omitting those two values from the drop down's value list, but decided to include them anyway so that the drop down documents the meaning of all letter codes that might be entered into this field.

           A bit more strange is that if you select a value other than R or B from the drop down and then click on the field displaying the selected value, the mouse click drills through the field and selects a value in the radio button beneath it--thus producing a rather unorthodox way to change the values in the field.

           I judged both of these behaviors to be too minor to worry about when users start using this updated interface in the near future.

      RadioButtonAlt.PNG

        • 1. Re: Radio Buttons with Alternate values--A MiniBlog
          Sorbsbuster

               Very clever, Phil.

               May I nit-pick?  Like: try and pick the fly's-doings out of the pepper?

               I like radio button presentation (note I didn't say 'data entry') for the way it catches the eye when something steps out of line, eg:

               o
               o
               o
               o
                   o
               o
               o
               o

               Similarly, this catches the eye:

               B
               B
               B
               NP
               R
               R
               R
               E
               B...

               So... I think you could improve (by, oh - about 0.001%) upon the aesthetics of the row of mixed presentation formats.  Your conditional formatting hides the radio buttons if there is anything value other than R or B in the field.  Why not left-align the data, then hide the radio button completely once the data-entry has been captured?  Your portal will then have consistently one visual format style.

               One downside would be that the odd time the user selects 'R' and then realises they should have selected 'B', they will have to choose the correction from the drop-down (although they wouldn't be confused by having more than one choice of method).

               Thanks for the inspiration.

                

          • 2. Re: Radio Buttons with Alternate values--A MiniBlog
            philmodjunk

                 A good point, but given how rarely they actually will need to use the drop down, probably moot in this case. I rather like the fact that the absence of a radio button format makes the use of an unusual letter code "pop out". Another consideration that I didn't mention is that it will also be very rare for more than one row of data to be entered into this portal. It's a special case tab panel that uses a modified relationship to a "lineitems" portal that is used for all other materials but this one specific category where additional data has to be collected to satisfy government regulations.

            • 3. Re: Radio Buttons with Alternate values--A MiniBlog
              davidanders

                   I would like to see what you could do, if someone paid you lots to produce a visually stunning FMP database that would overwhelm standard database users with the capabilities of Filemaker - in it's day DopeWars was such  http://www.briandunning.com/dopewars/