One purpose of a view frame is to indicate how a business entity (entity) is displayed. A business entity is an object instance that appears in the problem domain. It typically will have several attributes of different types.
View frames represent "forms" (fill-in the blank forms). They are intended for text-mode displays. They can be rendered as forms in almost any run-time environment including web-pages, applets, MS-Windows, X-Windows, Java applications, et cetera.
A view frame may be used for display or for input or for both. The use depends on the context.
Should we have different verbs in dialogs to indicate display versus input?
Perhaps "Ask \[entity\]" versus "Show \[entity\]".
--- View: (entity name) label: \[attribute name\] << text field (1) choice one (2) choice two (3) choice three << radio buttons . (1) attribute = value1 << attribute set to value . (2) attribute = value2 . (3) attribute = value3 \[1\] pepperoni \[2\] sausage \[3\] green pepper << check boxes . \[1\] attribute1 \[2\] attribute2 \[3\] attribute3 << elements set true/false label: \[enumeration name *\] << combo box description: \[text attribute name ... 5\] << multi-line box of 5 lines \[\[ Place Order \]\] Send my order to the kitchen. . \[\[ Place Order \]\] Deliver \[pizza\] order. << Button sets goal. ---
There are two types of lines in a view frame.
View frames use specific "mark-up" notations:
. \[\[ Button Label \]\] Goal-statement.
The current design does not fully anticipate voice input. The view frames could be adapted to that use. However, some serious thought is needed, because in that mode, the view frames will interact strongly with dialog frames -- the panel and dialog frames becoming closely coupled. In that kind of environment, the view frames might be designed to guide the Speaker which is running a series of prompts. The view frames might indicate optimum order.
View frames represent "forms".
Forms are ubiquitous in our culture with strong conventions.
Forms provide a traditional way to structure a communication
when several data elements are required
or when there are several choices.
People who routinely communicate in writing find them convenient.
-
An avatar that helps a user fill-in a form panel
is certainly possible.
It might be based on existing actors designed to aid people
with physical handicaps.
The following syntax expands the notation to include something like a wiki mark-up.
This provides a way to format content
and avoid the need to drop into HTML.
Hum notations are meant to be as close to written English
as possible.
In this case, we have adapted some ideas from wiki mark-up to achieve that goal.
---
View: (Example of wiki mark-up usage.)
! First-Level Heading (a main heading)
!! Second-Level Heading (a sub-heading)
!!! Third-Level Heading (a sub-sub-heading)
\* First list item
\*\* Indented list item
\*\*\* Twice indented
Emphasis is indicated as follows:
a pair of asterisk indicates *bold emphasis*
a pair of tilde indicates ~italic emphasis~
a pair of underscore indicates _underscore emphasis_
.Table (Signals the start of table formatting.)
. Row (Row -or- Header Row)
This content goes into first column by default.
. Column
This content is in second column of the first row.
. Row (Signals start of next row.)
. Column (Column -or- Header Column)
This content is in first column of the second row.
. Column
This content is in second column of the second row.
.End Table (Signals the end of table formatting.)
___ (Begin line with 3 or more "_" or "-" to indicate a horizontal-rule.)
.HTML (Signals that mark-up has switched to HTML.)
Raw HTML may be needed for features
that are not available the Hum mark-up notation.
For example, if you wanted to include an image map,
inserting raw HTML would be a way to do that.
.End HTML
---
Anonymous