Using Excel - UNC-Project-Open-AAC/OS-DPI GitHub Wiki
Using Spreadsheets
The OS-DPI is designed to pull data from any spreadsheet. There are infinite ways to arrange the data, with each designer coming up with their own ideas.
The Basics
- Columns define the Fields you intend to use in your UI (e.g., symbol, label, message).
- Data within the cells define the Values.
- The Fields (and associated Values) are used to set State variables.
- A State variable is a variable that is shared among controls. OS-DPI declarative programming for State variables begins with $. For example, $Speak is the default State variable for speech output.
- A Field (i.e., column of data) named “Speak” has values for each row. Fields begin with #. These #Speak values are used to set $Speak (i.e., the Speak State; what is spoken aloud when a button is selected).
- Naming conventions may be unique to each design, with some common Fields and likely names.
- The Content tab in the OS-DPI lists the number of rows of content data and the Fields that are defined. You can explore the content data and approach to organization for each of the demonstration UIs. Go to File > Save Sheet.
Getting Started
- Begin with a new spreadsheet.
- Name columns according to the Fields that you want to represent in the UI (e.g., symbol, label, message, pronounce, etc.)
- Organize the content in separate sheets to prevent unwanted interactions.
Although using multiple sheets is a useful way to organize your date, you do not have to use this method.
Demonstration UIs
1. Single Words
The intent of this UI is to simulate a dynamic display of a 36 core word board.
Content data: 36 rows with these Fields: #sheetName, #row, #column, #label, #symbol, #pronounce
In this UI, the row Field defines the row number, the column Field defines the column number. For example, the above spreadsheet indicates that the word and symbol for ‘make’ should be presented on the UI design in the first row/fourth column of the UI grid.
The row and column Fields are ignored if ‘Fill Items’ box is selected in the OS-DPI Layout tab, in which case the content is loaded in the order it is listed in the spreadsheet.
The pronounce Field is used to specify a special pronunciation. In this case, the word ‘it’ is creatively spelled to attempt to represent a southern drawl.
2. Single words with morphs
The intent of this UI is to simulate a dynamic display of a core word board with various forms of the words.
Content data: 3301 rows with these fields: #sheetName, #role, #row, #column, #morph, #label, #display, #symbol, #changepg, #controls, #pronounce, #case, #changecase, #punctuation, #value, #group
The content for this UI is organized across multiple sheets, including Home, kb (for keyboard), num (for numbers), predict (for prediction data), Morph (for the various forms of the words in the data).
Organizing across multiple sheets is not a requirement, but for many UIs it can be an effective approach to managing across categories of data.
The role Field (i.e., #role) is used to define the content that should be presented on the page (e.g., #role = “hp”), rows and columns Fields are included to define location in the 10x6 UI grid, a label Field (#label) and symbol Field (#symbol) define what should be presented on each button in that row/column location.