This page will be turned into a database-driven display with user voting, to take advantage of group think/wisdom.
Requirements mangement systems for assign a permanent ID to each requirement, and associate key words plus allow the same requirement to be in several hierarchies.
WEBSITE: Android Design launched in android.com on Jan 2012 provides principles for designing UX:
Rather than taking up limited default memory:
REQ 1.1 -
The app is installable on the device SD card.
For the lowest memory footprint possible,
don't waste memory space for logic not used by user:
Also, limit permissions yet provide features:
REQ 1.2 -
Different versions of the app provide different sets of features.
REQ 2.1 - After the app is launched, returning users are shown the menu choice and user data right before exiting the app or when the device went to sleep. NOT the top menu.
CASE STUDY: ADP's app got rated low mostly because users didn't enter the correct password. So:
REQ 2.2 -
Avoid imposing a login screen to say hello.
Don't demand internet access.
REQ 2.3 -
If device is in airplane mode, provide access to what has been stored locally
rather than requiring internet access before anything else.
REQ 2.4 - First time users are presented a tutorial, which users can specify not to show again. This choice defaults to not show again.
REQ 2.5 - Landing page tutorial screen can be shown again (from app Preferences).
Don't demand users login
REQ 2.6 -
CASE STUDY: Chase bank's app landing page provides 3 choices: Log On, Contact Us, Find ATM/Branch.
To get to that thing making noise:
REQ 2.7 -
If a background task (widget) was established, a way to control it is provided upon entry
on a part of the landing page.
Don't acost first-time users to agree to an agreement:
REQ 2.8 -
Request an agreement before taking action.
Don't request agreement to what has not been presented.
REQ 2.9 -
Present agreement in summary form and in detail along with the agree checkbox or button.
Authentication is necessary to protect data stored locally on the device, in encrypted state.
In most enterprises, login options are set by the administrator and cannot be changed by the user. So:
REQ 3.1 -
The method of authentication is user-configurable.
Typing of strong passwords with upper and lower case is a hassle on small mobile devices. So:
REQ 3.2 -
As an allternative to typing in passwords,
use Face Unlock (first available on Ice Cream Sandwich version).
Most people use the same password for everything, anyway.
So why make them do the same thing over and over? Thus:
REQ 3.3 -
USER OPTION:
single-sign-on (SSL), login via Google, Facebook, Twitter, Salesforce, OpenID, etc.
NOTE: This also puts password recovery in the hands of the 3rd parties.
I am known by more than one name (account).
REQ 3.4 -
USER OPTION:
Different accounts can be selected for login.
Operators are standing by:
REQ 3.5 -
USER OPTION:
After __ login failures, go to a screen to contact Support (dial/SMS, etc.)
This phone will self-destruct:
REQ 3.6 -
USER OPTION:
After __ login failures, clear data on the phone.
REQ 3.7 - USER OPTION: Login on each entry into app, after x number or every y days.
Mobile devices are at high risk of theft or other loss. So:
REQ 4.1 -
Provide user option on whether sensitive information are stored on the device.
REQ 4.2 - Store user data in encrypted form. This means a second set of password recovery is needed.
REQ 4.3 -
Use a second set of password credentials to encrypt files.
Personal information like birthdates, place of birth, and mother's maiden name nowadays can be
easily found (especially for celebrities). So:
REQ 4.4 -
Users can set several challenge questions and replies of their own for access.
Most people use the same password everywhere. So:
REQ 4.5 -
Do not display passwords during password recovery. Or any time.
Google's UX design provides for 3 Action Bars:
1. The Main action bar at the top of the screen. Like Apple apps, a icon at the upper-left navigates up the app hierarchy. Android's UX Guidelines does NOT specify an Apple-like button for the next expected action. Instead, Android UX Guidelines specify an overflow menu icon (the 3 vertical dots, like an elipses stood on end)
2. The Top bar (above the content) for (swippable) fixed or scrollable tabs or a spinner to switch among views in the app.
3. The Bottom bar (below the content) is where mobile/iOS apps traditionally located app navigation controls, since it's easier to reach with the thumb. However, Android's UX Guidelines considers this an area for "overflow" for less frequent, less important, or less typical menu choices.
Smartphone become popular because of touch screens. So:
REQ 5.1 -
Graphics are provided for push-button navigation to menu items.
Instead of a list of countries and states, user presses points on maps.
Use region maps of the world and large countries.
Now I see clearly.
REQ 5.2 -
Image zoom to the map.
Google's UX design provides Action Bars
REQ 5.3 -
All content is available from some menu, rather than only after a sequence of screens.
Focus.
REQ 5.4 -
Items can be selected by keywords assigned to each item.
The technology is there. So:
REQ 5.5 -
The app recognizes speech control of menus and settings.
It's frustrating to have data "hidden"
REQ 5.6 -
All content is available from some menu, rather than only after a sequence of screens.
In addition to items marked with "USER OPTION"...
I hold the phone sideways when I read.
This also save battery by reducing work Androids go thru when changing orientation.
REQ 6.1 -
Orientation lock (portrain or landscape).
Want to be annoying in an office or funeral home?
REQ 6.2 -
ON/OFF sounds
There are a lot of multi-lingual people out there.
REQ 6.3 -
Switch to a different language without changing the native UI language.
Remember my home town.
REQ 6.4 -
Location-related information (local time, weather) for several places are stored.
We like working in the dark.
REQ 6.5 -
Night reading mode (white font on black background).
There is a reason why there are so many optometrists.
REQ 6.6 -
Font size & Color choice are remembered.
I like what I like.
REQ 6.7 -
Enable specific sets of font size, Color choices to be remembered and automatically presented.
Some users prefer speed over fancy.
REQ 6.8 -
USER OPTION: Animations (such as page turn) ON/OFF
Save bandwidth:
REQ 6.9 -
USER OPTION: Disable content upload, Over wi-fi only, or Over mobile network if wi-fi is not active.
Oh that scares me:
REQ 6.10 -
USER OPTION: Vibrate ON/OFF.
What's your number?
REQ 6.11 -
Display version of app in Settings.
Mobile devices are at high risk of loss. So:
REQ 7.1 -
Sync to server cloud.
Users won't have both devices on hand. So:
REQ 7.2 -
Data can be transferred from one device to another, with having the source device handy.
REQ 8.1 - Provide a user control to remove itself from memory.
I don't want to remember.
REQ 8.2 -
Provide user control to delete all data before existing.
Some apps populate the user's notification list too often.
Should the app send a notification with every update?
REQ: 9.1 -
Send a toast for major events, such as when a new item has been added.
I know what I just did.
REQ: 9.2 -
USER OPTION: Toasts OFF/ON choice.
Avoid Loading forever.
REQ: 9.3 -
Verify whether internet or GPS is available rather than assuming it is and making users wait.
If it's not on, turn it on, or not.
REQ 9.4 -
If internet is required, provide dialog to ignore or go to a view to turn it on.
Don't just report cumulative totals. How am I doing versus planned?
REQ 9.4 -
When tracking usage such as bytes of data used per subscription month,
project the cumulative usage planned each day (as one line on a graph),
and show the actual usage captured each day (as another line on the same graph).
So I can find all that good stuff again.
REQ 10.2 -
Bookmarks can be added/edited/shared/deleted
Prove I really did that.
REQ 10.3 -
Log of what was done and when.
I am never going to look at that. So:
REQ 10.4 -
USER OPTION: Priority of logging (keep only last _ days of change logs). Toss the rest.
I don't want my spouse to know.
REQ 10.5 -
USER OPTION: Clear search history. Remove all the searches you have performed.
Same code base delivery goodness both ways.
REQ 11.1 -
Screen optimized for tablets, such as content to left of lists, more buttons.
Where was that again?
REQ 11.2 -
Search full-text within content
Yeah, I know what that word means.
REQ 11.3 -
Context-sensitive lookup of works in wikipedia and dictionary.com.
Read it to me.
REQ 11.4 -
USER OPTION: Shake to turn text-to-speech on and off
or to randomly select another item.
Blonde, redhead, brunette, etc.
REQ 11.5 -
USER OPTION: Gender (he vs. she) and other parts of sentences are selectable.
About that.
REQ 12.1 -
On each screen/content item, a button enables text/voice/video notes to be add/delete/edit/shared.
Listen here.
REQ 12.2 -
Speech-to-text dictation.
For foreign friends:
REQ 12.4 -
Translation to other languages.
As if anyone cares:
REQ 12.5 -
My rating and others' ratings about each item.
Talk about this.
REQ 12.6 -
Comments about each item.
Get more:
REQ 13.1 -
USER OPTION: Download lookups
Don't download if it's already there.
REQ 13.2 -
Check the timestamps of data on server and do not download if the latest version is already local.
Keep it private.
REQ 13.3 -
USER OPTION: Encrypt data on device. Encrypted data takes more time to process.
Android Market does this.
REQ 13.4 -
USER OPTION: Download over Wi-Fi only.
This enables users to avoid using up their precious wireless bytes.
Hear me.
REQ 14.1 -
Voice search.
Get more:
REQ 15.1 -
In-app upgrade.
For impulse shoppers:
REQ 15.2 -
Store Integrated into app (not necessarily part of the app).
Wishlist:
REQ 15.3 -
Save in Wishlist (ala Amazon).
I'm not always going to have internet when I need help.
REQ 16.1 -
Have tutorial locally on devices.
How do I get a hold of you?
REQ 16.2 -
Provide several contact options: 800, email, SMS, Facebook.
Make it easy to rate app
REQ 17.1 -
Menu item to provide rating.
Refer to Rating user control.
Some users prefer speed over fancy.
REQ 18.1 -
USER OPTION: Animations (such as page turn) ON/OFF
There are many options to being in a social world
REQ 19.1 -
Click the Share icon for a list of share options: Bluetooth, Email, Facebook, Messaging, Picasa, Twitter, etc.
The API Demo application from
\android-sdk\docs\resources\samples\ApiDemos\src\com\example\android\apis\...
Category | App | Lower Level | Notes |
---|---|---|---|
App | Activity | - | |
Alarm | Alarm Controller | ||
Alarm Service | |||
Device Admin | - | ||
Dialog | - | ||
Intents | Get Music | ||
Launcher Shortcuts | - | ||
Menu | Inflate from XML | ||
Notification | IncomingMessage | ||
Notifying Service Controller | |||
NotifyWithText | |||
Status Bar | |||
Preferences | 1. Preferences from XML | ||
2. Launching Preferences | |||
3. Preference Dependencies | |||
4. Default values | |||
5. Preferences from code | |||
6. Advanced preferences | |||
Search | Invoke Search | ||
Query Search Results | |||
Service | Foreground Service Controller | ||
Local Service Binding | |||
Local Service Controller | |||
Messenger Service | |||
Remote Service Binding | |||
Remote Service Controller | |||
Service Start Arguments Controller | |||
Text-To-Speech | - | ||
Voice Recognition | - | ||
Content | Assets | Read Asset | |
Resources | - | ||
Storage | External Storage | ||
Graphics | ??? | - | |
Media | Media Player | - | |
Video View | - | ||
OS | Morse Code | - | |
Sensors | - | ||
SMS Messaging | - | ||
Text | Linkify | - | |
LogTextBox | - | ||
Marquee | - | ||
Views | User Controls | - |