Contacts/2007
From Openmoko
| In progress: This article or section documents one or more features whose implementation are in progress. |
Contents |
Overview
This article defines the Contact Application, an extensible application designed for the OpenMoko platform. The Contacts Application is the central location to store all address-related information. This is a Native Stylus-Based application.
Use Cases
Here are some possible use cases:
- I want to add a few contacts which I have on paper
- I want to add a few contacts from my PC
- I want to call an existing contact
- I want to correct the details of an existing contact
- I want to send an existing contact via a Bluetooth connection to a nearby device (Neo or other) via a standard protocol
- I want to send an existing contact via SMS message
- I want to have OpenMoko notify me of upcoming events (anniversaries like birthdays, wedding anniversaries) linked to a contact
- I want to have OpenMoko sync the above anniversaries as part of the contact instead of with calender data
Layout Components
- 1) Application Menu -- Additional options related to contact objects.
- 2) Filter_Menu -- Filtering options for the list of contacts.
- 3) Navigation Area -- List of contacts based on current filter.
- 4) Toolbar -- Primary commands available to contacts.
- 5) Details Area -- Detailed view of current selected contact.
- 6) Footer Area -- Status information.
Application Area
Application Menu
| Item | Action | Constraints |
|---|---|---|
| Group Membership | Specify contacts existing within current group | Grayed-out when zero custom groups are defined |
| Group Rename | Rename the current group | Grayed-out when zero custom groups are defined or active group is not a custom group. |
| Import | Import a single contact from valid vCard data | |
| Export | Export a single contact in vCard format | Grayed-out when zero contacts exist |
| Send | Send a single contact via bluetooth, SMS, IR, etc. | Grayed-out when zero contacts exist, opens submenu with send options (via Bluetooth, via SMS, via IR, etc.) |
| Help | Opens Help Viewer Application with help for this application |
Filter Menu
| Item | Action | Constraints |
|---|---|---|
| All | Displays all contacts | |
| <groups> | Displays all contacts from this group | |
| Unknown | Displays all contacts and names without a specified group | |
| Search Results | Displays all contacts matching current search string |
Navigation Area
Displays list of contacts from current Group using the Navigation Widget. Has the following structure:
| Item | Action | Constraints |
|---|---|---|
| Column 1 | Displays name of contact | |
| Column 2 | Displays the first number listed in the contact's details. |
Tap selecting a row, will display correspoding contact information in the Details Area.
Toolbar
Search
Search reindexes, after every keypress, the contact membership of the Search Results Group.
Action Buttons
| Item | Action | Constraints |
|---|---|---|
| New Contact | Creates a new contact called No Name | Performs no action when pressed repeatedly |
| New Group | Opens Dialog prompting for Group Name |
| Item | Action | Constraints |
|---|---|---|
| Mode View | Activates View Mode for Details Area | |
| Mode Edit | Activates Edit Mode for Details Area | |
| Mode Group Membership | Activates Group Membership Mode for Details Area | |
| Mode History | Activates History Mode for Details Area |
| Item | Action | Constraints |
|---|---|---|
| Delete Contact | Opens Dialog prompting for confirmation | Grayed-out when zero contacts exist |
| Delete Group | Opens Dialog prompting for confirmation | Grayed-out when zero custom groups are defined or active group is not a custom group. |
Details Area
A Details List that behaves different in each of the following modes:
View Mode
- 1) Icon / Photo -- Photo of contact (if available) will be displayed. Uses the Picture Thumbnail Field widget.
- 2) Mobile Number -- Mobile Number. Uses the Phone Number Field widget.
- 3) Home Address -- Home address. Uses the Address Field widget.
- 4) Birthday -- Birthday. Uses the Event Field widget.
- 5) Notes -- Notes related to this contact. Uses the Message Body widget.
- 6) Name -- The contact's name.
- 7) Company -- The contact's company name.
- 8) Email -- Email address. Uses the Address Field widget.
- 9) IM -- IM address. Uses the Address Field widget.
Edit Mode
Upon entering this mode the UI switches to full screen mode:
- 1) Remove Field -- This will empty the field contents. Empty fields will disappear in view mode. When there is only a single instance of a field it cannot be removed, so this icon will be hidden.
- 2) Add Field -- This will duplicate the field. Some fields cannot be duplicated, such as the name or company field.
- 3) Type Selector -- This will change the field type. The available types are defined by the field widget.
- 4) Edit Region -- When editting a field's contents the background will visually represent this process.
- 5) Uncomplete Field Options -- When field options are not completed they will appear in gray.
| NOTE: If the name or first number is modified, the Navigation Area will update accordingly. |
Group Membership Mode
- 1) Membership checkbox -- When checked, the selected contact will be added to this group.
- 2) Selected Contact -- The current selected contact.
- 3) Close -- Close Groups Membership Mode (return to regular view)
- 4) Group List Navigation -- Press Up/Down to cycle through list of groups. Number shows pages of groups.
History Mode
- 1) History Entry -- History entries that related to the current selected contact. These are Preview Widgets.
- 2) Selected Contact -- The current selected contact.
Footer Area
Status Bar
Displays the total number of contacts in the current filter.
Constraints
- First time entering application defaults to View Mode.
Sessions
- The current contact selection and Details Area mode is persistant.
Architectural Details
- Valid contact fields are define in the PIM Storage
Implementation Recommendations
- This application is based on O-Hand Contacts.
UI Icons
Download the contact icons: click here
- Address.png --Address
- Birthday.png --Birthday
- Email.png --E-Mail
- Phone.png --Phone
Download the communication history icons: click here
- Mail.png --Message Preview
- In coming call_32x32.png -- Received Call Preview
- Out going call_32x32.png --Dialed Call Preview
- Miss call_32x32.png -- Miss call Preview
- IM_32X32.png -- Sound / Recording Preview
UI position
- Contacts position
- Group Membership Mode
- History Mode
Interactions
- (See individual widgets for their interactions with other applications.)
Unresolved Issues
- Do I want to change the field displayed in 2nd column the Navigation Area?
- Do we want an interface to add many contacts to a single group?
- Do we want to handle SIM card contacts?
Questions and Answers
(see Talk:Contacts)










