×
Namespaces

Variants
Actions
(Difference between revisions)

Mobile Application State Management

From Nokia Developer Wiki
Jump to: navigation, search
vdharankar (Talk | contribs)
hamishwillee (Talk | contribs)
m (Text replace - "Category:Mobile Design" to "")
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Mobile Design]][[Category:Usability]]
+
{{ArticleMetaData <!-- v1.2 -->
 
+
|sourcecode= <!-- Link to example source code e.g. [[Media:The Code Example ZIP.zip]] -->
'''Original article published at [http://patterns.littlespringsdesign.com/index.php/Application_State_Management|  Little Spring Design] under [http://creativecommons.org/licenses/by/3.0/| Attibuttion 3.0]'''
+
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) -->
 +
|devices= <!-- Devices tested against - e.g. ''devices=Nokia 6131 NFC, Nokia C7-00'') -->
 +
|sdk= <!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) -->
 +
|platform= <!-- Compatible platforms - e.g. Symbian^1 and later, Qt 4.6 and later -->
 +
|devicecompatability= <!-- Compatible devices e.g.: All* (must have internal GPS) -->
 +
|dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 -->
 +
|signing= <!-- Signing requirements - empty or one of: Self-Signed, DevCert, Manufacturer -->
 +
|capabilities= <!-- Capabilities required by the article/code example (e.g. Location, NetworkServices. -->
 +
|keywords= <!-- APIs, classes and methods (e.g. QSystemScreenSaver, QList, CBase -->
 +
|language= <!-- Language category code for non-English topics - e.g. Lang-Chinese -->
 +
|translated-by= <!-- [[User:XXXX]] -->
 +
|translated-from-title= <!-- Title only -->
 +
|translated-from-id= <!-- Id of translated revision -->
 +
|review-by= <!-- After re-review: [[User:username]] -->
 +
|review-timestamp= <!-- After re-review: YYYYMMDD -->
 +
|update-by= <!-- After significant update: [[User:username]]-->
 +
|update-timestamp= <!-- After significant update: YYYYMMDD -->
 +
|creationdate= 20091031
 +
|author= [[User:Aadhar14b]]
 +
}}'''Original article published at [http://www.littlespringsdesign.com/blog/2007/Jan/design-pattern-of-the-week-state-management/ Little Spring Design] under [http://creativecommons.org/licenses/by/3.0/ Attribution 3.0]'''
  
 
<br>
 
<br>
Line 8: Line 27:
  
 
===Design Guidelines===
 
===Design Guidelines===
<UL>
+
 
<LI>  Save all user input except passwords.
+
* Save all user input except passwords.
<LI>  To enable saving of password provide an option.
+
* To enable saving of password provide an option.
<LI>  Discard task-related input only after the task is complete.
+
* Discard task-related input only after the task is complete.
<LI>  Save application state, including which screen is being displayed.
+
* Save application state, including which screen is being displayed.
<LI>  When re-entering the application, return the user to that state is appropriate. It might not be appropriate if the user was viewing transient data or if the application has not been used for a few days.  
+
* When re-entering the application, return the user to that state is appropriate. It might not be appropriate if the user was viewing transient data or if the application has not been used for a few days.  
</UL>
+
  
 
===Example===  
 
===Example===  
Line 23: Line 41:
  
 
===Rationale===
 
===Rationale===
<UL>
+
* The user, and hence the application, is readily interruptible. The application can be interrupted at any time, by real life people, an incoming call, or a coverage hole.  
<LI>The user, and hence the application, is readily interruptible. The application can be interrupted at any time, by real life people, an incoming call, or a coverage hole. <LI>Thus an exited application does not indicate the user's intent to end a task.  
+
* Thus an exited application does not indicate the user's intent to end a task.  
</UL>
+
 
<BR>
+
 
----
 
----
--Submitted by - Aadhar14b
+
--Submitted by - Aadhar14b[[Category:Usability]]

Latest revision as of 03:42, 9 May 2012

Article Metadata
Article
Created: User:Aadhar14b (31 Oct 2009)
Last edited: hamishwillee (09 May 2012)
Original article published at Little Spring Design under Attribution 3.0


Contents

[edit] Introduction

The mobile application state includes what screen is being displayed, what data the user has entered, and any user settings.

[edit] Design Guidelines

  • Save all user input except passwords.
  • To enable saving of password provide an option.
  • Discard task-related input only after the task is complete.
  • Save application state, including which screen is being displayed.
  • When re-entering the application, return the user to that state is appropriate. It might not be appropriate if the user was viewing transient data or if the application has not been used for a few days.

[edit] Example

gmaps on S60 when you refire a saved search, it re-runs it in the last location. Regardless of not having gps. Assume last info is correct unless there is a reason not to.

[edit] When Used

Application state management should be considered for any application.

[edit] Rationale

  • The user, and hence the application, is readily interruptible. The application can be interrupted at any time, by real life people, an incoming call, or a coverage hole.
  • Thus an exited application does not indicate the user's intent to end a task.

--Submitted by - Aadhar14b

This page was last modified on 9 May 2012, at 03:42.
139 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×