This is the second revision of the design for the Contacts application.

+

+

+

== 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.

+

+

+

== 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 address 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 display and manage contacts from my SIM card

+

+

== Core Functionality ==

+

+

('''Bold''' = In progress or incomplete)

+

+

* View list of contacts

+

* Search for contact on fullname

+

* Filter contact list by groups

+

+

* Launch Dial contact

+

* '''Launch Message contact'''

+

+

* Create contact

+

* Delete contact

+

+

* Edit Fullname

+

* Edit Organisation

+

* Add telephone number

+

* Delete e-mail address

+

* Edit telephone number

+

* Change telephone group (e.g. work/mobile/home)

+

* Add e-mail address

+

* Delete e-mail address

+

* Edit e-mail address

+

* Change e-mail address group

+

* View contact communication history

+

+

* View contact groups

+

* Remove contact from a group

+

* Add contact to a group

+

* Add new groups

+

+

== Extra Functionality ==

+

+

''to be added sometime in the future''

+

+

* Edit Ringtone

+

* Send contact over Bluetooth or text message

+

+

== Layout ==

+

+

=== Navigation ===

+

+

The Navigation pane allows the user to locate existing contacts, either by filtering on a particular group of contacts, or by a text search on the contact name. The Navigation pane also allows quick access to common functions such as dial, SMS and new. The dial and SMS functions would use the preferred number of the contact unless otherwise specified.

+

+

[[Image:contacts-main-double-height.png]]

+

+

+

[[Image:contacts-search-keyboard.png]]

+

+

=== Details ===

+

+

The Details pane display the attributes of the selected contact. It has two modes: View and Edit. In view mode, tapping the attributes gives a list of possible actions. For example, tapping a phone number will display a menu with "Dial" and "Message" options.

+

+

In Edit mode, tapping the attributes allows the user to edit or remove the attribute. An extra row is also available to allow the user to add a new attribute.

+

+

[[Image:contacts-info.png]] [[Image:contacts-edit.png]]

+

+

+

=== History ===

+

+

This pane shows a list of the communication history with the currently selected contact.

+

+

[[Image:contacts-history.png]]

+

+

=== Groups ===

+

+

This pane allows the user to manage the groups the contact is associated with. It also allows for adding and removing groups.

The Navigation pane allows the user to locate existing contacts, either by filtering on a particular group of contacts, or by a text search on the contact name. The Navigation pane also allows quick access to common functions such as dial, SMS and new. The dial and SMS functions would use the preferred number of the contact unless otherwise specified.

The Details pane display the attributes of the selected contact. It has two modes: View and Edit. In view mode, tapping the attributes gives a list of possible actions. For example, tapping a phone number will display a menu with "Dial" and "Message" options.

In Edit mode, tapping the attributes allows the user to edit or remove the attribute. An extra row is also available to allow the user to add a new attribute.