If you have read any of the other 'Disclaimers', you should be aware that I have absolutely no clear concept of the processes which I am describing. The following is yet another stone in the bulwark that I am building to protect myself from reality.
The 'Menu' schema presented below are very skeletal because I am
developing them as I create this web page. I will refine and
further develop these designs as I grow accustomed to the concept
of a user interface 'wrapper' and extrapolate the "Use Cases"
thereof.
And, as always, the interface described below will require extensive user testing (after it is actually constructed) to verify its 'intuitiveness', usability and general robustness.
The next step in the evolution of Instrumentation is the
development of a user interface that will insulate the public from
initially having to learn the syntax. This functionality will
require the development of the Data
Storage format before it can be implemented, but I will need
this Hyper-language specification
defined before I can complete the Data Storage format
anyway.
The use of the Hyper-language interface will make communication
slower, but simpler. Ideally the user will be able to bypass parts
of the interface and enter glyphs directly (and more quickly) as
the user's familiarity with the process increases.
This document moves away from the development of the Instrumentation "Vocabulary & Syntax Codex" and begins the development of the Instrumentation "Sentence & Grammar Wrangler". The Wrangler will present novices with a hierarchical menu system that will guide them through construction of a sentence.
Reading a sentence should not require any extra major
functionality beyond the serial glyph presentation provided by the
current prototype application (but, see Node orientation below). I have
considered color coding the glyph text display to indicate the
current node types, but I'm not currently planning any changes
(Disclaimer: all plans for changes are subject to change).
We will attempt to document the wrangler's major functionality
below. We will start with the most basic and mechanical parts of
the Instrumentation language and then expand the scope to
encompass the broader areas of international (language
independent) discourse.
Each glyph can spawn a variety of grammatical types of words. The
following menu system will guide the user through the creation of
a single glyph. The user will be presented with a subset of the
list below. This subset will vary depending on the part of the sentence being
constructed (Subject, Verb, Object, etc.) and the user's
previous choices.
Each level in this hierarchy is a menu selected from the level
above it. These menus will present the current choices
sequentially. As the user selects one of the current choices and
completes that layer of the glyph, the next set of choices will be
presented. The things in parenthesis are non-exclusive and either
mandatory or optional choices.
The menu choices on the same level are mutually exclusive. If you choose "Categorical Noun" you cannot choose "Syntax" (all by itself) or "Hypodescription" (at all). You can choose "Syntax" to modify a "Categorical Noun" which is why "Syntax" is included amongst the choices that descend from "Categorical Noun".
These choices will include the current application low level functions such as, Find a String, Find Articulation, Find Phrase, Drill Down and Thesaural Mode. Other functions such as Hypodescription or Articulation 'drill down' interfaces may be developed as needed.
All of the 'Syntax' menus are exactly the same. Only the highest level is expanded in the list below.The actual text for this menu and the menus below will contain
'user friendly' phrases such as:
Each bullet in the list below represents one or more complete
glyphs. This list shows the default order for Subject, Verb and
Object within Instrumentation.
The Subject, Verb and Object are collectively called nodes. #n is an occurrence counter. A sentence may have multiple Subject nodes, Verb nodes and Object nodes. A sentence will only have one Initialization node and one Finalization node.
This list is numbered because it leads the user through the
creation of a single sentence by presenting the choices in order.
Within each menu the user has the option of selecting one of the
current sub-bullets or moving to the next node. Each sub-bullet
will provide selected choices from the "Glyph Creation" menu
above, depending on the part of speech being created. Those
choices will also provide the current application mid-level
functions such as, Replace
Glyph, Insert
Glyph, Delete
Glyph and Read
Message.
Hypodescription may be used at any time in order to modify the
following glyph. This means that any noun, adjective, verb,
prepositional phrase, Hypodescriptive term, etc. can be marked
with 'emphatic', 'appreciation', 'sloppy', 'truthful', 'are you
kidding?', etc. Hypodescription is the only modifier that
precedes the glyph that it modifies. I considered putting
'Hypodescription' before every line in the list below, but decided
that might be unnecessarily confusing.
Every Noun or Verb glyph can
be followed by Description and Syntactic phrase glyphs that refine
it's meaning. This is reflected in the menu below.
Almost every part of a sentence is optional, but we are assuming that you will have to select something that you can send to keep the conversation going, even if it is just 'yes' or 'no' or '#4800 - LOL'.
The user selects "Sentence Wrangler" from the main menu.
The initial sentence node is 'Initialization'
The user is initially presented with options [1.1, 1.2, 1.3, 2, 3, 4, 6]. The user selects option 1.2 "Sentence Emotional tone". (options 5 and 7 are not available because there is nothing to review or send)
The user sees a Hypodescription Emotion menu and selects "#4600 - appreciation".
The sentence node is (automatically?) changed to 'Subject'.
The user sees options [2.1, 2.2, 2.3, 2.4, 3, 6, 7] and selects
2.3 "Categorical Noun".
(option 7 is available so that the user can send "appreciation" as
a complete message)
The user sees a Noun Selection menu and selects "#0081 - you"
The user sees options [2.1, 2.3.1, 2.3.2, 2.4, 3, 6, 7] and selects 2.3.1 "Description (adjectives)".
The user sees a Noun Selection menu and
selects "#0CDC - joy"
(Adjective/Adverb Selection requires a noun as a starting point).
The user sees an Adjective/Adverb Selection
menu and selects "#6DDC - most joyous"
The user sees options [2.1, 2.3.1, 2.3.2, 2.4, 3, 6, 7] and
selects 3 "Verb (predicate) node".
The sentence node is changed to 'Verb'.
The user sees options [3.1-5, 4, 5, 6, 7] and selects 3.3 "Verb".
The user sees a Noun Selection menu and
selects "#0689 - representation"
(Verb Selection requires a noun as a starting point).
The user sees an Adjective/Adverb Selection menu and selects "#8789 - representingly"
The user sees a Verb Selection menu and selects "#A78789 - representingly you are still (many)".
The user sees options [3.1, 3.3.1, 3.3.2, 3.5, 4, 5, 6, 7] and selects 4 "Object node".
The sentence node is changed to 'Object'.
The user sees options [4.1, 4.2, 4.3, 4.4, 5, 6, 7] and selects 4.3 "Categorical Noun".
The user sees a Noun Selection menu and selects "#06FF - unity"
The user sees options [4.1, 4.3.1, 4.3.2, 4.4, 5, 6, 7] and selects 4.3.2 "Syntactic phrases".
The user sees a Noun Selection menu and selects "#4CCA -hugs"
The user sees a Syntax Selection menu and selects "#DF4CCA - hugs for all"
The user sees options [4.1, 4.2, 4.3, 4.4, 5, 6, 7] and selects 5 "Finalization node".
The final sentence node is 'Finalization'
The user sees options [5.1, 5.2, 5.3, 6, 7] and selects 5.3 "Review Message before sending".
The sentence consists of the glyphs:
|
Emotional tone | appreciation .| |
Subject |
you .| most joyous .| | |
Verb |
representingly you are still (many) .| | |
Object |
unity .| hugs for all |
This (suspiciously overly friendly) message can now
be sent to a friend.
The user sees options [5.1, 5.2, 5.3, 6, 7] and selects 7 "Transmit Message".
The usual "Send Message"
dialog begins.
Since Instrumentation is an automated language the user should be
able to specify the order in which the glyphs in an incoming
message will be displayed. This information would be maintained on
the user's device, so it would not be part of the metadata sent
with a glyph. These preferences would be used by the wrangler to
arrange the glyph(s) according to the metadata that would
accompany the glyph (see next section).
There are six possible arrangements of the Subject, Verb and
Object. Instrumentation uses SVO as the default order, but there
is no reason to require either the sender or the receiver to
follow this default order or even the same order as each other.
If the users preference is recorded and the three 'nodes' are
marked in an incoming message, the Wrangler can present these
nodes an any of the following sequences. In all of the following
sentences the dog is the one doing the biting.
Order |
First node | Second node | Third node | Fourth node | Fifth node |
S V O |
Initialization |
dog |
bites |
man |
Finalization |
S O V |
Initialization | dog | man | bites | Finalization |
V S O |
Initialization | bites | dog | man | Finalization |
V O S |
Initialization | bites | man | dog | Finalization |
O S V |
Initialization | man | dog | bites | Finalization |
O V S |
Initialization | man | bites | dog | Finalization |
In the sentence created in the previous
section, the Object Syntax glyph could be rendered as either:
"hugs. for. all" or "for. all. hugs.".
The second orientation shown here is the most common order used
by English speakers. The first orientation is the Instrumentation
default order.
If the user is more comfortable reading right to left or bottom
to top, the glyph can easily be presented with any orientation.
The right and left hands can be swapped to match the glyph orientation or on the whim of the user.
Either the right or left thumb can be used to indicate that the
user is entering the second level.
(the left thumb is the default for the second level)
The only additional information required to be transmitted beyond the glyph itself is the 'node membership' (for the Subject, Verb, Object and 'Immobile' nodes). This would consume two bits of the Data Storage format metadata.
The Immobile node comprises the initialization and finalization
nodes of a message. It is not shuffled like the VSO combinations
(see previous section). It is passed through to the user
inviolate. This simplification reduces the number of metadata bits
required for data transmission.
Node |
Mask |
Subject |
zero |
Verb |
one |
Object |
two |
Immobile |
three |
The entire Subject node (for example) would be treated as a
single thing, even if it contained multiple subjects. All of the
glyphs that were marked as part of the Subject would be presented
as they were entered, but they would be presented before or after
the Verb and Object depending on the user's "Node orientation"
preference.
Instrumentation is a Human/Computer pidgin
language. It has to be simplistic because computers are incredibly
stupid. It will probably always sound somewhat awkward and stilted
compared to a facile speaker of a natural
language. I am attempting to increase Instrumentation's
understandability by allowing users to select the sentence
structure that they find most natural.
I have considered adding multiple sentence structures to the user's preferences. These structures could cover linguistic gambits such as vocative, interrogative, imperative and many many (many ... ) others. Enumerating all the available formats used by multiple languages is a task beyond my meager linguistic skills.
Eventually, user preferences may expand to include multiple
situational orientations (and higher order predicate
logic), but this would require users to enter their
'conversational intent' so that the application will know which
orientation to use (are you feeling Mirative?).
It would also require more metadata bits to
transmit this information to the receiving device so that the
glyphs can be arranged properly upon receipt.
It is also possible that some strategies used by one language may
be used in different circumstances in another language or may not
even exist at all. It is possible that attempting to 'translate'
intent via sentence structure may prove more misleading than
sticking with a single generic format.
Accordingly, I am not implementing this ultimate flexibility
until I can determine whether the need justifies the cost.
Personally I suspect that people will learn to use terms from the
Syntax and Hypodescription blocks to indicate their conversational
intent so that they will not need (or want) additional (expensive,
possably confusing) preferences to communicate clearly.