www.LaserFX.com Home Page - CLICK HERE

  Home Page >>> Backstage Area >> Archives and Download > Archives

Search LaserFX.com - CLICK HERE Site Map - CLICK HERE
LaserFX.com Home Page
Backstage.LaserFX.com
Laser Safety
Laser Hobbyists
Laser Show Systems
Standards and Practrices
Laser F/X Newsletter
Unclassified Ads
Business Issues
Laser Show Discussions
Archives and Download

Introduction

Archives

Download

 
Laser Show Resources
Updates Page - CLICK HERE
Member Services - CLICK HERE
LaserFX.com Banner Ads - CLICK HERE
About Laser F/X - CLICK HERE
Contact Us - CLICK HERE

 

Archives and Download - Archives

The Graphical User Interface (GUI)
Bob Ash - New Method Lasers

Reproduced from a paper by Bob Ash. © 1997 Bob Ash, New Method Lasers. All rights reserved.

Abstract  The design of the user interface can make or break a system. A well designed GUI allows the user to quickly and intuitively manipulate show elements and avoids tedious text based programming. On screen simplify programming by emulating something that the operator already knows how to use. Examples are given and GUI design discussed.

Example GUI

The GUI

The design of the user interface can make or break a system. No one wants to buy a laser light show program that is hard to use, and in most cases, the ease of operation of a system is attributed solely to the GUI, or Graphical User Interface. A successful GUI will usually allow the user to operate the system quickly, efficiently, and with very little help, because the on-screen objects and working controls (called metaphors) emulate something that the operator already knows how to use.

An example of a GUI metaphor would be a miniature picture of an animation on the computer screen, that actually represents the data contained in the file. With a non GUI system, you might sequence a show by typing in the names of the files, separated by commas, carriage returns, etc. For example: Cat1, Girlrun, Sunrise, Beamfan. To change the order of the show, you would edit this text file, much like you would with a word processor. The GUI method of doing the same thing would be to select the files from a "pick list", which would then lay out little pictures on the computer screen (called icons), that represent the animations. The Cat1 file may be represented by a miniature picture of a cat, usually a frame from the selected animation. To edit the show, you would "grab" the little pictures and move them around, changing the order, adding or throwing them away. People feel comfortable with the idea of manipulating the little pictures of the girl or the cat, and feel confident with moving around objects, rather than file names or data structures. This is called visualisation.

An everyday example of visualisation would be the use of bar graphs instead of numbers for comparing prices. Imagine a list of 20 numbers: 34.53, 23.75, 32.10, 35.45, 25.32, 31.02, and so on. Let's say that you want to determine which three of the 20 numbers are the highest, the lowest, and in the middle, as far as their value is concerned. Hmmm... could take a while. But by looking at the length of the bars on a graph, the answer practically jumps out at you. The brain would much rather deal with the length of bars than with raw numbers. As a matter of fact, the brain almost automatically does it for you. Wouldn't it be great if laser light show programming were that way too?

All systems have a GUI of some sort. Most modern programs that operate under Microsoft Windows, or on the Macintosh, Amiga or similar system, have some basic form of GUI provided by the operating system. Some have the minimum required in order for a human to comprehend how to use it (although, with some systems, even this is subject to debate), and some are completely GUI operated.

Even being totally GUI driven is no guarantee of ease of use, however. Chances are that the programmer who actually wrote the laser light show program is probably pretty much of an expert at what he does. Now remember, as stated earlier, the goal of a good GUI is to emulate something that the operator already knows how to use. A programmer works with lines of code, algorithms, and co-ordinates. Not a very good match up.

To be effective, a programmer must team up with someone who knows nothing about programming. But who? If truck drivers operated laser light show systems, the metaphors would probably be gear-shift levers and steering wheels. If it were a cook, maybe the metaphors would be stove twist knobs and refrigerator compartments. In most cases, the people most likely to be involved in laser light shows are sound and lighting people. It may be desirable to have the program emulate a mixer or lighting console.

Let's compare two hypothetical types of systems. System "A" is a low GUI system, which is to say that the simplest of functions (such as scene arrangement) are handled by a GUI, but most of the action takes place by "scripting" in a programming language such as FORTH or BASIC. System "B" is a high GUI system, with virtually every aspect of system operation handled by a GUI ("point and click").

System "A" produces animations based on dozens or even hundreds of lines of mathematical algorithms and codes that you type into a program, such as: "set cat1 x=124 y=237, move x=200 y=300, while rot x=180 degrees, repeat". The program is compiled, and run. If there are any unexpected results, you must re-code, re-compile, and re-run. You don't get to see the results until you are done, so you can't tell if you are making a mistake. The computer understands the code, because that's how a computer works. But people don't understand the code unless they have been trained to understand the underlying technical and mathematical principles.

System "B" has a screen that looks like a mixing console. There are buttons that are labelled with simple descriptions of the functions, and some sliders that you use to apply the desired effect. In reality, these buttons and sliders are false. They do not really exist. Behind the scenes, these buttons and sliders apply programming code and algorithms in much the same way as the "coding" style program, so that the computer can understand them. But because most people already know how to use buttons and sliders, the work can be done much faster and easier. As an added benefit, you can immediately see the results of what you are doing in real time on the computer screen, so that you can tell if you are making a mistake or not.

