The Three Primary User Interfaces are like the three primary colors of Paint or Light, wherein the versatility of having all three, you can create any color in the rainbow, but remove just one of them and you'll greatly limit what colors you can mix and create.

Through the combined use of the three primary user interfaces you can automate a great deal.

1) Command Line Interface (CLI) - The first soft entry based User Interface also known as a command Shell, DOS prompt, command prompt, etc. More versatile then the GUI but more difficult to use. Required the User remember more in the way of details of commands, program names and options.

2) Graphical User Interface (GUI) - This came along as the second User Interface and was found to be easier to use but far more limited in versatility than the first. Still there is an element, though less effort, of the user recalling what an graphical icon does, though help systems have added to ease of recall.

3) Users Automation Interface (UAI) - There are many forms, mostly incomplete or otherwise user limited/restricted, of this interface today. Hardly is it ever recognized or presented as a User Level interface. Besides the lack of consistency of this interfaces application in programs, OS's and other such functionality (libraries, devices, etc.), there is a general lack of understanding the value importance it is to the user base, upon it's proper application as the third "primary" UI.

This third User Interface has different facets and goes by many different names such as InterProcess Communication, Application Program Interface, Pipes and even Plumber (in Plan9 OS), MS windows has their name for their application of this IPC (as Gui4Cli makes use of), and I'm sure there are many more names and variations. In general, there has been identified three type of information that can be sent over such a third user interface; Message, Signal, and Memory Address.

Perhaps one of the best user level presentation and application of this third user interface is found in the Amiga Arexx "PORT". It's not the scripting language but the "PORT" that is like a side door for accessing and using functionality, even controlling an application not from the command line or from the GUI, but from outside the application in a manner that allows the user to automate and integrate the functionality of various packages of functionality, such as OS, Libraries, devices, applications, plugins, etc. And this most certainly includes automating and integrating applications of the first two User Interfaces, where sending commands to a shell or GUI package such as Gui4cli, etc..

With these three primary User Interfaces a great deal can be automated and made easier even by the hands of the user. But then what is needed is a way to handle all the different functionality vocabulary, and that is where the Virtual Interaction Configuration comes in!

Copyright 1996, 2001, 2002 by Timothy V. Rue