Improved New Message Flow
This UI concept revamps the new message flow, focusing on getting you right into a conversation opposed to having you add a contact first in order to initiate a conversation; if you want to just send a quick message the requirement to add a contact first is disruptive to that process, so this concept aims to address:
- quickly composing a new conversation
- starting conversations with any contact, including those not in your address book
- adding a contact to your address book from a new conversation
Composing a New Message
To compose a new message, from the main conversation list, one would tap the compose button to bring up the blank new message view/dialog:
And much like an email compose window, in this view you would be able to (in the
To: field) type to filter through your contacts or type in a new number/address that you would like to initiate a conversation with:
This would be agnostic to the chat protocol and would only interested in the address; the person you're trying to reach is the important aspect, the backend should be largely invisible and all results would look the same. Important information about the message thread, such as if it is SMS, unencrypted, etc. would be displayed at the beginning of the thread, see below for example.
Since this list would dynamically update with multiply addresses from your Contacts as you type, you should be able to select who you would like to start a message thread with including multiple selections in the event you wish to send the same message to multiple people.
Adding a New/Unknown Contact
After you have sent* a message to a new or unknown contact/address from the compose view you're taken directly to that conversation thread, where you can send/receive subsequent messages. It's from here where you can then add said person to your address book and an infobar would prompt you to do so–clicking the add button would bring you to Contacts app so you can add this person to your address book.
*Note: this view would be the same as if you received a message from a non-existing contact.