On December 21, 1968, Apollo 8 launched from the earth and became the first manned spacecraft to leave low earth orbit. During its six-day mission, it orbited the moon and returned to earth through the help of an amazing new piece of technology. The Apollo Guidance Computer (AGC) was one of the first integrated circuit computers and it controlled guidance, navigation, and control of the spacecraft. Before the AGC, the astronauts did all this via manual controls.
As the engineers designed the new computer system, they quickly realized that they needed to develop a method for the astronauts to “talk to the computer.” MIT engineer Ramon Alonso was tasked with creating this syntax. He quickly decided that relating to common language would make the most sense.
The DSKY
Alonso and his team created an interface called the “DiSplay & KeYboard” (or DSKY), which had a numeric keyboard along with Noun, Verb, Enter, and a few other keys. The astronaut simply had to think about what he wanted to do and input accordingly as if he was speaking to the computer. For instance, the message Fire Rocket was as simple as pressing Verb, then entering 22, then pressing Noun and entering 35. When the Enter key was subsequently pressed the command would be executed. All the various code numbers were printed directly above the DSKY. If an astronaut needed to display the time, he could enter “Verb 16 Noun 45 Enter.”
The DSKY and AGC were the first ever fly-by-wire systems and also became one of the first computer syntax input methodologies. Because of this, much of the programming that occurs on today’s automated lighting consoles can trace its basic input logic back to the Apollo program.
Programming Syntax
No matter the brand of console you are programming, you must follow the syntax rules put in place to effectively communicate with the computer within. With an understanding of the syntax procedures, you can then use the various keys and buttons to command the data as you wish. Most console syntax relates back to basic speech principles similar to the Apollo DSKY. For instance, you might type “Record Cue 5 Enter.” As you can see this is basically verb and noun syntax just like the astronauts used (except that thankfully we have more discreet buttons and do not need to look up codes).
Different consoles might have similar, but very distinctive syntax. Perhaps you have a console that operates with the following syntax logic: “object/modifier action destination/modifier.” This would enable you to type a command such as “cue 5 copy to cue 7” or “cue 10 delete.” However, if your console instead used the logic “action object/modifier destination/modifier” then the same commands would be “copy cue 5 cue 7” and “delete cue 10.” As you can see, these are two completely different ways to operate a lighting console.
Once you take some time to fully understand the syntax of your console, you will probably find that it can be very powerful. Many will add in further helper words such as at, thru, and, plus, minus. With these prepositions and conjunctions, you can create complex entries such as “copy cue 5 thru 7 plus 9 at cue 21.” Some even implement the word “if” to allow contextual syntax. For instance, you could enter “Cue 7 if red copy to cue 9”, and the console would copy only fixtures using the red palette in cue 7 to cue 9.
As I always say, read your console’s user manual or help files for details of how the syntax is used on that particular desk. With this basic knowledge, you should be able to combine the different hard and soft keys of the system to make it do whatever you desire.
The Biggest Danger
Usually diverting from the expected syntax will lead to unusual and often potentially disastrous results. When Apollo 8 was on its way back to earth from the moon, Jim Lovell reached for the DSKY to enter in some basic navigation instructions. He accidently keyed in the wrong code number for the noun portion of the syntax. The computer took his input and reset all telemetry as if the spacecraft was sitting on the launch pad again! This caused chaos as the ship started to spin wildly and he had to quickly respond with the correct commands to get the ship back on the true course.
In my many years of teaching console programming, I have noticed that people new to a console will inevitably enter in unexpected syntax. This then leads the computer to respond in manners that are not helpful, or even to software crashes. Pressing “red cue delete 5 if off” might just lead to a shutdown of all systems or a deletion of all cues. You not only need to understand and follow the syntax rules, but you also should have an understanding of how to restore the system if something does go wrong. Luckily, many consoles have an undo functionality that will remove the last command and its affects.
Go with the Flow
Once you learn the syntax system and rules of your desk, then you can easily apply these procedures to other show elements. For instance, if you desk is going to be triggered by a show control system or if you are building macros, then you will likely need to use the standard syntax. Furthermore, you might need to create your own sub-syntax to help someone else operate the show. I have seen macros and layout views that automated much of the standard complex syntax and reduce it down to just one or two button presses. These systems build upon the existing syntax with a show specific language to simplify operations and routines. If you do create something like this, be sure to also document the process and language of your new syntax.
Back on Earth
On Dec. 27, 1968, Apollo 8 splashed down in the Pacific ocean after a successful journey into outer space. The AGC and DSKY continued to be used and improved throughout the following Apollo missions to great success. The systems and technology from the space program have led to many amazing wonders that we all take for granted today. From the basics of computing to syntax principles used on every lighting console, we have much for which to be thankful.
Automated lighting programming can be very complex at times, but it all relates back to the basic philosophy of the syntax of your console. Take the time to read about all the possibilities so that you can master the inputs and take your programming to the next level. It will also help you when you need to switch to a new desk, as you will likely need to change your mental strategy and memory to accomplish the same tasks. If you can mentally translate from one syntax to another, then your console transition will go very smoothly. Remember, input syntax is key to understanding every lighting console and essential to our daily livelihood.