Save Model
Last Updated 09.28.03
General Description
An extensive usability study was performed to understand the user's mental model for "saving" changes they have made on a BLAF application page. Multiple options were tested to watch when a user explicitly selected a button, like "Apply" to save data, and when he/she did not, but assumed that the updates they made were still "saved". This guideline lists general findings from this test as well as outlines the expected "save" behavior for all interactive elements in the UI of many common templates used throughout BLAF applications.
- General Principles
Below are the specific templates tested:
- Object/Item List Templates
- Object Templates
- 1 Object Page or 1 Long Object Page
- 2 Page Object Template
- 3(+) Linear Page Object Template (managed/manipulated linearly)
- Multi-Page Non Linear Object Template (managed/manipulated non-linearly)
- Object Templates
(Guideline)
- Process Within Process
Each object template may be view-only state or updatable state, etc. These
same templates are the basis for Table Navigation/Action
Methods and Table Flows.
Guideline Attributes
Spec Version # - 3.1
Spec Contributors - Betsy Beier, Craig Louis, Lisa Serface
UI Models - all models
Example Products - all products
Related Guidelines - Object List Templates,
Object Templates, 2
Step Template, Step by Step (3[+] Steps)
Template, Step by Step Page Flows, Long
Page and Overview Page Template, 1
Step Transactional Form page, Table Navigation/Action
Methods, Table Flows, Action/Navigation
Buttons, Tab/Navigation: SubTabs Interaction and Usage Specifications
General Principles
- An extensive usability study was performed to understand the user's mental model of "saving" changes that have been made on page(s) within BLAF applications. This test was conducted to have a better understanding of a user's save model on the web, since GUI or desktop conventions may or may not be applicable in an HTML environment. It is important to note that most users do not clearly understand backend technical details such as "saving" vs. "caching" data. This type of information is irrelevant to the users, since the most important aspect is that a user's changes to data are not lost as he/she moves between pages. Saving to the database, saving to temporary tables, and/or caching are important features on the backend. These techniques not only satisfy the user's requirement of not losing changes that have been made, but to also ensure that "Cancel" and "Revert" button behavior performs as expected by the user.
- In general, users looked for, and selected "Apply" buttons at the page level. This "Apply" encompassed all changes that had been made on the page, including all changes and actions made in a table. It's important to note that most all of the scenarios tested contained updatable tables with record navigation, or sets of table data.
- Step by Step Templates: When working through step by step processes, selecting Apply or Cancel should take the user back to the process initiation point.
- Process Within Process: Selecting "Apply: [Subprocess Name]" or "Cancel: [Subprocess Name]" should take the user back to the process initiation point. When cancelling a subprocess, a Warning message should inform of pending work loss if they elect to cancel. When finishing a subprocess ("Apply: [Subprocess Name]"), the users changes should be cached and only saved to the database when they finish the main process. If they cancel the main process, subprocess work should also be cancelled.
- Refer to the Process Within Process section below for more on this save model.
- Users perceived a table with record navigation (sets of table data; i.e., 1-25 of 235, 26-50 of 235) as a "scrolling table." When the record navigation was selected, the user's mental model was not that they were viewing a new page, but that he/she had "scrolled" to another set of data in a table of the same page.
- Table-level "Apply" (i.e., same as "Save" or "Commit") was highly problematic. The action at this level was overlooked or not understood in over 80% of the scenarios. Table-level "Apply" should not be used. Page-level saving or "Apply" is recommended.
- On page templates with linear or suggested linear flows that use "Next" and "Back" buttons (Step by Step templates, or Object Template with Side Navigation), users thought clicking Next would save or cache their work. (I.e., all updates of previous pages of the flow would not be lost if he/she went "Back" to those pages.)
- One of the most important points is that users do not expect that changes they make to data will be lost unless they explicitly request this behavior (i.e., Cancel, Revert). This being said, when other navigational elements are selected on the page, the user must be warned to save his/her changes before moving on to other tasks. Sections below in this document outline when it is appropriate to display Warning pages.
- Inline Confirmation Message Box
- Page level "Apply", "Submit", or "Finish" button (depending on the context) may navigate the user to the page where the flow was started (i.e., from an object template back to the object list). If within that instantiating page, it is not obvious that the "Apply/Submit/Finish" action has been completed, a confirmation message box must be displayed. If change is obvious and visible, no confirmation message is needed. For instance, if a user is viewing a list of purchase orders and selects "Create Purchase Order" to create another, they are navigated to the create flow. Once completed, and they select "Apply" they are returned to the list of purchase orders. The new order is in view in the table, thus no Inline Confirmation Message Box is necessary.
- Page level "Apply", "Submit", or "Finish" button (depending on the context) may not navigate the user to a new page, but may keep the user on the same page. In this case, a confirmation message box must be displayed. This information is crucial feedback to the user that his/her changes have been saved. (Note: In usability testing of SubTabs, it was found users expected to navigate to the page where object template was launched.)
- Warning Message Page - The
most important principle from a user's perspective, regarding the save model
in BLAF applications, is that the work that he/she has done, or updates that
he/she have made are not lost when navigating from page to page. It is crucial
that Warning Message Pages are
used as specified in this document. Most importantly, the "Apply",
"Submit", or "Finish" button (depending on the context)
should be placed in the page-level location to ensure the highest visibility.
Note: The term "Apply" may be "Submit"
or "Finish" depending on the page templates. These buttons do the same
"save" function, but are labeled differently based on the page template.
In usability testing, users did not have problems with the term "Apply".
See Language in UI for detail terminology usage.
Save Model for Object List Template - with Updatable Table
High Level Summary
Apply works at page level. Table actions and record navigation cache or temporarily save changes.
Detailed Save Model and Interaction Expectations - Object List with Updatable Table
User updates information in the table or on the page, then selects ...
- Table: Global Table Buttons - (i.e., "Create [Object]")
- All updates to widgets in table and/or on page (other than search
criteria) are saved in temporary tables or cached, page is redrawn
according to button selected.
- Table: Select and Act Buttons - (i.e., "Duplicate")
- All updates to widgets in table and/or on page (other than search
criteria) are saved in temporary tables or cached, page is redrawn
according to button selected.
- If button does not take user to another page, but just performs
an action on a selected row, it performs the action based on the
current, updated state of the data. Updates to other rows in table
and/or updates on page are saved in temporary tables or cached.
- In some cases, an action on a row can not happen unless the updated
data of that row is first saved to the database. If this is the
case, implicitly save the data to the database, then perform the
action. Information regarding this behavior must be put in the instruction
text closest to the table regarding this behavior.
- Table: Functional Icon in Cell
Same as Select and Act button behavior.
- Table: Record Navigation - (i.e., Next 25; Previous 25)
- All updates to widgets in table and/or on page are saved in temporary
tables or cached; page is redrawn according to record navigation
selected (next or back).
- Page Level Button - "Apply"
- All updates to widgets in table and/or on page are saved to database;
page is redrawn to either another logical page in the flow, or redrawn
as the same page with a Confirmation Message
Box at the top stating the changes have been saved.
- Page Level Button - "Cancel" Process/Changes to Items in Table of
Object List
- All updates to widgets in the table and/or on page are canceled,
and set to the last saved setting (i.e., the setting when the user
first entered the page.) If information regarding this page has
been saved temporarily, the temporary information will be purged.
The search criteria is defaulted to the setting when the user first
entered the page. "Cancel" typically takes the user to another logical
page in the application. Rarely does it keep the user on the same
page.
- Page Level Button - "Revert" of Items in Table of Object List and/or
on Page.
- All updates to widgets in the table and/or on page are reset to
the last saved setting (i.e., the setting when the user first entered
the page.) If information regarding this page has been saved temporarily,
the temporary information will be purged. The search criteria is
defaulted to the setting when the user first entered the page.
- Page Level Button - Other Page Level Action/Navigation Buttons
- All updates to widgets in table and/or on page are saved to database;
page is redrawn to either another logical page in the flow, or redrawn
as the same page with a Confirmation Message
Box at the top stating that the action has been performed and changes
have been saved.
- Tab
- If any updates to widgets in table and/or on page are made prior
to selecting a tab, a Warning
Message Page is drawn, letting the user know that his/her updates
have not been saved or applied. The message also asks, "Would you
like to save your changes." There are three buttons on the message
page: "Cancel", "No", "Yes" (in order from left-to-right or right-to-left in bi-di languages.) If "Yes" is selected, changes are saved,
and the user moves to the appropriate page. If "No" is selected,
the user's changes are not saved, but the page is redrawn to the
appropriate tab section. If "Cancel" is selected, the user returns
to the prior page, all previous updates are restored from temporary
or cached means. No changes to data have been lost, yet still the
data hasn't been saved to the database either.
- If no changes to widgets in table and/or on page are made, then
the user is navigated to the appropriate page.
- Horizontal Navigation
- Global Button
- Other (Content Container Link, etc.)
Related Guideline
Save Model for Object List Template with Non-Updatable Table
High Level Summary
No Page level apply needed (only unless other updatable label/data pairs on page.) Saving only done on detail level pages.
Note: Occasionally, an Object List templates with a non-updatable table may also contain updatable label/data pairs on the same page. If this is the case, then page level "Apply" functionality needs to be used. The picture below does not show this scenario.
Detailed Save Model and Interaction Expectations - Object List with Non-Updatable Table
User updates information in the table or on the page, then selects ...
- Table: Global Table Buttons - (i.e., "Create [Object]")
- All updates to widgets on the page, if any, (other than search
criteria) are saved in temporary tables or cached, page is redrawn
according to button selected.
- Table: Select and Act Buttons - (i.e., "Duplicate")
- All updates to widgets on page, if any, (other than search criteria)
are saved in temporary tables or cached, page is redrawn according
to button selected.
- If button does not take user to another page, but just performs
an action on a selected row, it performs the action based on the
current state of the data as seen in the table. Updates to other
widgets on page are saved in temporary tables or cached.
- Table: Functional Icon in Cell
Same as Select and Act button behavior.
- Table: Record Navigation - (i.e., Next 25; Previous 25)
- All updates to widgets on page, if any, are saved in temporary
tables or cached; page is redrawn according to record navigation
selected (next or back).
- Page Level Button - "Apply": Don't use unless other updatable label/data pairs are also on page.
- If updatable label/data pairs exist on page, all updates to widgets
on page are saved to database; page is redrawn to either another logical
page in the flow, or redrawn as the same page with a Confirmation
Message Box at the top stating the changes have been saved.
- Page Level Button - "Revert": Don't use unless other updatable label/data pairs are also on page.
- This button action is ignored by the table since it is view only.
- If updatable label/data pairs exist on page, all updates to widgets
on page (other than search criteria) are reset to the last saved
setting (i.e., the setting when the user first entered the page.)
If information regarding this page has been saved in temporarily,
the temporary information will be purged. The search criteria is
defaulted to the setting when the user first entered the page.
- Tab
- If any updates to widgets in on page are made prior to selecting a tab, a Warning Message Page is drawn, letting the user know that his/her updates have not been saved or applied. The message also asks, "Would you like to save your changes." There are three buttons on the message page: "Cancel", "No", "Yes" (in order from left-to-right or right-to-left in bi-di languages.) If "Yes" is selected, changes are saved, and the user moves to the appropriate page. If "No" is selected, the user's changes are not saved, but the page is redrawn to the appropriate tab section. If "Cancel" is selected, the user returns to the prior page, all previous updates are restored from temporary or cached means. No changes to data have been lost, yet still the data hasn't been saved to the database either.
- If no changes to widgets on page are made, then the user is navigated
to the appropriate page.
- Horizontal Navigation
- Global Button
- Other (Content Container Link, etc.)
Related Guideline
Save Model for 1 Step Object Template
High Level Summary
Apply works at page level. Table actions and record navigation cache or temporarily save changes.
Detailed Save Model and Interaction Expectations - 1 Step Object Template
User updates information in a table or on the page, then selects ...
- Table: Global Table Buttons - (i.e., "Create [Object]")
- All updates to widgets in table and/or on page are saved in temporary
tables or cached, page is redrawn according to button selected.
- Table: Select and Act Buttons - (i.e., "Duplicate")
- All updates to widgets in table and/or on page are saved in temporary
tables or cached, page is redrawn according to button selected.
- If button does not take user to another page, but just performs
an action on a selected row, it performs the action based on the
current, updated state of the data. Updates to other rows in table
and/or updates on page are saved in temporary tables or cached.
- In some cases, an action on a row can not happen unless the updated
data of that row is first saved to the database. If this is the
case, implicitly save the data to the database, then perform the
action. Information regarding this behavior must be put in the instruction
text closest to the table regarding this behavior.
- Table: Functional Icon in Cell -
Same as Select and Act button behavior.
- Table: Record Navigation - (i.e., Next 25; Previous 25)
- All updates to widgets in table and/or on page are saved in temporary
tables or cached; page is redrawn according to record navigation
selected (next or back).
- Page Level Button - "Apply"
- All updates to widgets in table and/or on page are saved to database;
page is redrawn to either another logical page in the flow, or redrawn
as the same page with a Confirmation Message
Box at the top stating the changes have been saved.
- Page Level Button - "Cancel" Process/Changes to Page
- All updates to widgets in the table and/or on page are canceled,
and set to the last saved setting (i.e., the setting when the user
first entered the page.) If information regarding this page has
been save temporarily, the temporary information will be purged.
"Cancel" typically takes the user to another logical page in the
application, but rarely may keep the user on the same page.
- Page Level Button - "Revert" Changes on Page.
- All updates to widgets in the table and/or on page are reset to
the last saved setting (i.e., the setting when the user first entered
the page.) If information regarding this page has been saved temporarily,
the temporary information will be purged.
- Page Level Button - Other Page Level Action/Navigation Buttons
- All updates to widgets in table and/or on page are saved to database;
page is redrawn to either another logical page in the flow, or redrawn
as the same page with a Confirmation Message
Box at the top stating that the action has been performed and changes
have been saved.
- Tab
- If any updates to widgets in table and/or on page are made prior to selecting a tab, a Warning Message Page is drawn, letting the user know that his/her updates have not been saved or applied. The message also asks, "Would you like to save your changes." There are three buttons on the message page: "Cancel", "No", "Yes" (in order from left-to-right or right-to-left in BI-DI languages.) If "Yes" is selected, changes are saved, and the user moves to the appropriate page. If "No" is selected, the user's changes are not saved, but the page is redrawn to the appropriate tab section. If "Cancel" is selected, the user returns to the prior page, all previous updates are restored from temporary or cached means. No changes to data have been lost, yet still the data hasn't been saved to the database either.
- If no changes to widgets in table and/or on page are made, then
the user is navigated to the appropriate page.
- Horizontal Navigation
- Global Button
- Other (Content Container Link, etc.)
Save Model for 2 Step Object Template/ 2 Step Process
High Level Summary
Continue/Review caches or temporarily saves between pages of process. Finish/Submit saves updates from both pages. Table actions and record navigation cache or temporarily save changes.
Detailed Save Model and Interaction Expectations - 2 Step Object Template/ 2 Step Process
User updates information in a table or on the page, then selects ...
- Table: Global Table Buttons - (i.e., "Create [Object]")
- All updates to widgets in table and/or on page are saved in temporary
tables or cached, page is redrawn according to button selected.
- Table: Select and Act Buttons - (i.e., "Duplicate")
- All updates to widgets in table and/or on page are saved in temporary
tables or cached, page is redrawn according to button selected.
- If button does not take user to another page, but just performs
an action on a selected row, it performs the action based on the
current, updated state of the data. Updates to other rows in table
and/or updates on page are saved in temporary tables or cached.
- In some cases, an action on a row can not happen unless the updated
data of that row is first saved to the database. If this is the
case, implicitly save the data to the database, then perform the
action. Information regarding this behavior must be put in the instruction
text closest to the table regarding this behavior.
- Table: Functional Icon in Cell -
Same as Select and Act button behavior.
- Table: Record Navigation - (i.e., Next 25; Previous 25)
- All updates to widgets in table and/or on page are saved in temporary
tables or cached; page is redrawn according to record navigation
selected (next or back).
- Page Level Button - "Continue" (on 1st Page of 2 Step Process)
- All updates to widgets in table and/or on page are saved in temporary
tables or cached; page is redrawn to the 2nd step in the 2 step
object template/process.
- Page Level Button - "Review" (on 1st Page of 2 Step Process)
- All updates to widgets in table and/or on page are saved in temporary
tables or cached; page is redrawn to the 2nd step in the 2 step
object template/process.
- Page Level Button - "Finish", "Submit" (on 2nd Page of 2 Step Process)
- All updates to widgets in table(s) and/or on pages of the process are
saved to database; page is redrawn to either another logical page in the
flow (usually back to the page that launched the 2 step process), or redrawn
as the same page with a Confirmation Message
Box at the top stating the changes have been saved.
- Page Level Button - "Cancel"
- On 1st page of 2 step process
All updates to widgets in the table and/or on page are canceled,
and set to the last saved setting (i.e., the setting when the user
first entered the page.) If information regarding this page has
been saved temporarily, the temporary information will be purged.
Page is redrawn to the page prior to entering the 2 step process.
- On 2nd page of 2 step process
All updates to widgets in the table and/or for both pages are canceled,
and set to the last saved setting (i.e., the setting when the user
first entered the 2 step process.) If information regarding both
pages has been saved temporarily, the temporary information will
be purged. Page is redrawn to the page prior to entering the 2 step
process.
- Page Level Button - "Revert" (on Either 1st and/or 2nd Page of 2 Step
Process)
- All updates to widgets in the table and/or on that specific page
are reset to the last saved setting (i.e., the setting when the
user first entered the page.) If information has been saved temporarily
regarding that specific page, the temporary information will be
purged.
- Page Level Button - All Other Page Level Action/Navigation Buttons
- All updates to widgets in table and/or on page are saved to database;
page is redrawn to either another logical page in the flow, or redrawn
as the same page with a Confirmation Message
Box at the top stating that the action has been performed and changes
have been saved.
- Tab
- If any updates to widgets in table and/or on either page are made prior to selecting a tab, a Warning Message Page is drawn, letting the user know that his/her updates have not been saved or applied. The message also asks, "Would you like to save your changes." There are three buttons on the message page: "Cancel", "No", "Yes" (in order from left-to-right or right-to-left in BI-DI languages.) If "Yes" is selected, changes are saved, and the user moves to the appropriate page. If "No" is selected, the user's changes are not saved, but the page is redrawn to the appropriate tab section. If "Cancel" is selected, the user returns to the prior page, all previous updates are restored from temporary or cached means. No changes to data have been lost, yet still the data hasn't been saved to the database either.
- If no changes to widgets in table and/or on page are made, then
the user is navigated to the appropriate page.
- Horizontal Navigation
- Global Button
- Other (Content Container Link, etc.)
Related Guideline
Save Model for 3(+) Step by Step Process: Finish Before End
High Level Summary
Next/Back caches or temporarily saves between pages of process. Finish/Submit saves updates from all pages. Table actions and record navigation cache or temporarily save changes.
Detailed Save Model and Interaction Expectations - 3(+) Step by Step Process: Able to Finish Before End
User updates information in the table or on the page, then selects ...
- Table: Global Table Buttons - (i.e., "Create [Object]")
- All updates to widgets in table and/or on page are saved in temporary
tables or cached, page is redrawn according to button selected.
- Table: Select and Act Buttons - (i.e., "Duplicate")
- All updates to widgets in table and/or on page are saved in temporary
tables or cached, page is redrawn according to button selected.
- If button does not take user to another page, but just performs
an action on a selected row, it performs the action based on the
current, updated state of the data. Updates to other rows in table
and/or updates on page are saved in temporary tables or cached.
- In some cases, an action on a row can not happen unless the updated
data of that row is first saved to the database. If this is the
case, implicitly save the data to the database, then perform the
action. Information regarding this behavior must be put in the instruction
text closest to the table regarding this behavior.
- Table: Functional Icon in Cell -
Same as Select and Act button behavior.
- Table: Record Navigation - (i.e., Next 25; Previous 25)
- All updates to widgets in table and/or on page are saved in temporary
tables or cached; page is redrawn according to record navigation
selected (next or back).
- Page Level Button - "Next" (on All Steps except for Last Step)
- All updates to widgets in table and/or on page are saved in temporary
tables or cached; page is redrawn to the next step in the step by
step template/process.
- Page Level Button - "Back" (on All Steps except for First Step)
- All updates to widgets in table and/or on page are saved in temporary
tables or cached; page is redrawn to the previous step in the step
by step template/process.
- If items are changes on the previous step that effect the steps there
after, when the user select the next step in the process, a Warning
Message Box should appear at the top of that step, stating that items
may have changed based on selections in previous steps.
- Page Level Button - "Finish", "Submit" (on Any Step of Process when
Applicable)
- All updates to widgets in table and/or on page for all pages that have
been visited/affected are saved to database; page is redrawn to either
another logical page in the flow (usually back to the page that launched
the step by step process), or redrawn as the same page with a Confirmation
Message Box at the top stating the changes have been saved.
- Page Level Button - "Cancel" (On Any Step of the Process)
- All updates to widgets in the table and/or on the page for all
pages in the step by step process are canceled, and set to the last
saved setting (i.e., the setting when the user first entered the
page.) If information regarding any updates to any pages of the
process have been saved temporarily, the temporary information will
be purged. Page is redrawn to the page prior to entering the step
by step process.
- Page Level Button - "Revert" (on Any Step of the Process)
- All updates to widgets in the table and/or on that specific page
are reset to the last saved setting (i.e., the setting when the
user first entered the page.) If information has been saved temporarily
regarding that specific page, the temporary information will be
purged.
- Page Level Button - All Other Page Level Action/Navigation Buttons
- All updates to widgets in table and/or on page are saved to database;
page is redrawn to either another logical page in the application flow,
or redrawn as the same page with a Confirmation
Message Box at the top stating that the action has been performed
and changes have been saved.
- Tab
- If any updates to widgets in table and/or on the page of any of the pages in the step by step process are made prior to selecting a tab, a Warning Message Page is drawn, letting the user know that his/her updates have not been saved or applied. The message also asks, "Would you like to save your changes." There are three buttons on the message page: "Cancel", "No", "Yes" (in order from left-to-right or right-to-left in BI-DI languages.) If "Yes" is selected, changes are saved, and the user moves to the appropriate page. If "No" is selected, the user's changes are not saved, but the page is redrawn to the appropriate tab section. If "Cancel" is selected, the user returns to the prior page, all previous updates are restored from temporary or cached means. No changes to data have been lost, yet still the data hasn't been saved to the database either.
- If no changes to widgets in table and/or on page are made, then
the user is navigated to the appropriate page.
- Horizontal Navigation
- Global Button
- Other (Content Container Link, etc.)
Related Guideline
Save Model for 3(+) Step by Step Process: Finish at End
High Level Summary
Next/Back caches or temporarily saves between pages of process. Finish/Submit saves updates from all pages. Table actions and record navigation cache or temporarily save changes.
Detailed Save Model and Interaction Expectations - 3(+) Step by Step Process: Only Able to Finish at End
User updates information in the table or on the page, then selects ...
- Table: Global Table Buttons - (i.e., "Create [Object]")
- All updates to widgets in table and/or on page are saved in temporary
tables or cached, page is redrawn according to button selected.
- Table: Select and Act Buttons - (i.e., "Duplicate")
- All updates to widgets in table and/or on page are saved in temporary
tables or cached, page is redrawn according to button selected.
- If button does not take user to another page, but just performs
an action on a selected row, it performs the action based on the
current, updated state of the data. Updates to other rows in table
and/or updates on page are saved in temporary tables or cached.
- In some cases, an action on a row can not happen unless the updated
data of that row is first saved to the database. If this is the
case, implicitly save the data to the database, then perform the
action. Information regarding this behavior must be put in the instruction
text closest to the table regarding this behavior.
- Table: Functional Icon in Cell -
Same as Select and Act button behavior.
- Table: Record Navigation - (i.e., Next 25; Previous 25)
- All updates to widgets in table and/or on page are saved in temporary
tables or cached; page is redrawn according to record navigation
selected (next or back).
- Page Level Button - "Next" (on All Steps except for Last Step)
- All updates to widgets in table and/or on page are saved in temporary
tables or cached; page is redrawn to the next step in the step by
step template/process.
- Page Level Button - "Back" (on All Steps except for First Step)
- All updates to widgets in table and/or on page are saved in temporary
tables or cached; page is redrawn to the previous step in the step
by step template/process.
- If items are changes on the previous step that effect the steps there
after, when the user select the next step in the process, a Warning
Message Box should appear at the top of that step, stating that items
may have changed based on selections in previous steps.
- Page Level Button - "Finish", "Submit" (on the Last Step of the Process)
- All updates to widgets in table and/or on page for all pages in the
step by step flow are saved to database; page is redrawn to either another
logical page in the flow (usually back to the page that launched the step
by step process), or redrawn as the same page with a Confirmation
Message Box at the top stating the changes have been saved.
- Page Level Button - "Cancel" (On Any Step of the Process)
- All updates to widgets in the table and/or for all pages in the
step by step process are canceled, and set to the last saved setting
(i.e., the setting when the user first entered the page.) If information
regarding updates to any page of the process has been saved temporarily,
the temporary information will be purged. Page is redrawn to the
page prior to entering the step by step process.
- Page Level Button - "Revert" (on Any Step of the Process)
- All updates to widgets in the table and/or on that specific page
are reset to the last saved setting (i.e., the setting when the
user first entered the page.) If information has been saved temporarily
regarding that specific page, the temporary information will be
purged.
- Page Level Button - All Other Page Level Action/Navigation Buttons
- All updates to widgets in table and/or on page are saved to database;
page is redrawn to either another logical page in the application flow,
or redrawn as the same page with a Confirmation
Message Box at the top stating that the action has been performed
and changes have been saved.
- Tab
- If any updates to widgets in table and/or on the page of any of the pages in the step by step process are made prior to selecting a tab, a Warning Message Page is drawn, letting the user know that his/her updates have not been saved or applied. The message also asks, "Would you like to save your changes." There are three buttons on the message page: "Cancel", "No", "Yes" (in order from left-to-right or right-to-left in BI-DI languages.) If "Yes" is selected, changes are saved, and the user moves to the appropriate page. If "No" is selected, the user's changes are not saved, but the page is redrawn to the appropriate tab section. If "Cancel" is selected, the user returns to the prior page, all previous updates are restored from temporary or cached means. No changes to data have been lost, yet still the data hasn't been saved to the database either.
- If no changes to widgets in table and/or on page are made, then
the user is navigated to the appropriate page.
- Horizontal Navigation
- Global Button
- Other (Content Container Link, etc.)
Related Guideline
Save Model for Side Navigation Object Template/NonLinear Sections
High Level Summary
Apply saves updates from all pages within side navigation. Between side navigation sections, caching or temporarily saving data occurs. Table actions and record navigation cache or temporarily save changes.
Detailed Save Model and Interaction Expectations - One Section Page of Object Template with Side Navigation (Nonlinear Sections)
User updates information in a table or on the page, then selects ...
- Table: Global Table Buttons - (i.e., "Create [Object]")
- All updates to widgets in table and/or on page are saved in temporary
tables or cached, page is redrawn according to button selected.
- Table: Select and Act Buttons - (i.e., "Duplicate")
- All updates to widgets in table and/or on page are saved in temporary
tables or cached, page is redrawn according to button selected.
- If button does not take user to another page, but just performs
an action on a selected row, it performs the action based on the
current, updated state of the data. Updates to other rows in table
and/or updates on page are saved in temporary tables or cached.
- In some cases, an action on a row can not happen unless the updated
data of that row is first saved to the database. If this is the
case, implicitly save the data to the database, then perform the
action. Information regarding this behavior must be put in the instruction
text closest to the table regarding this behavior.
- Table: Functional Icon in Cell -
Same as Select and Act button behavior.
- Table: Record Navigation - (i.e., Next 25; Previous 25)
- All updates to widgets in table and/or on page are saved in temporary
tables or cached; page is redrawn according to record navigation
selected (next or back).
- Page Level Button - "Apply"
- If a user uses the side navigation to navigate between sections, and
does not select "Apply" for every page, selecting the "Apply"
button will save all changes from all the pages within the Side Navigation
Object Template to the database. After selecting "Apply", the
page is redrawn to either another logical page in the flow (possibly to
the page where the user "launched" the object template with
the side navigation), or redrawn as the same page with a Confirmation
Message Box at the top of the page.
- If user selects "Apply" at each page within side navigation,
all updates to widgets in table and/or on page are saved to database;
page is redrawn to either another logical page in the flow (possibly to
the page where the user "launched" the object template with
the side navigation), or redrawn as the same page with a Confirmation
Message Box at the top stating the changes have been saved.
- Page Level Button - "Cancel"
- All updates to widgets in the table and/or on page are canceled,
and set to the last saved setting (i.e., the setting when the user
first entered the page.) If information regarding this page has
been saved temporarily, the temporary information will be purged.
"Cancel" typically takes the user to another logical page in the
application or the page where the user "launched" the object template
with side navigation. Rarely the user is kept on the same page.
- If a user used the side navigation to navigate between sections,
and did not select "Apply" on every page, selecting the "Cancel"
button will cancel all changes from all the pages within the Side
Navigation Object Template since the last "Apply" was selected.
If information regarding all the pages has been saved temporarily,
the temporary information will be purged. "Cancel" typically takes
the user to another logical page in the application or the page
where the user "launched" the object template with side navigation.
Rarely the user is kept on the same page.
- Page Level Button - "Revert"
- All updates to widgets in the table and/or on page of this specific
page are reset to the last saved setting (i.e., the setting when
the user first entered the page.) If information regarding this
page has been saved temporarily, the temporary information will
be purged.
- Page Level Button - Other Page Level Action/Navigation Buttons
- All updates to widgets in table and/or on page are saved to database;
page is redrawn to either another logical page in the flow, or redrawn
as the same page with a Confirmation Message
Box at the top stating that the action has been performed and changes
have been saved.
- Another Side Navigation Section
- If any updates to widgets in table and/or on page are made prior
to selecting the Side Navigation, and the "Apply" button has not
been selected since the changes have been made, all updates to widgets
in table and/or on page are saved in temporary tables or cached,
page is redrawn to according to side navigation section selected.
- Tab
- If any updates to widgets in table and/or on page are made prior to selecting a tab, a Warning Message Page is drawn, letting the user know that his/her updates have not been saved or applied. The message also asks, "Would you like to save your changes." There are three buttons on the message page: "Cancel", "No", "Yes" (in order from left-to-right or right-to-left in BI-DI languages.) If "Yes" is selected, changes are saved, and the user moves to the appropriate page. If "No" is selected, the user's changes are not saved, but the page is redrawn to the appropriate tab section. If "Cancel" is selected, the user returns to the prior page, all previous updates are restored from temporary or cached means. No changes to data have been lost, yet still the data hasn't been saved to the database either.
- If no changes to widgets in table and/or on page are made, then
the user is navigated to the appropriate page.
- Horizontal Navigation
- Global Button
- Other (Content Container Link, etc.)
Related Guideline
Save Model for Side Navigation Object Template/Suggested Linear Sections
High Level Summary
Apply saves updates from all pages within side navigation. Between side navigation sections, caching or temporarily saving data occurs. Table actions and record navigation cache or temporarily save changes.
Detailed Save Model and Interaction Expectations - One Section Page of Object Template with Side Navigation (Suggested Linearity)
User updates information in a table or on the page, then selects ...
- Table: Global Table Buttons - (i.e., "Create [Object]")
- All updates to widgets in table and/or on page are saved in temporary
tables or cached, page is redrawn according to button selected.
- Table: Select and Act Buttons - (i.e., "Duplicate")
- All updates to widgets in table and/or on page are saved in temporary
tables or cached, page is redrawn according to button selected.
- If button does not take user to another page, but just performs
an action on a selected row, it performs the action based on the
current, updated state of the data. Updates to other rows in table
and/or updates on page are saved in temporary tables or cached.
- In some cases, an action on a row can not happen unless the updated
data of that row is first saved to the database. If this is the
case, implicitly save the data to the database, then perform the
action. Information regarding this behavior must be put in the instruction
text closest to the table regarding this behavior.
- Table: Functional Icon in Cell -
Same as Select and Act button behavior.
- Table: Record Navigation - (i.e., Next 25; Previous 25)
- All updates to widgets in table and/or on page are saved in temporary
tables or cached; page is redrawn according to record navigation
selected (next or back).
- Page Level Button - "Next" (on All Steps except for Last Step)
- All updates to widgets in table and/or on page are saved in temporary
tables or cached; page is redrawn to the next step in the Object
Template with Side Navigation/process.
- Page Level Button - "Back" (on All Steps except for First Step)
- All updates to widgets in table and/or on page are saved in temporary
tables or cached; page is redrawn to the previous step in the Object
Template with Side Navigation/process.
- If items are changes on the previous step that effect the steps there
after, when the user select the next step in the process, a Warning
Message Box should appear at the top of that step, stating that items
may have changed based on selections in previous steps.
- Page Level Button - "Finish", "Submit" (on the Last Step of the Process)
- All updates to widgets in table and/or on page for all pages in the
Object Template with Side Navigation are saved to database; page is redrawn
to either another logical page in the flow (usually back to the page that
launched the step by step process), or redrawn as the same page with a
Confirmation Message Box at the top stating
the changes have been saved.
- Page Level Button - "Cancel"
- On Any Step of the Process
All updates to widgets in the table and/or for all pages in the
Object Template with Side Navigation are canceled, and set to the
last saved setting (i.e., the setting when the user first entered
the page.) If information had been saved in temporary tables, the
temporary information will be purged. Page is redrawn to the page
prior to entering the Object Template with Side Navigation process.
- Page Level Button - "Revert" (on Any Step of the Process)
- All updates to widgets in the table and/or on that specific page
are reset to the last saved setting (i.e., the setting when the
user first entered the page.) If information has been saved temporarily
regarding that specific page, the temporary information will be
purged.
- Page Level Button - Other Page Level Action/Navigation Buttons
- All updates to widgets in table and/or on page are saved to database;
page is redrawn to either another logical page in the flow, or redrawn
as the same page with a Confirmation Message
Box at the top stating that the action has been performed and changes
have been saved.
- Another Side Navigation Section
- If any updates to widgets in table and/or on page are made prior
to selecting the Side Navigation, and the "Next", "Back", "Cancel",
or "Submit"/"Finish" button has not been selected since the changes
have been made, all updates to widgets in table and/or on page are
saved in temporary tables or cached, page is redrawn to according
to side navigation section selected.
- Tab
- If any updates to widgets in table and/or on page are made prior to selecting a tab, a Warning Message Page is drawn, letting the user know that his/her updates have not been saved or applied. The message also asks, "Would you like to save your changes." There are three buttons on the message page: "Cancel", "No", "Yes" (in order from left-to-right or right-to-left in BI-DI languages.) If "Yes" is selected, changes are saved, and the user moves to the appropriate page. If "No" is selected, the user's changes are not saved, but the page is redrawn to the appropriate tab section. If "Cancel" is selected, the user returns to the prior page, all previous updates are restored from temporary or cached means. No changes to data have been lost, yet still the data hasn't been saved to the database either.
- If no changes to widgets in table and/or on page are made, then
the user is navigated to the appropriate page.
- Horizontal Navigation
- Global Button
- Other (Content Container Link, etc.)
Related Guideline
Save Model for SubTabs Object Template/Nonlinear Sections
High Level Summary
Apply saves updates from all pages within SubTab Bar. Between subtab sections, caching or temporarily saving data occurs. Table actions and record navigation cache or temporarily save changes.
Detailed Save Model and Interaction Expectations - One Section Page of Object Template with SubTabs (Nonlinear Sections)
User updates information in a table or on the page, then selects ...
- Table: Global Table Buttons - (i.e., "Create [Object]")
- All updates to widgets in table
and/or on page are saved in temporary tables or cached, page is
redrawn according to button selected.
- Table: Select and Act Buttons - (i.e.,
"Duplicate")
- All updates to widgets in table
and/or on page are saved in temporary tables or cached, page is
redrawn according to button selected.
- If button does not take user to
another page, but just performs an action on a selected row, it
performs the action based on the current, updated state of the data.
Updates to other rows in table and/or updates on page are saved
in temporary tables or cached.
- In some cases, an action on a row
can not happen unless the updated data of that row is first saved
to the database. If this is the case, implicitly save the data to
the database, then perform the action. Information regarding this
behavior must be put in the instruction text closest to the table
regarding this behavior.
- Table: Functional Icon in Cell -
Same as Select and Act button behavior.
- Table: Record Navigation - (i.e., Next
25; Previous 25)
- All updates to widgets in table
and/or on page are saved in temporary tables or cached; page is
redrawn according to record navigation selected (next or back).
- Page Level Button - "Apply"
- If a user uses the subtabs to navigate between sections, and does not
select "Apply" for every page, selecting the "Apply"
button will save all changes from all the pages within the SubTab Object
Template to the database. After selecting "Apply", the page
is redrawn to either another logical page in the flow (typically to the
page where the user "launched" the object template with subtabs),
or redrawn as the same page with a Confirmation
Message Box at the top of the page. (Note: Based on usability testing
(Fall 2001), it is recommended to not remain on the page after "Apply"
is selected.)
- If user selects "Apply" at each page within subtab, all updates
to widgets in table and/or on page are saved to database; page is redrawn
to either another logical page in the flow (possibly to the page where
the user "launched" the object template with the side navigation),
or redrawn as the same page with a Confirmation
Message Box at the top stating the changes have been saved. (See note
above.)
- Page Level Button - "Cancel"
- All updates to widgets in the table
and/or on page are canceled, and set to the last saved setting (i.e.,
the setting when the user first entered the page.) If information
regarding this page has been saved temporarily, the temporary information
will be purged. "Cancel" typically takes the user to another logical
page in the application or the page where the user "launched" the
object template with side navigation. Rarely the user is kept on
the same page.
- If a user used the subtab to navigate
between sections, and did not select "Apply" on every page, selecting
the "Cancel" button will cancel all changes from all the pages within
the SubTab Object Template since the last "Apply" was selected.
If information regarding all the pages has been saved temporarily,
the temporary information will be purged. "Cancel" typically takes
the user to another logical page in the application or the page
where the user "launched" the object template with side navigation.
Rarely the user is kept on the same page.
- Page Level Button - "Revert"
- All updates to widgets in the table
and/or on page of this specific subtab section are reset to the
last saved setting (i.e., the setting when the user first entered
the page.) If information regarding this page has been saved temporarily,
the temporary information will be purged.
- Page Level Button - Other Page Level
Action/Navigation Buttons
- All updates to widgets in table and/or on page are saved to database;
page is redrawn to either another logical page in the flow, or redrawn
as the same page with a Confirmation Message
Box at the top stating that the action has been performed and changes
have been saved.
- Another SubTab Section
- If any updates to widgets in table
and/or on page are made prior to selecting the SubTab, and the "Apply"
button has not been selected since the changes have been made, all
updates to widgets in table and/or on page are saved in temporary
tables or cached, page is redrawn to according to subtab section
selected.
- Tab
- If any updates to widgets in table and/or on page are made prior to selecting a tab, a Warning Message Page is drawn, letting the user know that his/her updates have not been saved or applied. The message also asks, "Would you like to save your changes." There are three buttons on the message page: "Cancel", "No", "Yes" (in order from left-to-right or right-to-left in BI-DI languages.) If "Yes" is selected, changes are saved, and the user moves to the appropriate page. If "No" is selected, the user's changes are not saved, but the page is redrawn to the appropriate tab section. If "Cancel" is selected, the user returns to the prior page, all previous updates are restored from temporary or cached means. No changes to data have been lost, yet still the data hasn't been saved to the database either.
- If no changes to widgets in table
and/or on page are made, then the user is navigated to the appropriate
page.
- Horizontal Navigation
- Global Button
- Other (Content Container Link, etc.)
Related Guideline
Save Model for Process Within Process
High Level Summary
BLAF users perceive process when working through a sequence of template pages to perform a task or tasks. Completing a process (main process) may occasionally require the user to temporarily depart from the main process, complete a supporting process (subprocess), and return to the departure point in the main process, from where they proceed to overall completion.
Testing shows that users generally perceive their work in a main process, the departure to subprocess, and return to main process as a single overall process. What is not so obvious to them is whether or not their work on subprocess pages is saved to the database when they return to the main process. Based on the test results showing the perception of overall process, BLAF recommends that subprocess changes shall not be saved to the database, but should be cached along with the current main process changes, until the main process itself is applied or cancelled. Clear indications that the user is entering or departing from a subordinate subprocess should be provided.
Conclusions
- Selecting "Apply: [Subprocess Name]" should take the user back to the process initiation point. Departing a main process (Apply) or subprocess (Apply: [Subprocess Name]) should take the user back to the process initiation point.
- Selecting "Cancel: [Subprocess Name]", a Warning message should inform of pending work loss if they elect to cancel. If they confirm cancellation, they should be taken back to the process initiation point.
- When finishing a subprocess ("Apply: [Subprocess Name]"), the users changes should be cached and only saved to the database when they finish the main process. If they cancel the main process, subprocess work should also be cancelled.
Save Model Interaction Recommendations - Process Within Process
Based on testing, the following approach is recommended, and is intended to supplement the detailed interaction expectations listed in the sections above:
- In main processes (not a subprocess), use "Apply" and "Cancel" button labels and page titling. Users understand that Apply saves their changes, and Cancel does not.
- In subprocess, Apply and Cancel button labels should be expanded to indicate that subprocess work only is being saved (cached).
- "Apply: [Subprocess Name]"
- "Cancel: [Subprocess Name]"
- Apply: [Subprocess Name] adds subprocess changes to the overall (main) process cache. Cancel: [Subprocess Name] removes changes made in the subprocess cache. If the main process is cancelled, any subprocess changes are also cancelled.
- Page titles identify [Subprocess Name]: {[Step Name]}, to reinforce awareness that they are in a subprocess.
- Cancel from main process and Cancel: [Subprocess Name] should both flow to a Warning message explaining that all changes made in [Main Process Name] / [Subprocess Name] will be lost, including object deletions.
Related Guidelines
Refer to these BLAF Guidelines for more information on process within process:
Visual Specifications
See above schematics and related guidelines.
Open/Closed Issues
Open Issues
28-Jan-2003 - "Save As" flow to be added when issues resolved.
Closed Issues
09-Oct-2001 - Example with SubTabs will be added following usability testing of SubTab component (late October/early November 2001.)
05-Oct-2001 - Document is being reviewed by core technology teams for feasibility.