Chapter #98. Messaging is a Solved Problem
Messaging has been done so many times and has been perfected to the point that the patterns are well-established. Yet, we still see products that have decided to reinvent the wheel or implement their own weird take on the messaging feature, causing confusion and user frustration aplenty.
Here's how it should work:
The messaging feature should show the number of unread messages
Using the messaging feature should show an "inbox", which contains a list of messages grouped by recipient and sorted by date last contacted
The inbox list should, if possible, show an extract from the last message sent in that thread
Viewing an item (a recipient) should show a list of all messages sent and received, with the latest messages first
Viewing an item should "clear" the unread notification and reduce the total number of unread items
There should be a text area or text input field with the message thread that sends a reply to that recipient
The message area should support...