Imagine playing a piano that has certain "hot" keys that burn your fingers, but you don't feel the pain until several keystrokes later. It would be very difficult to determine which keys to avoid. If you could immediately tell which keys were hot the moment you touched them, you would figure out which keys to avoid right away. This is called instant feedback, and is the basis of many of the "all GUI" type programs, as well as the new wave of Virtual Reality applications.

When selecting a GUI, it is important to compare ease of use vs. flexibility. Think of it this way. You walk into a store, and you see two machines for sale. One of them turns ordinary table salt into gold, the other turns table salt into silver. The machines are priced about the same. The Gold machine has an impressive array of dials and readouts, and a three inch thick users manual. On the front of the manual is a notation stating that it is advisable to have a basic understanding of physics and mathematics. You ask the store clerk for a demonstration, and he runs through a complex series of knob twisting and button pushing. He carefully jots down the readings on the meters, does some work on a calculator, pushes some more buttons, and within about 15 minutes, a sizeable chunk of gold pops out of the front. You are very impressed. The Silver machine has a single button on the front panel. When you press it, large bars of silver instantaneously pop out of the front of the machine as fast as you can hit the button.

Now you are really perplexed. The whole idea of a "Gold" machine sounds good, but it doesn't take a rocket scientist to figure out that the silver machine will produce at least ten times as much money per hour as the gold machine, simply because it is easier to operate.

So which one should you buy? The answer may not be as obvious as you think. The answer depends on whether you need gold or not. If you are working on a project that requires gold, you may want to consider the gold machine. Just remember... if you think you might have problems operating the gold machine, you may be stuck without a method of producing any valuable metals at all. On the other hand, if the silver machine generates revenue fast enough, you could afford to buy what little gold you need, and still have lots of money left over (maybe even enough to hire someone else to stand around and press the button for you). Choosing a laser light show controller based on the GUI, can lead to these same type of decision making problems.

A coding type of program is almost always more flexible than a GUI program. The reason is obvious. If you are writing a program, you can do things like "divide the number of points by the square root of the distance between the earth and the moon", or any other function that suits your fancy. The possibility of the GUI program having a button or slider to handle that situation is ZERO. The question for the prospective purchaser is whether the flexibility allowed by the coding program will ever be used. Features accessed by the coding method may never be needed, and even if they were needed, may take too long to implement and/or be beyond the technical expertise of the user. A totally GUI based program may be up to ten times faster and easier to use, but may not be able to perform certain functions that may be desired in complex situations.

This may sound obvious, but it is very important to actually try the GUI out for yourself. You would not buy a car or make any other major investment without taking it for a "test drive". Since the GUI is one of the most important parts of a system, it is important to compare every system you consider. Most modern laser light show programs offer a demo disk version that disables certain functions such as projecting or file saving, but lets you try out the GUI by drawing, animating, and building a show. Wouldn't it be interesting if that "easy to use" program you saw advertised, actually ended up being a dog? The only way to find out is to try it. A demo tape is better than nothing, but just barely. A demo tape is a sales tool, and therefore will surely show the easy part, and skip over the hard to understand part as if it doesn't exist. If you can't get a demo disk, see if you can arrange a demonstration in a town somewhere nearby, and actually try running the system yourself. Don't be content with hitting the "Go" button or something like that... actually draw a 3D object, make an animation with multiple effects, build a show. You'll be glad you did.

Finally, it should be noted that coding (scripting) type systems have evolved through the years, to include more and more of a Graphical User Interface. GUI type systems have been adding more and more powerful features, stealing some of the thunder from the coding programs. The two types of systems are attempting to become more and more alike. Maybe one of these days all laser light show programs will be more or less the same, just as the body styles of all of the new cars seem to be migrating to the same rounded corner, aerodynamic look. Because it's the right thing to do.

Questions you may want to ask yourself when deciding on a GUI:

(1) Can I look at the screen and immediately tell what to do next?
(2) Is it difficult to draw 3D objects?
(3) How easily can I animate a still object? (Such as making a still-frame girl walk across the screen).
(4) How easily can I animate an already animated object? (Such as having a flying bird fly in a figure-8 pattern).
(5) Does the system have a graphical method of handling cues and actuator outputs?
(6) Can I see what I am doing, as I do it? (constantly preview the application of effects on the computer screen, so you can tell if you are making a mistake).
(7) How quickly can I program a complete show, complete with triggers and effects?

Bob Ash, New Method Lasers

 

DISCLAIMER: Some of the information in the Backstage area is provided by the persons or companies named on the relevant page(s). Laser F/X does NOT endorse or recommend any products/services and is NOT responsible for the technical accuracy of the information provided.  We provide this information as a service to laserists using the Backstage area. 

 [ Introduction | Archives | Download ]

 

© 1996-2008 Laser F/X International and LaserFX.com - All rights reserved.
Logos and trademarks are the property of their respective owners - used by permission.