|
|
|||
Navigation is the term that is used to describe the process of switching between views and applications. There are several issues involved: hierarchy, persistence of status, backtracking and the way navigation commands are given.
On the system level, there is a hierarchy where the Start screen is at the top (or the root). The next level is the application launcher. The third level is the individual application.
On the application level, the base view is on the top and detail views are on lower levels. Only views participate in the navigation hierarchy. Dialogs and menus are considered to be part of the view where they are activated.
UIQ does not provide a start screen. However, phone manufacturers and operators can customize their phones by adding a start screen.
When a phone has a start screen, the start screen becomes the root of the navigation hierarchy, just above the UIQ application launcher. Navigation to and from the start screen works in general the same as all navigation in UIQ 3. Movement down the hierarchy is achieved through direct links to applications or to the application launcher. Movement up the hierarchy is achieved through the back command. The back command is activated by a dedicated hardware key or by a softkey. In Pen-style UI, the back command is also placed on a button.
A special command that directly opens the application launcher, no matter where the user is in the navigation hierarchy, is provided in all UI configurations. In Softkey style, there is a dedicated hardware key that activates the application launcher. In Pen style there is an icon in the status bar and optionally a dedicated hardware key.
This special command works even when the start screen is active. Pressing the application-launcher hardware key or tapping the application-launcher icon in the status bar when the start screen is active moves the user down the navigation hierarchy to the application launcher.
A special feature concerning the start screen is that when the application launcher is active the application-launcher command becomes a direct link to the start screen. Pressing the application-launcher hardware key or tapping the application-launcher icon in the status bar when the application launcher is active moves the user up the navigation hierarchy to the start screen.
When an application is first launched the base view is activated. A detail view that is one level below the base view is activated by selecting an item in the base view. A detail view that is yet another level below is activated by a command in the detail view on the level above it. So moving down the hierarchy is accomplished by executing commands in a view.
Each view has a default setting that decides which tab is active and which component has focus. Normally, a view is set to the default when it is opened.
Moving up the hierarchy is accomplished by using the Cancel key. Instead of a Cancel key, the Pen style UI uses a Back or Save and Cancel buttons in the button bar. The Back button has an icon and is used in non-editable views, for example an application’s Base view and non-editable Detail views. Save and Cancel are used in edit views.
Normal activation of the Cancel key activates the view one the level up. Prolonged activation of the Cancel key activates the views in the hierarchy in succession. Deactivating the Cancel key halts navigation at the view that has become active. Activating the Cancel key when the base view is active makes the Application launcher active.
An important feature of using the Cancel key to climb back up the hierarchy in an application is that the default settings for tab and focus activation are restored when a view is exited. But, when returning to a view on a higher level, the default settings will not be restored. Rather, tabs and focus are found to be the way they were when the command to the lower level was used.
The normal method of switching from one application to another is to first switch to the Application launcher and from there switch to the other application. There are two ways to activate the Application launcher from a view in an application. The first one is to "back out", that is, continuing to activate the Cancel key until the Applications launcher is reached.
The second way to activate the Application launcher from a view in an application is to activate the Launcher short-cut. This activates the Application launcher directly. The Launcher short-cut could, for example, be added as a separate hardware key, this is up to the mobile phone manufacturer. In Pen style UI there is an icon symbolizing the Application launcher in the Status bar.
Both of these methods achieve the same result, the view is exited and the Application launcher is active. There is, however, a very important difference. When the Launcher key is used, the default settings for tab and focus activation are not restored. More over, the view that was active when the application was exited is remembered. When the application is once again activated from the Application launcher, the View that was remembered is activated. This behavior is known as persistence of views.
The tasks that users want to perform often require the use of more than one application. Users even want to use applications in parallel, for example, to temporarily leave one application in the middle of a task, carry out another task using another application and return to the first application and continue with first task. Users, of course, want to continue working on the first task where they left off. They do not want to have to begin again from the beginning.
To facilitate switching back and forth between applications, UIQ 3 secures the persistence of views when appropriate. The entire state of a view is not persisted. Dialogs and menus that were open are closed. But the positions of tabs and focus are preserved. Other details, such as the state of check boxes, can vary from view to view.
The backbone of this service is the two different ways to navigate between applications. Put simply, views are persisted when an application is exited by activating the Launcher key. Views are returned to their default settings when they are exited by activating the Cancel key. So, if you have completed the task you were using the application for, "back out". If you want to return to where you are, use the Launch key. Think of the Launcher short-cut as the "switch application" key and the Cancel key as the "exit" key.
All modifications to user data should be saved automatically when switching applications. Leaving an application does not necessarily mean that the user will switch back to it immediately; the phone might even be switched off. Automatically saving user data ensures that it is not lost.
Application menus and pop-up menus are closed when switching to another application.
Controls in an active state are closed and the data is saved when switching to another application.
Dialogs are closed and saved when switching to another application.
Item selections are normally persisted in list views/base views. See section 8.4.4.
When editable views are exited and another application is activated, the data is saved and an Infoprint, "Entry saved" for example, is shown unless the view is empty or not edited since the view was last saved. From a system point of view, the application should be set as busy. The memory manager does not close down busy applications unless all other applications already have been closed and there is still not enough free memory.
All applications are returned to base view after reboot.
Another feature UIQ 3 provides to promote cooperative use of applications is the Direct Navigation Link (DNL). The situation that the DNL addresses is when there is a task that naturally begins in one application but ends in another. The prime example is using Contacts to start communication, for example, sending an SMS.
A very natural routine for starting communication is to look up the person you wish to communicate with in Contacts. There you choose the form or communication that is appropriate for the moment.
The solution is to use a view from a second application as if it were a detail view in the first application. This is achieved with a DNL. A DNL will switch to the view in the second application. More than that, it fills in the appropriate data from the first application in the view in the second application. In our example, the Send SMS DNL would switch to the Create SMS view in Messaging, create a new SMS and fill in the phone number.
After the message is sent, or if the user cancels the message, the detail view in Contacts reappears on the screen. Because we want the SMS view to feel like it is a view in Contacts, using the Cancel key will not go up the hierarchy in Messaging. Instead, it will go up the hierarchy in Contacts, that is, back to the detail view in Contacts where we first selected the Send SMS DNL. And, the state of that view will have been persisted.
Using a DNL is a powerful way to extend the apparent functionality of an application. It is, however, limited to just one level. If the meaning of having the DNL is interrupted, the Cancel key will not return to the view and the application will not be persisted. For example, the user could decide to interrupt the Send SMS task while in Messaging and switch to Agenda by way of the Application launcher. After returning to Messaging, using the Cancel key will go up the hierarchy in Messaging, not in Contacts.
If an application is exited via the Application launcher and then re-entered via another DNL, the state it was first in will be lost. The application will be returned to base view.