Throughout the history of user interfaces, we’ve had a lot of metaphors used to make them easy to reason about. For instance, all computers have folders and files. It doesn’t cost you anything to create a new folder or a new file. You can put files in folders and folders within folders. It’s a metaphor that makes a lot of sense and it’s been with us for quite a while now.
Another metaphor we’ve had in user interfaces is mail. The idea behind this implementation of mail is a kind of old-school concept of what business correspondence looks like. You have a sender, receiver, and subject of the message. Then you also have the body of the message, which usually contains a salutation, some paragraphs of text, and then a signature.
This mail metaphor is what’s been used to make email happen. We’re now at the point where email is so heavy and we get so much of it that we just avoid it whenever we can. There’s too much mail coming in, you have to sort it, and every single message has an anxiety-inducing “read” status.
One thing that never really made it over when we started creating user interfaces for computers was a metaphor for linear information. We didn’t really implement anything like a telephone, radio, television, or walkie talkie. All of these involve channels: some of them public, some of them private.
It’s time for channels to be used as a user interface metaphor. With a channel, everything happens in real time. You can’t go back in time: everything is happening right now. You usually use a channel for one stream of conversation at a time, then you’re done with it and it can be reused again.
What I’d like to do is combine the metaphors of mail, folders, and channels into a concept I call Email Plus. You start off by creating a channel you are hosting. This channel acts similarly to a folder that presents information linearly. You give the channel a name, then you begin inviting people into the channel. You could invite one person, multiple people, companies, automated services, or any combination of those into this channel.
When you create the channel, you decide the rules for that channel. You have a license, which is presented to everyone for agreement. That license governs how information shared in the channel can be used. At the very least, you will want to stipulate that anything shared within the channel should be considered to be private information which should not be used outside of it.
Once you have this channel, you can use it to send anything you would normally send through email. By default, you’re sending just text messages, but you can also send files through it. What sets it apart from conventional email is that once you establish the channel, you can keep using it without having to come up with a new subject line every time. You also don’t have to do any sort of greeting within the body of your message or have a signature.
In addition to being reusable, it’s possible for people to be added to and removed from a channel. Invited participants accept their invitation and can participate in the channel as long as they’d like. If they decide they are no longer interested in the channel or are otherwise done using it, they can leave. This is an advantage over a conventional email thread where people are often included in conversations they are no longer interested in, but have no way of leaving.
Beyond sending text and attachments, channels can also be used to send form data. For instance, polls and surveys benefit from being presented as a set of predefined options to choose from. You can send these options in the channel on a form with buttons that can be selected.
Let’s say you are asking people to approve or disapprove of a decision. The poll can be sent as a form and then be presented as Approve and Disapprove buttons. This way, it’s very clean: everyone makes a selection, the selections come back as data, and the results can be summarized automatically. This eliminates communication overhead, making it possible to effortlessly switch between freeform discussion and structured data.
Another feature with these channels is that they can be used programmatically. So for instance, you can invite a service to a channel that can react to the data being sent. This service might allow you to shop, order takeout, or schedule a haircut. All of the ordering, scheduling, and payment can be handled within the channel.
The same channel can then be reused for other structured data messages, such as promotions. For instance, if I order takeout from a restaurant and they want to send me a coupon, they could send it to me as structured data. I can then decide if I want to be notified right away of coupons, if I want to be reminded of them around dinner time, or if I want them all to appear in a “coupon book” outside of the channel. The structured data could also include an expiration date that would be used to clear the promotion away after it has expired.
By implementing the metaphor of channels on top of email, we can tame the overwhelming tide of information being delivered to us, while staying present in conversations we care about. Forms and structured data can also help collect and sort information shared in a channel, while also presenting some possibilities for automation. Finally, rather than create a new email thread to establish each conversation, a channel can be reused and you can pick up right where you left off.