1 2 Previous Next 29 Replies Latest reply on May 14, 2015 2:14 PM by siplus

    User Interaction with the system


      This discussion has started as an off topic in Formatting phone numbers when dealing with international companies?

      There seems to be the two schools of thought on how to control user interaction with the system.


      The first one suggests that the user interaction has to be controlled by a set of rules, probably documented, which will define what users can do on the system. If they do not follow these rules, the developer does not have any responsibility. These rules has to be enforced, e.g. for providing extra training for the users, data validation and error messaging if the data does not match the expected input.


      The second one is to allow user freedom of input and flexibility of interaction with the system. Developer in this case will have to program with this flexibility in mind. This was summed up by erolst:


      there is no such thing as a user error, there are only programming errors


      I am kind of in the middle, as I can see arguments for both approaches, but I am interested what the other developers think. Please share you thoughts and anecdotes and if you know of any resources/useful reading.



        • 1. Re: User Interaction with the system
          Benjamin Fehr

          I think this depends on the customers get-along-with-computers.

          • Remember the 80' where a user really had to learn the language of a computer to get along with his MS Word 5 text processor?

          • Then Steve Jobs established the understanding that the Mac has to speak the language of the users.


          You will never succeed to have your solution absolutely Dummy-proofed. Core competency of a Dummy is his creativity to successfully drive your solution into a dead-end against all warnings.


          Considerations where to stroke that line between those 2 states depends on the customers behavior you want to deal with.


          As I once stated:

          A great GUI is based on the skills of a passionate teacher and a highly improved psychologist.


          • 2. Re: User Interaction with the system

            I think we all want both : Flexibility is obviously a must AND should never alter the Consistancy of a system.


            If it does, the system must be changed.

            Increase the validation control level, being mindful that it will decrease flexibility, is IMHO the last option.

            There are several other way to keep consistency (If and Case functions, Error management in scripts).


            In other words, there a action (scripts) or calculation that cannot be accomplished without enough and correct data. The developer must code the according tests to avoid bugs / and inconsistencies; For that, he must prevent/cancel such calculations or actions if necessary. When correctly done, the enduser will not see it as a lack of flexibility.


            A very common example in real life is mandatory fields on an AdressBook. If you have too much mandatory fields, it can become unusable, since the user, for instance a receptionist, have to manage multiple tasks and phone calls at the same time. You can detect some "rigidity" problem on a database where you see too much "post-it" stuck on user's computer.





            • 3. Re: User Interaction with the system
              Markus Schneider

              concerning phone-numbers, there was a discussion in another forum, recently. People wanted separate fields for country-code, regional-code and more.. The idea behind was, that with separate fields, the formatting would be easier and error messages would be possible if one user did not enter one of the fields.

              I did *not* like that - IMHO there must be some freedom, sometimes one has just to jot down a number, no matter if there are regional codes etc., one can get phone numbers from websites (i.e.) where the format is not the same, etc.


              Therefore, rules: As less as possibe, as much as needed (-:

              • 4. Re: User Interaction with the system

                IMHO the main focus must be on UX (User experience), having as foundation many things but mainly Interaction Design.


                As long as with correct wording, color choice, readable font, predictable consequences of choices, offering all the info (but no more than that) needed to decide, adequate response time,  etc you don't force the user to think as a programmer, you help him focus on his tasks without distracting or confusing him with inconsistency, too much things to remember, unneeded steps, lack of progress indicators, poor responsiveness and so on, you're on the winning side. Where am I, how did I arrive here, what can I do here, where can I go from here - info that has to be present in 50% grey but better be there. There are common sense principles (like we read L to R and T to B) and more obscure ones, but the amount of knowledge available in books covers them all, and some are even a very pleasant read.


                Compare "Can't print, report aborted" to "please add paper to tray 1 of printer XXX" or consider a dialog box "ERROR: FATAL EXCEPTION out of bounds pointer, terminating. All unsaved data is lost" with only an OK button to press...


                (I personally don't refrain from adding a bit of humor here and there. Example: "This patient's AHV number has 12 digits. Insurances will send his invoices back unless we manage to oblige a 13-digit AHV." With a "let's try" button.  It implies that I'm on your side, trying to help against a common enemy, together we can defeat him etc. But that's me.)

                • 5. Re: User Interaction with the system

                  Right, the anecdote. I was working on the client's system where there was no Access Privileges setup, everyone was login in as Admin with Full Access by default. There was an issue with projects linking to clients as they were linked by name. This name had to be typed into a text field in projects with no auto-completion, so there were lots of spelling mistakes and quite a few projects you can't see from the clients layout.


                  I suggested introducing primary/foreign keys and proper linking. Obviously, I had to re-link historic data as well. As a short term solution I added a popup menu with the client names instead of free text entry. As I was showing what I have done to a client, the popup disappeared. I thought I forgot to save the layout and did it again, but it disappeared again an a few minutes. I though it is a new FileMaker bug, tried to google it and did not find anything. Added modification time-stamp to a table and eventually managed to identify one of the users who according to him "did not dig" the popups and was changing it back.


                  I know, the system was badly written, and it was not intended, but for me it is the ultimate example of the flexibility. FileMaker is easy enough to pick up, so for the full user flexibility they should just modify it as they pleased. We all know where it leads


                  So leaving it to a user you are leaving it to an abuser.

                  • 6. Re: User Interaction with the system

                    Well the only "total fail double facepalm" point I see in your situation (not your fault) is everyone was login in as Admin with Full Access by default.


                    This transforms users into potential abusers, without them knowing it and without them deliberately trying to.

                    • 7. Re: User Interaction with the system
                      total fail double facepalm

                      I had to look it up. Still laughing.

                      • 8. Re: User Interaction with the system
                        Benjamin Fehr


                        You won't find "facepalm" on Merriam-Webster or LEO!

                        • 9. Re: User Interaction with the system
                          You won't find "facepalm" on Merriam-Webster or LEO!

                          Not yet, but thanks God for google and urban dictionary.

                          • 10. Re: User Interaction with the system

                            OK, here's a demo zip code file that I created. It has a lot of tinkering inside to make it all work.


                            Zip Codes.png


                            Enter a Zip Code (US) and after you press enter, the file places all of the matching data in the popups.


                            Click on a popup and make a selection and the bottom popups are set to empty.


                            Click on the next in line and the related items are shown. Click on the next, etc.


                            Click on the Zip Codes that show in the portal and it is entered in the popup field.


                            Standard stuff.


                            This is my first Dropbox link so I hope it works. It's a 2 Meg zip file since it contains 50,000 zip codes, etc.




                            If anyone is interested, you can order an unlocked copy on my blog.

                            • 11. Re: User Interaction with the system

                              Recently I wrote perhaps the shortest code for an auto typeahead text box. As you type the text, a portal below displays the records where that field begins with the text.


                              Nothing new but I thought I'd play with a calc field, trigger, etc.


                              So your clerkes could type in Sm and see in the portal like they would in a popup







                              • 12. Re: User Interaction with the system

                                During my 20 years with one client, I became friendly with the staff and would fool around sometimes. I put up a dialog


                                "I told you not to do that. I'm sending a note to James about this."


                                A few minutes after I inserted that code, one of the staff came and said, "Uh, Jack. About your alert..."  Actually it was his wife. We had a good laugh. She signed my check each week.


                                Names, dates and times changed to protect the innocent.

                                • 13. Re: User Interaction with the system

                                  Everyone had full access privileges and no one started hacking your code?

                                  • 14. Re: User Interaction with the system

                                    why mix Arial and Verdana ?


                                    Why mix font sizes ?


                                    Why have gray labels and black labels ?


                                    Why labels with every word capitalized ?


                                    Why repeat the word "Location" ?


                                    Why have a scroll bar on the right side, where does scrolling it down bring me ?


                                    ... and I could continue.

                                    1 2 Previous Next