| The user interface that you design is the   most visible and perhaps the most important part of the application. The term   commonly used for this type of interface is: GUI (Graphical User   Interface). It's pronounced "goo-wee", not "guy". It is graphical because it   consists of buttons, menus, icons, etc. An example of a non-GUI is DOS where everything is text. User interface refers to the fact that it is   the part of the application between the user, in front of the screen, and the   code behind the screen. How well the user can interact with the code depends on   the quality of the interface. In the early days of computing ‘BW’ (Before Windows!) interfaces were limited to a ‘command prompt’. Known as PC-DOS on early IBM computers this was  developed and re-introduced by Microsoft as MS-DOS. A command prompt is a  command line interface. Very un-friendly, these interfaces required the  user to remember the directories, file names and paths required. Even the  smallest error would not allow the user access to the required file. For  example in order to delete a file called ‘test.dat’ inside a folder called "MyAccounts" from a floppy you would  need to type DEL  A:\MyAccounts\test.dat
 Apple Mac was the first to introduce a GUI  (Graphical User Interface). Designed by Alan Kay the GUI revolutionized the way  we use computers today. Based on choices and not data entry a GUI provided a  user friendly option for computing that could be understood and used easily.  Microsoft were then under great pressure to create a GUI and hence the  Operating System (OS) Windows was born.
 
 A GUI is like a mask (similar to a car dashboard  which makes the engine user friendly) sitting on top of the MS-DOS command  prompt. It still does the same functions but by selection NOT data entry. With  the increased demand for ‘home users’ it became imperative (due to market  pressure) that a cheap USER FRIENDLY PC became available. Through market  influences, PC’s became user-centred. Windows was the first user friendly GUI  and this contributed to enormous success of Microsoft during the 1980’s and  90’s.
 
 Visual Basic is essentially designed so that you can  create a GUI type interaction with your user. At this level we will only use Input and message boxes to communicate however, VB  is an event driven language,  just as Windows is an event driven program. This means that the user must do  something to make something happen. The user ‘event’ could be the click of a  mouse or the pressing of a key on the keyboard.
 There are 2 basic ways to create a program using  Visual Basic (VB).
 a) start with the form and design your GUI or
 b) begin with the code (module) window and use input boxes to collect data from  the user and message boxes to rely information back to the user.
 We will be looking at the second method during this Level 1  course. You need to concentrate on learning some basic coding techniques.
 
 Within the profession of designing  GUI’s are 3 distinct fields, Cognitive Psychology, Sociology and Linguistics.  Although you will be designing simple programs within this course, it is  relevant to bear in mind, that how the user of your program perceives the  interface is vital to the success of the program you create. If you decide to  create commercial programs the users’ needs and interpretation are a paramount  consideration for the success of your programs.
 
        The importance of UsersAny project that you develop has to involve Users. They are the people who will sit in front of your interface for   eight hours a day and decide if they like it or not. If they don't like it, no   matter how efficient the code and how many millions of dollars were spent   developing it, they will find ways to sabotage it. 
 Get users involved   from the start. If you are developing a product to specs, that is to be sold to   some client eventually, there has to be someone who knows what that eventual   client needs. Find a typical user of the product to use as a sounding board.   Remember: you are just the developer; no matter how cool you think it would be   to use all purple text on orange backgrounds, it is the user who will tell you   what is cool and what is not. As you develop more and more parts of the   application, run them by the user to check for accuracy, completeness, clarity,   etc.
 
 Here's an example of how to design for clarity. Given that   01/02/03 is a date, what date is it? If you are an American, you probably   automatically assume that it is January 2nd, 2003. If your user is French,   however, he would assume that it is February 1st, 2003. And if you are working   with this teacher she would   say that it is February 3rd, 2001 and should always be written as 2001-02-03. So, If   any of your forms are designed as: "Enter date" with a blank box beside it, you are already  headed for trouble!
 
          
            | Program design today is a race between software   engineers striving to build bigger and better idiot-proof programs, and the   Universe trying to produce bigger and better idiots. So far, the Universe is   winning. -- Rich Cook |  That's just a joke, most users are not idiots. Sometimes they appear confused because they   are trying to solve the problem and they can't figure out how. But that's not   their job. Their job is to explain clearly what it is they need. Your job is to   figure out how to provide it. Don't underestimate users. Be patient, be   understanding without being condescending and be humble. There's a lot of things   that the user knows how to do that you don't.          
 
   |