Design for more compact Contacts

An identified problem is that while it is very desirable (customer requests) that contacts support a diverse range of fields, our presentation of these fields sucks.

The principles of an ideal interface for contacts are:

The main problem with the current design is that when entering details, large amounts of data is presented as individual fields rather than using forms more familiar to humans.

Multi-field Widget

Implement a widget that combines the input of multiple fields into a QLineEdit or QMultiLineEdit, parsing them into the separate fields, but providing a way to edit and/or view the parsed result as individual fields. Support a wide range of input possibilities, including a very unambiguous form.

For names:

For addresses (linebreaks count; postal-code contains digits, state does not):

The user doesn't need to know this syntax: it usually "does what I mean", and when it doesn't, they are shown how to type entries such that it does. For example, someone who uses nicknames a lot will soon learn to enter "Robert (Bob) Dylan" (in reality they'll only bother doing this on a nice keyboard such as with Qtopia Desktop).

Rather than a "..." button, the lineedit should have a "Details..." option in its context menu, which brings up a small dialog allowing each field to be explicitly edited.

Note that the FileAs field is not even presented in the non-detail view, since only a tiny fraction of people need an additional identifying mark in their FileAs. The user chooses the FileAs form they like, and all but a few should automatically be set. The exceptions can be set in the Details dialog.

Compact phone fields

A contact can have very many possible phone contacts, and Qtopia currently supports 7 (if you include faxes and business pager); all of these are conceivable first-contact details and therefore belong on the first page, however in reality you usually only receive one or two phone details for a given person, especially in an on-the-go scenario. Therefore, there need only be one or two phone fields, but some way to say what sort of field they are: a combo box is the simply way. In some countries, it is possible to get a hint about the type of number from the leading digits.

Use menu for Emails

The "..." button should be removed from the Emails and instead put in the context menu. This saves having to tab over the rarely-used option.

Use a "business" hint

There are different needs when entering a business contact has different needs to a personal contact. For a business contact, you will often only have a single phone contact, but you will likely want to record their company name and job title. For a personal contact, you will often want to enter as many phone contacts as possible, but their company and jobtitle can be left on the ancillary pages.

Move key fields to first page

Once the name field (currently 9 fields) is compacted to a Multi-field widget, there is plenty of room on the first page for the key fields from other tabs. The first page becomes: Note that all the details except name and Emails are probably duplicated on the relevant Business and Home pages. Certainly the CompanyName and JobTitle must be if they are made invisible by the Business checkbox!