(IV B 1) Annotated Messages |
(III A 3) Awareness of Presence --- RonGoldman 4 Dec 2001 . . . the pattern TheContextOfOurLives (III A) provides for programs to act appropriately in different contexts. One of the most important aspects of any context is what people are involved. |
notes |
People are social creatures. We usually work or play with other people. It is important to us to know who those people are and what they are doing. When we are physically present with other people we keep track of who is where and doing what. If someone appears to be deep in thought or very busy, then we won't interrupt them. If they have left the room we notice that and don't walk over to talk to their empty desk. When we interact with people through our technology we currently lose this information. We have no way of knowing whether or not they are there to receive our phone call or email. Nor do we know if they have the time to read it. The reverse is also true: they have no idea if we are sitting in front of our computer or elsewhere. In fact it has been pointed out that the autoflush toilets in airports nowadays are more aware of you than your high-powered "personal" computer---at least the toilet knows whether you are using it or have left (and it acts accordingly). |
Problem: People want to be able to make notes or edit messages that they receive. |
Our computers' ignorance of us can be seen by the common scenario of where we start up a long task, such as printing a paper, then go away expecting the work to be finished when we return. Often we come back to find no work done and a dialog box requesting a meaningless confirmation. Had the program known we were gone, a more intelligent outcome may have resulted. Some systems, such as buddy lists, are starting to provide us with information about which of our friends or colleagues is currently online. We don't yet know what they are doing, but at least we know they are logged in. The Awarenex project at Sun Labs (http://research.sun.com/features/awarenex/index.html) is a system developed to help members of remote workgroups contact each other. At a glance, it makes it possible to tell if someone is active on their computer keyboard, talking on the phone, or engaged in an instant message conversation. It's a way to virtually peek into someone's office window to see if they are available. |
Do not treat received messages as static and immutable. Provide ways that people can annotate them with notes and comments. Allow the messages to be edited. |
Build into computers and other devices ways to sense if we are present and an indication of how active/busy we are. Provide ways for this information to be shared with others we interact with and utilized by programs we work with. |
We don't want everyone to have the same degree of access to this awareness information---I don't want telemarketers to know when I'm sitting by my phone---PrivacyGradient (III A 5). The information on how busy we are can be used so our computer knows when it's ok to interrupt us---InterruptionGradient (III A 6). This information is useful both to other people and to other software---PeopleTalkToPeopleMachinesTalkToMachines (I D) and AwayMessages (III A 4 a). Awareness of presence over time also shows up in weblogs or bulletin board type discussions where it is important to see who is taking part in the discussion---SmallWorkGroupsComeAndGo (II A) (III A 3) Awareness of Presence --- RichardGabriel 6 Jan 2002 . . . We want to ensure a TimelyResponse when people try to get in touch with us, and we sometimes also want to provide other, non-verbal clues about the way we have composed our messages . . . * * * When we are talking to another person, we can tell when he or she stops paying attention. The laws of physics and our senses combine to tell us that the person, let's say, has walked away, or started to talk to someone else, or has simply dozed off. The physical interaction patterns are part of the communication. If we observe someone thinking for a long time and speaking slowly, then we conclude the person is thinking carefully and speaking cautiously, perhaps to not say the wrong thing, or because the topic is sensitive or difficult. Without such clues, it would be much harder to interact with people who are in close proximity. With letters, we can usually assume that writer took some care, because there is a relatively difficult process of creating it involved: With handwritten letters, there is the tactile effort, and with computer-printed letters, there is the need to do the printing and a strong urge to proofread it that everyone seems to feel. When we are away from our computers, we may not answer even apparently urgent communications for quite a while. This can make us seem rude, impolite, careless, or insensitive. How we wish to appear when we step away should depend on who is trying to communicate and on our preferences. Textual electronic communications systems don't provide much in the way of cues about how the communication was composed. Sometimes there are lots of typos, which could mean haste. The passage of time means little unless the response is quick, in which case we know it was quick. The software that assists the composition of a Textual electronic communication knows quite a bit about the interaction of the writer with the software while composing the message. But a person may wish to use the fact that the recipient cannot see the composition-perhaps to send non-verbal signals as powerful as the words on the page. A passionate letter answered with a short note after a long delay indicates that the passion is not shared and communicates, possibly, a desire for the letter-writer to cool his or her passion. Therefore, Take advantage of the computer as surrogate eyes and ears for the recipient of a message. Arrange for the textual electronic communications software to know whether the recipient has stepped away, is busy working on something else without paying attention to received messages, has not been active on the computer all day or for days, or whether he or she seems to have stepped away for a few minutes. Arrange for the software to keep track of how much time and effort was spent on the response and arrange for it to provide annotations or other sorts of cues for the recipient of the response-was this a quickly composed note, did the writer pause frequently in one passage with perhaps many edits and changes. Make it so that the RhythmOfConversation is available to the software as well, in order for it to better cater to the way the correspondents interact. * * * The information noticed by the software can have a deep influence on how to complete DramaticEffect or Deep Emotion, GoAway, TimelyResponse, Workgroups (GroupDiscussions), SmallWorkGroupsComeAndGo, AwayMessages, PrivacyGradient, and InterruptionGradient. |
(III A 3) Awareness of Presence --- RonGoldman 4 Dec 2001 |
(III A 4 a) Away Messages --- JoshuaKerievsky 06 Dec 2001 |
. . . the pattern TheContextOfOurLives (III A) provides for programs to act appropriately in different contexts. One of the most important aspects of any context is what people are involved. |
... not only must our communications software be TimeSensitiveAndLocationSensitive (III A4), it must also know how to intelligently inform folks when we're not around. AwayMessages that are intelligent are never re-sent to the same individual or group---GroupDiscussions (II). |
People are social creatures. We usually work or play with other people. It is important to us to know who those people are and what they are doing. |
It is incredibly annoying to send a message to a group list and have some number of emails send to you from folks you've never heard of telling you how they're not in their office, but they'll be back on such and such a date. Who cares! |
When we are physically present with other people we keep track of who is where and doing what. If someone appears to be deep in thought or very busy, then we won't interrupt them. If they have left the room we notice that and don't walk over to talk to their empty desk. |
Yet most email programs are oblivious to group discussions---they are perfectly content to send an Away Message to anyone and everyone, with no limit on how many to send. So if you write 3 emails and send each of them to one email list, you can get 3 Away Messages from the same individual who is surely enjoying himself on some vacation. |
When we interact with people through our technology we currently lose this information. We have no way of knowing whether or not they are there to receive our phone call or email. Nor do we know if they have the time to read it. |
People want to send Away Messages so that when friends or loved ones or colleagues send them emails, they can be polite about not returning those emails. So the intention for using Away Messages is good. But the execution is awful---since email programs simply don't differentiate between those who we care to inform or don't care to inform. |
The reverse is also true: they have no idea if we are sitting in front of our computer or elsewhere. In fact it has been pointed out that the autoflush toilets in airports nowadays are more aware of you than your high-powered "personal" computer---at least the toilet knows whether you are using it or have left (and it acts accordingly). |
Therefore, |
Our computers' ignorance of us can be seen by the common scenario of where we start up a long task, such as printing a paper, then go away expecting the work to be finished when we return. Often we come back to find no work done and a dialog box requesting a meaningless confirmation. Had the program known we were gone, a more intelligent outcome may have resulted. |
Provide an Away Message Assistant that walks users through the process of setting up intelligent Away Messages. Make this Assistant understand when not to send an Away Message and how to send different Away Messages to different people and groups. |
Some systems, such as buddy lists, are starting to provide us with information about which of our friends or colleagues is currently online. We don't yet know what they are doing, but at least we know they are logged in. |
* * * |
The Awarenex project at Sun Labs (http://research.sun.com/features/awarenex/index.html) is a system developed to help members of remote workgroups contact each other. At a glance, it makes it possible to tell if someone is active on their computer keyboard, talking on the phone, or engaged in an instant message conversation. It's a way to virtually peek into someone's office window to see if they are available. |
Integrate Away Messages with chat programs---QuickChat (III B2) so that someone may can receive a meaningful Away Message when we step away from a chat. |
Therefore, |
Implement rich, expressive Away Messages using IntelligentFormLetters (III C2) and make it possible to set Away Messages from anywhere---UniversalAccess (III E). |
Build into computers and other devices ways to sense if we are present and an indication of how active/busy we are. Provide ways for this information to be shared with others we interact with and utilized by programs we work with. |
(III A 4 a) Gone Fishin' (was Away Messages) --- RonGoldman 12 Dec 2001 . . . an aspect of TheContextOfOurLives (III A) is that we are not always available to others. Our machines should know when we are present---AwarenessOfPresence (II A 3)---and also when we are not there---TimeSensitiveAndLocationSensitive (III A 4) or we do not want to be disturbed---InterruptionGradient (III A 6). |
We don't want everyone to have the same degree of access to this awareness information---I don't want telemarketers to know when I'm sitting by my phone---PrivacyGradient (III A 5). The information on how busy we are can be used so our computer knows when it's ok to interrupt us---InterruptionGradient (III A 6). This information is useful both to other people and to other software---PeopleTalkToPeopleMachinesTalkToMachines (I D) and AwayMessages (III A 4 a). Awareness of presence over time also shows up in weblogs or bulletin board type discussions where it is important to see who is taking part in the discussion---SmallWorkGroupsComeAndGo (II A) |
Sometimes we are away from our machines for periods of time and out of touch with those that may be trying to reach us. |
|
As social animals people need to maintain their connections with other individuals. When we cannot reach someone we want to know where they are, what they are doing, if there is another way to reach them and when we might be able to contact them. When we are away we want our friends to know so and not think that we are ignoring their messages. Nowadays most Americans have an answering machine connected to their phone. When they are out or don't want to answer the phone, their answering machine let's callers know they have reached the correct number and that no one is available to talk to them. When people try to reach us using other technology such as email or chat, our software should be able to let them know that we are away. At the old Stanford AI Lab people used the finger program to check if other people were there. Finger reported back if they were logged in and if so, when they had last typed on their keyboard. If they were not logged in finger reported when they had last used the computer and then printed their "plan" message that often told when they were likely to be around and if they were away on a trip. Many email programs have a feature that people can enable when they go on vacation. When set, any incoming email causes a note to be sent saying they are away. Unfortunately most email clients are rather stupid and always send the message even when it is not appropriate. More intelligent programs keep track of who they have sent a message to, and so anyone sending several messages to the absent person will only receive one notification of their being away. |
(III A 3) Awareness of Presence --- RichardGabriel 6 Jan 2002 |
These away messages are inappropriate when they do not take into account who has sent them. We don't want the same away message to go to our close friends, to our colleagues and to complete strangers---let alone to those sending us spam! Our machines can easily distinguish among people trying to reach us and provide them the appropriate information, if any. |
. . . We want to ensure a TimelyResponse when people try to get in touch with us, and we sometimes also want to provide other, non-verbal clues about the way we have composed our messages . . . |
When away messages are sent in reply to notes sent to a mailing list it is also usually inappropriate. People posting to a mailing list generally do not care about any specific individual on the list; they are talking to the group as a whole. For some small lists, such as a small work group, that are more personal, an away message might be appropriate. Therefore, Make our machines able to intelligently act for us when we are away. Have them send appropriate information to those trying to reach us. |
When we are talking to another person, we can tell when he or she stops paying attention. The laws of physics and our senses combine to tell us that the person, let's say, has walked away, or started to talk to someone else, or has simply dozed off. |
Let a person indicate who is important to them---InnerCircle (III A 7)---and what sort of message they should be sent. Mark all messages with some type of meta information so that an email program can distinguish between messages sent by an individual, by a mailing list (and which one), and by a bulk mailing (spam). In that way our machine intermediaries can act appropriately---PeopleTalkToPeopleMachinesTalkToMachines (I D). Email clients can obtain information from calendar programs to know when and where a person has gone---GoodIntegrationWithOtherTools (V A). |
The physical interaction patterns are part of the communication. If we observe someone thinking for a long time and speaking slowly, then we conclude the person is thinking carefully and speaking cautiously, perhaps to not say the wrong thing, or because the topic is sensitive or difficult. Without such clues, it would be much harder to interact with people who are in close proximity. With letters, we can usually assume that writer took some care, because there is a relatively difficult process of creating it involved: With handwritten letters, there is the tactile effort, and with computer-printed letters, there is the need to do the printing and a strong urge to proofread it that everyone seems to feel. |
(III A 4 a) Away Messages --- RichardGabriel 5 Jan 2002 . . . textual electronic communications takes place within TheContextOfOurLives, because NoManIsAnIsland. We wish to take heed of when there is cross-entity communication-machines to people and people to machines (PeopleTalkToPeopleMachinesTalkToMachines). We want to ensure a TimelyResponse when people try to get in touch with us. The situation may be complicated because we also engage in QuickChat, for which we desire our software to have an AwarenessOfPresence, and in Workgroups (GroupDiscussions) where the rules of politeness and presence are different from ordinary electronic communications . . . * * * |
When we are away from our computers, we may not answer even apparently urgent communications for quite a while. This can make us seem rude, impolite, careless, or insensitive. How we wish to appear when we step away should depend on who is trying to communicate and on our preferences. |
We want to be responsive to people trying to communicate with us, but sometimes we are unable to respond quickly-either because we are not near a communication device, are too busy, or simply have stepped away. To be polite, we want our machines to respond to messages in such situations in order to inform correspondents that we are temporarily unable to answer rather than letting our silence appear as rudeness. |
Textual electronic communications systems don't provide much in the way of cues about how the communication was composed. Sometimes there are lots of typos, which could mean haste. The passage of time means little unless the response is quick, in which case we know it was quick. The software that assists the composition of a Textual electronic communication knows quite a bit about the interaction of the writer with the software while composing the message. |
On the other hand, we may be subscribed to mailings lists as part of a workgroup in which vacation messages are as unwelcome as spam. Here, rather than appearing polite and considerate by having our machines respond to messages, we will appear rude or even stupid. With commonly used email clients, people are currently forced to set up a complicated set of mail filters, typically by hand, in order to filter out vacation messages, and setting up such messages to recognize such only messages from mailing lists is too difficult if not impossible. |
But a person may wish to use the fact that the recipient cannot see the composition-perhaps to send non-verbal signals as powerful as the words on the page. A passionate letter answered with a short note after a long delay indicates that the passion is not shared and communicates, possibly, a desire for the letter-writer to cool his or her passion. |
When we are engaged in a chat, we might step away from the computer-to get a cup of coffee, inspect the plumbing, or unexpectedly wash the cat-and would like the computer to notice our general inactivity and respond to an instant message with a stepped-away message. |
Take advantage of the computer as surrogate eyes and ears for the recipient of a message. Arrange for the textual electronic communications software to know whether the recipient has stepped away, is busy working on something else without paying attention to received messages, has not been active on the computer all day or for days, or whether he or she seems to have stepped away for a few minutes. |
Arrange for your textual electronic communications system to easily set up intelligent away messages---messages that go to the people you want and not to mailing lists or others for whom such messages might not be welcome. |
Arrange for the software to keep track of how much time and effort was spent on the response and arrange for it to provide annotations or other sorts of cues for the recipient of the response-was this a quickly composed note, did the writer pause frequently in one passage with perhaps many edits and changes. Make it so that the RhythmOfConversation is available to the software as well, in order for it to better cater to the way the correspondents interact. |
Away messages should work with chat sessions or instant messaging as well, perhaps as a quick check off that says the respondent is temporarily occupied and perhaps by the machine noticing that the respondent is inactive after some period. This wouldn't be like a vacation message, since the expected delay in response is more likely to be minutes than days or longer. |
The information noticed by the software can have a deep influence on how to complete DramaticEffect or Deep Emotion, GoAway, TimelyResponse, Workgroups (GroupDiscussions), SmallWorkGroupsComeAndGo, AwayMessages, PrivacyGradient, and InterruptionGradient. |
Implement rich, expressive Away Messages using IntelligentFormLetters and make it possible to set up Away Messages from anywhere---UniversalAccess. |
(III A 4 a) Away Messages --- JoshuaKerievsky 06 Dec 2001 |
(III D) Cheaper --- RichardGabriel 1 Dec 2001 |
... not only must our communications software be TimeSensitiveAndLocationSensitive (III A4), it must also know how to intelligently inform folks when we're not around. AwayMessages that are intelligent are never re-sent to the same individual or group---GroupDiscussions (II). |
. . . You want to communicate with someone far away but have no money for it or don't like to spend it. . . |
It is incredibly annoying to send a message to a group list and have some number of emails send to you from folks you've never heard of telling you how they're not in their office, but they'll be back on such and such a date. Who cares! |
We all have friends who live far away. The American culture from the beginning of our country has been based on a continued and continuously renewed push from East to West, which has spread families from coast to coast. We yearn to go to school somewhere else, and we find our loves and livelihoods there and move in. So we want to communicate. |
Yet most email programs are oblivious to group discussions---they are perfectly content to send an Away Message to anyone and everyone, with no limit on how many to send. So if you write 3 emails and send each of them to one email list, you can get 3 Away Messages from the same individual who is surely enjoying himself on some vacation. People want to send Away Messages so that when friends or loved ones or colleagues send them emails, they can be polite about not returning those emails. So the intention for using Away Messages is good. But the execution is awful---since email programs simply don't differentiate between those who we care to inform or don't care to inform. Therefore, Provide an Away Message Assistant that walks users through the process of setting up intelligent Away Messages. Make this Assistant understand when not to send an Away Message and how to send different Away Messages to different people and groups. * * * Integrate Away Messages with chat programs---QuickChat (III B2) so that someone may can receive a meaningful Away Message when we step away from a chat. Implement rich, expressive Away Messages using IntelligentFormLetters (III C2) and make it possible to set Away Messages from anywhere---UniversalAccess (III E). (III A 4 a) Gone Fishin' (was Away Messages) --- RonGoldman 12 Dec 2001 . . . an aspect of TheContextOfOurLives (III A) is that we are not always available to others. Our machines should know when we are present---AwarenessOfPresence (II A 3)---and also when we are not there---TimeSensitiveAndLocationSensitive (III A 4) or we do not want to be disturbed---InterruptionGradient (III A 6). * * * Sometimes we are away from our machines for periods of time and out of touch with those that may be trying to reach us. As social animals people need to maintain their connections with other individuals. When we cannot reach someone we want to know where they are, what they are doing, if there is another way to reach them and when we might be able to contact them. When we are away we want our friends to know so and not think that we are ignoring their messages. Nowadays most Americans have an answering machine connected to their phone. When they are out or don't want to answer the phone, their answering machine let's callers know they have reached the correct number and that no one is available to talk to them. When people try to reach us using other technology such as email or chat, our software should be able to let them know that we are away. At the old Stanford AI Lab people used the finger program to check if other people were there. Finger reported back if they were logged in and if so, when they had last typed on their keyboard. If they were not logged in finger reported when they had last used the computer and then printed their "plan" message that often told when they were likely to be around and if they were away on a trip. Many email programs have a feature that people can enable when they go on vacation. When set, any incoming email causes a note to be sent saying they are away. Unfortunately most email clients are rather stupid and always send the message even when it is not appropriate. More intelligent programs keep track of who they have sent a message to, and so anyone sending several messages to the absent person will only receive one notification of their being away. These away messages are inappropriate when they do not take into account who has sent them. We don't want the same away message to go to our close friends, to our colleagues and to complete strangers---let alone to those sending us spam! Our machines can easily distinguish among people trying to reach us and provide them the appropriate information, if any. When away messages are sent in reply to notes sent to a mailing list it is also usually inappropriate. People posting to a mailing list generally do not care about any specific individual on the list; they are talking to the group as a whole. For some small lists, such as a small work group, that are more personal, an away message might be appropriate. |
We don't like bills or paying by the minute to do something that's reflective. Why pay to sit and think between words or phrases? Or we don't like to pay, period. |
Make our machines able to intelligently act for us when we are away. Have them send appropriate information to those trying to reach us. * * * Let a person indicate who is important to them---InnerCircle (III A 7)---and what sort of message they should be sent. Mark all messages with some type of meta information so that an email program can distinguish between messages sent by an individual, by a mailing list (and which one), and by a bulk mailing (spam). In that way our machine intermediaries can act appropriately---PeopleTalkToPeopleMachinesTalkToMachines (I D). Email clients can obtain information from calendar programs to know when and where a person has gone---GoodIntegrationWithOtherTools (V A). (III A 4 a) Away Messages --- RichardGabriel 5 Jan 2002 . . . textual electronic communications takes place within TheContextOfOurLives, because NoManIsAnIsland. We wish to take heed of when there is cross-entity communication-machines to people and people to machines (PeopleTalkToPeopleMachinesTalkToMachines). We want to ensure a TimelyResponse when people try to get in touch with us. The situation may be complicated because we also engage in QuickChat, for which we desire our software to have an AwarenessOfPresence, and in Workgroups (GroupDiscussions) where the rules of politeness and presence are different from ordinary electronic communications . . . |
Use some form of textual electronic communication. It's a local call, which seems to cost nothing because it's part of a monthly fee you pay whether you use it or not, or it's a connection to the Internet that is paid for by the month. It's cheap and you can spend time thinking. |
We want to be responsive to people trying to communicate with us, but sometimes we are unable to respond quickly-either because we are not near a communication device, are too busy, or simply have stepped away. To be polite, we want our machines to respond to messages in such situations in order to inform correspondents that we are temporarily unable to answer rather than letting our silence appear as rudeness. On the other hand, we may be subscribed to mailings lists as part of a workgroup in which vacation messages are as unwelcome as spam. Here, rather than appearing polite and considerate by having our machines respond to messages, we will appear rude or even stupid. With commonly used email clients, people are currently forced to set up a complicated set of mail filters, typically by hand, in order to filter out vacation messages, and setting up such messages to recognize such only messages from mailing lists is too difficult if not impossible. When we are engaged in a chat, we might step away from the computer-to get a cup of coffee, inspect the plumbing, or unexpectedly wash the cat-and would like the computer to notice our general inactivity and respond to an instant message with a stepped-away message. Therefore, Arrange for your textual electronic communications system to easily set up intelligent away messages---messages that go to the people you want and not to mailing lists or others for whom such messages might not be welcome. Away messages should work with chat sessions or instant messaging as well, perhaps as a quick check off that says the respondent is temporarily occupied and perhaps by the machine noticing that the respondent is inactive after some period. This wouldn't be like a vacation message, since the expected delay in response is more likely to be minutes than days or longer. * * * Implement rich, expressive Away Messages using IntelligentFormLetters and make it possible to set up Away Messages from anywhere---UniversalAccess. |
It's also faster (TimelyResponse). And people tend to pay attention to email when they won't to most else. |
Away Messages --- JoshuaKerievsky 06 Dec 2001 |
Cheaper --- RichardGabriel 1 Dec 2001 |
... not only must our communications software be TimeSensitiveAndLocationSensitive, it must also know how to intelligently inform folks when we're not around. AwayMessages that are intelligent are never re-sent to the same individual or group---GroupDiscussions. |
. . . You want to communicate with someone far away but have no money for it or don't like to spend it. . . |
It is incredibly annoying to send a message to a group list and have some number of emails send to you from folks you've never heard of telling you how they're not in their office, but they'll be back on such and such a date. Who cares! |
We all have friends who live far away. The American culture from the beginning of our country has been based on a continued and continuously renewed push from East to West, which has spread families from coast to coast. We yearn to go to school somewhere else, and we find our loves and livelihoods there and move in. So we want to communicate. |
Yet most email programs are oblivious to group discussions---they are perfectly content to send an Away Message to anyone and everyone, with no limit on how many to send. So if you write 3 emails and send each of them to one email list, you can get 3 Away Messages from the same individual who is surely enjoying himself on some vacation. People want to send Away Messages so that when friends or loved ones or colleagues send them emails, they can be polite about not returning those emails. So the intention for using Away Messages is good. But the execution is awful---since email programs simply don't differentiate between those who we care to inform or don't care to inform. Therefore, Provide an Away Message Assistant that walks users through the process of setting up intelligent Away Messages. Make this Assistant understand when not to send an Away Message and how to send different Away Messages to different people and groups. * * * Integrate Away Messages with chat programs---QuickChat so that someone may can receive a meaningful Away Message when we step away from a chat. Implement rich, expressive Away Messages using IntelligentFormLetters and make it possible to set Away Messages from anywhere---UniversalAccess. Gone Fishin' (was Away Messages) --- RonGoldman 12 Dec 2001 . . . an aspect of TheContextOfOurLives is that we are not always available to others. Our machines should know when we are present---AwarenessOfPresence---and also when we are not there---TimeSensitiveAndLocationSensitive or we do not want to be disturbed---InterruptionGradient. * * * Sometimes we are away from our machines for periods of time and out of touch with those that may be trying to reach us. As social animals people need to maintain their connections with other individuals. When we cannot reach someone we want to know where they are, what they are doing, if there is another way to reach them and when we might be able to contact them. When we are away we want our friends to know so and not think that we are ignoring their messages. Nowadays most Americans have an answering machine connected to their phone. When they are out or don't want to answer the phone, their answering machine let's callers know they have reached the correct number and that no one is available to talk to them. When people try to reach us using other technology such as email or chat, our software should be able to let them know that we are away. At the old Stanford AI Lab people used the finger program to check if other people were there. Finger reported back if they were logged in and if so, when they had last typed on their keyboard. If they were not logged in finger reported when they had last used the computer and then printed their "plan" message that often told when they were likely to be around and if they were away on a trip. Many email programs have a feature that people can enable when they go on vacation. When set, any incoming email causes a note to be sent saying they are away. Unfortunately most email clients are rather stupid and always send the message even when it is not appropriate. More intelligent programs keep track of who they have sent a message to, and so anyone sending several messages to the absent person will only receive one notification of their being away. These away messages are inappropriate when they do not take into account who has sent them. We don't want the same away message to go to our close friends, to our colleagues and to complete strangers---let alone to those sending us spam! Our machines can easily distinguish among people trying to reach us and provide them the appropriate information, if any. When away messages are sent in reply to notes sent to a mailing list it is also usually inappropriate. People posting to a mailing list generally do not care about any specific individual on the list; they are talking to the group as a whole. For some small lists, such as a small work group, that are more personal, an away message might be appropriate. |
We don't like bills or paying by the minute to do something that's reflective. Why pay to sit and think between words or phrases? Or we don't like to pay, period. |
Make our machines able to intelligently act for us when we are away. Have them send appropriate information to those trying to reach us. * * * Let a person indicate who is important to them---InnerCircle---and what sort of message they should be sent. Mark all messages with some type of meta information so that an email program can distinguish between messages sent by an individual, by a mailing list (and which one), and by a bulk mailing (spam). In that way our machine intermediaries can act appropriately---PeopleTalkToPeopleMachinesTalkToMachines. Email clients can obtain information from calendar programs to know when and where a person has gone---GoodIntegrationWithOtherTools. Away Messages --- RichardGabriel 5 Jan 2002 . . . textual electronic communications takes place within TheContextOfOurLives, because NoManIsAnIsland. We wish to take heed of when there is cross-entity communication-machines to people and people to machines (PeopleTalkToPeopleMachinesTalkToMachines). We want to ensure a TimelyResponse when people try to get in touch with us. The situation may be complicated because we also engage in QuickChat, for which we desire our software to have an AwarenessOfPresence, and in Workgroups (GroupDiscussions) where the rules of politeness and presence are different from ordinary electronic communications . . . |
Use some form of textual electronic communication. It's a local call, which seems to cost nothing because it's part of a monthly fee you pay whether you use it or not, or it's a connection to the Internet that is paid for by the month. It's cheap and you can spend time thinking. |
We want to be responsive to people trying to communicate with us, but sometimes we are unable to respond quickly-either because we are not near a communication device, are too busy, or simply have stepped away. To be polite, we want our machines to respond to messages in such situations in order to inform correspondents that we are temporarily unable to answer rather than letting our silence appear as rudeness. On the other hand, we may be subscribed to mailings lists as part of a workgroup in which vacation messages are as unwelcome as spam. Here, rather than appearing polite and considerate by having our machines respond to messages, we will appear rude or even stupid. With commonly used email clients, people are currently forced to set up a complicated set of mail filters, typically by hand, in order to filter out vacation messages, and setting up such messages to recognize such only messages from mailing lists is too difficult if not impossible. When we are engaged in a chat, we might step away from the computer-to get a cup of coffee, inspect the plumbing, or unexpectedly wash the cat-and would like the computer to notice our general inactivity and respond to an instant message with a stepped-away message. Therefore, Arrange for your textual electronic communications system to easily set up intelligent away messages---messages that go to the people you want and not to mailing lists or others for whom such messages might not be welcome. Away messages should work with chat sessions or instant messaging as well, perhaps as a quick check off that says the respondent is temporarily occupied and perhaps by the machine noticing that the respondent is inactive after some period. This wouldn't be like a vacation message, since the expected delay in response is more likely to be minutes than days or longer. * * * Implement rich, expressive Away Messages using IntelligentFormLetters and make it possible to set up Away Messages from anywhere---UniversalAccess. |
It's also faster (TimelyResponse). And people tend to pay attention to email when they won't to most else. |
(III D) Cheaper --- RichardGabriel 1 Dec 2001 |
(III 8) Communication Door --- JoshuaKerievsky 03 Jan 2002 |
. . . You want to communicate with someone far away but have no money for it or don't like to spend it. . . |
. . . our communications software will not fully serve our needs---PrivacyGradient, InterruptionGradient---until it knows how to distinguish messages we care about from messages we don't. This is particularly true of advertisements, which are often cast as a StylizedLetter. |
We all have friends who live far away. The American culture from the beginning of our country has been based on a continued and continuously renewed push from East to West, which has spread families from coast to coast. We yearn to go to school somewhere else, and we find our loves and livelihoods there and move in. So we want to communicate. |
Junk email distracts and disgusts us, delays us from doing our work and is delivered to some of us on a daily or hourly basis. Yet most email software provides little to no defence from it. |
We don't like bills or paying by the minute to do something that's reflective. Why pay to sit and think between words or phrases? Or we don't like to pay, period. |
Junk email is on the rise. 30 messages arrived in Joe's in-box the other day. 28 of them were junk emails, 2 of them were not. The Junk emails are particularly problematic because they are StylizedLetters, that can often be repulsive or highly distracting. So not only do people have to waste time waiting downloading junk email, they also have to interact with it as they routinely delete it. If we want our software to really serve our needs, we need it to protect us from such junk. Yet the protection we need must be smart enough to filter out junk, while letting new individuals reach us. This isn't as hard to do as it may seem. First, our communications software can easily know with whom we regularly interact. With that knowledge, it can easily and automatically filter messages from known entities and unknown entities into different in-boxes. That would make for an improvement, but it would still leave us with the burden of having to check the unknown-person in-box to see if it contains junk or actual messages from new people or groups about whom we care. What we need is some way to distinguish junk messages from genuine messages, and traditional filters aren't the answer. The solution is to automate this process as much as possible and rely on human intelligence for the rest. |
Use some form of textual electronic communication. It's a local call, which seems to cost nothing because it's part of a monthly fee you pay whether you use it or not, or it's a connection to the Internet that is paid for by the month. It's cheap and you can spend time thinking. |
Create a door in communication software that functions like a real door: granting access to those who have a key or know a particular kind of knock, and not granting access to anyone else. When an email from a stranger is received, automatically reply with a question, and if the sender returns a suitable response to the question, then open the communication door to them. Also make it possible to take away someone's ability to enter your communication door. |
It's also faster (TimelyResponse). And people tend to pay attention to email when they won't to most else. |
Ideally, a Communication Door could function on a server, so that individuals would not need to download possible junk emails. One would want their Communication Door to present, regardless of what machine they are on (UniversalAccess). The Communication Door must understand that messages from strangers who have joined a known list are ok to download (SmallWorkGroupsComeAndGo), but the list itself may also need a Communication Door to prevent being overrun by junk. |
Cheaper --- RichardGabriel 1 Dec 2001 |
Communication Door --- JoshuaKerievsky 03 Jan 2002 |
. . . You want to communicate with someone far away but have no money for it or don't like to spend it. . . |
. . . our communications software will not fully serve our needs---PrivacyGradient, InterruptionGradient---until it knows how to distinguish messages we care about from messages we don't. This is particularly true of advertisements, which are often cast as a StylizedLetter. |
We all have friends who live far away. The American culture from the beginning of our country has been based on a continued and continuously renewed push from East to West, which has spread families from coast to coast. We yearn to go to school somewhere else, and we find our loves and livelihoods there and move in. So we want to communicate. |
Junk email distracts and disgusts us, delays us from doing our work and is delivered to some of us on a daily or hourly basis. Yet most email software provides little to no defence from it. |
We don't like bills or paying by the minute to do something that's reflective. Why pay to sit and think between words or phrases? Or we don't like to pay, period. |
Junk email is on the rise. 30 messages arrived in Joe's in-box the other day. 28 of them were junk emails, 2 of them were not. The Junk emails are particularly problematic because they are StylizedLetters, that can often be repulsive or highly distracting. So not only do people have to waste time waiting downloading junk email, they also have to interact with it as they routinely delete it. If we want our software to really serve our needs, we need it to protect us from such junk. Yet the protection we need must be smart enough to filter out junk, while letting new individuals reach us. This isn't as hard to do as it may seem. First, our communications software can easily know with whom we regularly interact. With that knowledge, it can easily and automatically filter messages from known entities and unknown entities into different in-boxes. That would make for an improvement, but it would still leave us with the burden of having to check the unknown-person in-box to see if it contains junk or actual messages from new people or groups about whom we care. What we need is some way to distinguish junk messages from genuine messages, and traditional filters aren't the answer. The solution is to automate this process as much as possible and rely on human intelligence for the rest. |
Use some form of textual electronic communication. It's a local call, which seems to cost nothing because it's part of a monthly fee you pay whether you use it or not, or it's a connection to the Internet that is paid for by the month. It's cheap and you can spend time thinking. |
Create a door in communication software that functions like a real door: granting access to those who have a key or know a particular kind of knock, and not granting access to anyone else. When an email from a stranger is received, automatically reply with a question, and if the sender returns a suitable response to the question, then open the communication door to them. Also make it possible to take away someone's ability to enter your communication door. |
It's also faster (TimelyResponse). And people tend to pay attention to email when they won't to most else. |
Ideally, a Communication Door could function on a server, so that individuals would not need to download possible junk emails. One would want their Communication Door to present, regardless of what machine they are on (UniversalAccess). The Communication Door must understand that messages from strangers who have joined a known list are ok to download (SmallWorkGroupsComeAndGo), but the list itself may also need a Communication Door to prevent being overrun by junk. |
(III 8) Communication Door --- JoshuaKerievsky 03 Jan 2002 |
(III C) Conveniences for Fast Work |
. . . our communications software will not fully serve our needs---PrivacyGradient, InterruptionGradient---until it knows how to distinguish messages we care about from messages we don't. This is particularly true of advertisements, which are often cast as a StylizedLetter. * * * Junk email distracts and disgusts us, delays us from doing our work and is delivered to some of us on a daily or hourly basis. Yet most email software provides little to no defence from it. Junk email is on the rise. 30 messages arrived in Joe's in-box the other day. 28 of them were junk emails, 2 of them were not. The Junk emails are particularly problematic because they are StylizedLetters, that can often be repulsive or highly distracting. So not only do people have to waste time waiting downloading junk email, they also have to interact with it as they routinely delete it. If we want our software to really serve our needs, we need it to protect us from such junk. Yet the protection we need must be smart enough to filter out junk, while letting new individuals reach us. This isn't as hard to do as it may seem. First, our communications software can easily know with whom we regularly interact. With that knowledge, it can easily and automatically filter messages from known entities and unknown entities into different in-boxes. That would make for an improvement, but it would still leave us with the burden of having to check the unknown-person in-box to see if it contains junk or actual messages from new people or groups about whom we care. What we need is some way to distinguish junk messages from genuine messages, and traditional filters aren't the answer. The solution is to automate this process as much as possible and rely on human intelligence for the rest. Therefore, Create a door in communication software that functions like a real door: granting access to those who have a key or know a particular kind of knock, and not granting access to anyone else. When an email from a stranger is received, automatically reply with a question, and if the sender returns a suitable response to the question, then open the communication door to them. Also make it possible to take away someone's ability to enter your communication door. * * * Ideally, a Communication Door could function on a server, so that individuals would not need to download possible junk emails. One would want their Communication Door to present, regardless of what machine they are on (UniversalAccess). The Communication Door must understand that messages from strangers who have joined a known list are ok to download (SmallWorkGroupsComeAndGo), but the list itself may also need a Communication Door to prevent being overrun by junk. |
no versions written yet |
(III C) Conveniences for Fast Work |
(IV A 1) Conversations (threading) --- RichardGabriel 22 Dec 2001 ... In TheContextOfOurLives every interchange has its own RhythmOfConversation. People expect a TimelyResponse, even when working in a Workgroup (GroupDiscussions)... * * * Electronic communication is so effective that people will sometimes carry on a discussion almost as if they were sitting together in the same room, perhaps over coffee around a table. But two things get in the way that don't in most face-to-face discussions: People will apparently stop their end of the discussion, and other discussions will be going on at the same time. These are both the result of the virtual nature of the conversations: Even though some conversations proceed nearly in real time, others are spaced out because discussants are doing other tasks while occasionally attending to the messages that make up a coherent conversation, and this causes other conversations to be interspersed with each other. Most electronic textual communications systems receive messages in the order they are received, and some can display them in different orders or grouped by certain similarities-such as alphabetically by sender. But this can help only to some extent because the conversation threads are tangled. The same people can be involved in several conversations at the same time with overlapping people, And sometimes other apparently fixed and useful grouping indicators such as the subjects of messages will change over time as the topics of conversation change over time. Therefore, Make it possible for conversations to be kept separate from each other by textual electronic communications systems, especially clients. Make it possible to see clearly which messages were in response to which other and to understand easily the temporal flow of the discussion. Enable everyone to be able to see all the different views. This can sometimes be accomplished mostly by automatic means if there were an inter-client protocol for describing the relationships between messages so that an accurate representation of the message graph can be built in each recipient client. * * * People will want to do many things with conversations: put them in Archives, annotate them (AnnotatedMessages), label them (FlaggedMessages), and work with them in various ways (GoodIntegrationWithOtherTools). People will want to join and leave such discussions (SmallWorkGroupsComeAndGo, EasyToUnsubscribe), provide them to observers in the form of Digests (MorningPaper) |
no versions written yet |
(III B 6) Ease of Shifting Modality, e.g. phone |
(V C) Easy to Unsubscribe --- RonGoldman 6 Feb 2002 . . . in the course of GroupDiscussions (II) the participants will come and go. Just as it must be easy for someone to join a conversation, it must also be easy for them to later leave it. * * * A conversation starts by people getting together and ends when we separate. This works fine when we get together in a physical location---leaving the room ends the conversation---or use a medium like a telephone---hanging up disconnects. When instead the conversation comes to us, as does email on a mailing list, then we cannot end the conversation by ourselves, instead to leave the conversation requires action by someone (or something) else. A computer mailing list is like a subscription to a periodical. Indeed we talk of subscribing to a mailing list, a daily collection of messages is a Digest (MorningPaper IV A 4), and to leave we "unsubscribe". However each mailing list has its own unique way of ending a person's subscription. When we joined the mailing list we probably did it by interacting with a web page, or maybe someone else signed us up---SmallWorkGroupsComeAndGo (II A). When we want to leave it may be many months or years later and most folks will not remember the process they used to subscribe, and besides the subscription method often is unrelated to the process to unsubscribe. For most mailing lists there is some email address that one can send a special message to---usually with the word "unsubscribe" as the text---that will remove one from the mailing list. A simple procedure, but one that is anything but simple to a vast number of people as witnessed by the huge number of such unsubscribe messages that get sent to the mailing list by mistake. This happens even on mailing lists where each message sent to the list includes, appended to the end, instructions on how to unsubscribe. It is somewhat comic to receive a message from someone clearly trying to unsubscribe that includes directions on what they should have done. The typical computer-oriented response is to somehow provide better instructions---put them at the start of every message on the list in blinking, bold text! The errant user must be taught to adapt to the world of the computer. Maybe it is time to try another approach. Therefore, Design systems for electronic conversation keeping in mind the entire lifecycle of a conversation. Make it easy for someone to join a conversation and make it easy for them to leave it. Don't require users to know the details of the way the electronic medium (program) works. * * * Having the information about how to unsubscribe included in MetaInformation (IV B) can enable the receiver's email client to take care of the details of unsubscribing---an example of PeopleTalkToPeopleMachinesTalkToMachines (I D). |
no versions written yet |
Note: An example is when you are emailing and decide to go chat, then you would want to capture the chat in the thread of the email. |
(V C) Easy to Unsubscribe --- RonGoldman 6 Feb 2002 |
(V B) Editing Ease --- RichardGabriel 6 Dec 2001 |
. . . in the course of GroupDiscussions (II) the participants will come and go. Just as it must be easy for someone to join a conversation, it must also be easy for them to later leave it. |
. . . When people are trying to communicate they want their tools to be natural and non-intrusive (LowOverheadMessages, RhythmOfConversation, TheContextOfOurLives). To many designers this means that the windows, buttons, menus, pop-ups, and dialogue boxes should be well designed and well tested. But it means much more than that because the experience of using the tool extends down to the visual presentation of text on the screen, its formatting, and the editing commands . . . |
A conversation starts by people getting together and ends when we separate. This works fine when we get together in a physical location---leaving the room ends the conversation---or use a medium like a telephone---hanging up disconnects. When instead the conversation comes to us, as does email on a mailing list, then we cannot end the conversation by ourselves, instead to leave the conversation requires action by someone (or something) else. |
The experience of a software tool extends down to the smallest physical detail. The fonts on the screen down to the pixel level, the tint of the electronic paper being typed on, the feel of the keyboard and keys beneath the fingers, the height and angle of the keyboard, and the physical size and smoothness of the pointing device. |
A computer mailing list is like a subscription to a periodical. Indeed we talk of subscribing to a mailing list, a daily collection of messages is a Digest (MorningPaper IV A 4), and to leave we "unsubscribe". However each mailing list has its own unique way of ending a person's subscription. When we joined the mailing list we probably did it by interacting with a web page, or maybe someone else signed us up---SmallWorkGroupsComeAndGo (II A). When we want to leave it may be many months or years later and most folks will not remember the process they used to subscribe, and besides the subscription method often is unrelated to the process to unsubscribe. |
One thing often overlooked by designers of interactive software is that fact that people can develop an affinity to specific keyboards, pointing devices, fonts, white-paper color, and editing commands. Many designers use the text editing structure of the underlying platform, meaning the operating system, while the designers of that system have sometimes simplified, reasoning that application writers will supply better editing tools. |
For most mailing lists there is some email address that one can send a special message to---usually with the word "unsubscribe" as the text---that will remove one from the mailing list. A simple procedure, but one that is anything but simple to a vast number of people as witnessed by the huge number of such unsubscribe messages that get sent to the mailing list by mistake. This happens even on mailing lists where each message sent to the list includes, appended to the end, instructions on how to unsubscribe. It is somewhat comic to receive a message from someone clearly trying to unsubscribe that includes directions on what they should have done. |
Computer hardware is designed for people to plug in their own input devices and monitors, but this is rarely the case for software devices. |
The typical computer-oriented response is to somehow provide better instructions---put them at the start of every message on the list in blinking, bold text! The errant user must be taught to adapt to the world of the computer. Maybe it is time to try another approach. |
Some textual communication systems require people to move their hands off the keyboard to a pointing device or arrow keys to navigate while other systems provide chordal navigation commands that allow the typist to leave their hands in typing position. Writing textual communications is one of the most commonly done editing tasks, so you should provide the person with his or her most comfortable editing commands and features |
Design systems for electronic conversation keeping in mind the entire lifecycle of a conversation. Make it easy for someone to join a conversation and make it easy for them to leave it. Don't require users to know the details of the way the electronic medium (program) works. |
Do what you can to make it so that editing and other user-input software is broken into components so that people can use the editing structure of their choice. |
Having the information about how to unsubscribe included in MetaInformation (IV B) can enable the receiver's email client to take care of the details of unsubscribing---an example of PeopleTalkToPeopleMachinesTalkToMachines (I D). |
Use a plug-in metaphor to accomplish customizing editing. Or perhaps provide as underlying functionality the navigational moves of all text editing systems and provide an easy way for the user to assign key chords and sequences to that functionality or combinations; if you do this, also provide all the known editing structures to use as templates for customization. Encourage the implementers of other text editors to provide a compatible editing component. |
(V B) Editing Ease --- RichardGabriel 6 Dec 2001 |
(III B 4) Expedient Resolution --- RichardGabriel 29 Nov 2001 |
. . . When people are trying to communicate they want their tools to be natural and non-intrusive (LowOverheadMessages, RhythmOfConversation, TheContextOfOurLives). To many designers this means that the windows, buttons, menus, pop-ups, and dialogue boxes should be well designed and well tested. But it means much more than that because the experience of using the tool extends down to the visual presentation of text on the screen, its formatting, and the editing commands . . . |
. . . you have decided to write an email client and perhaps are thinking about adding chat facilities . . . |
The experience of a software tool extends down to the smallest physical detail. The fonts on the screen down to the pixel level, the tint of the electronic paper being typed on, the feel of the keyboard and keys beneath the fingers, the height and angle of the keyboard, and the physical size and smoothness of the pointing device. |
Some messages are part of a quick back and forth, possibly in order to get a quick resolution about something like the time of a meeting or the place. There isn't a need for thoughtful discussion or well-thought-out opinions and discursive material. |
One thing often overlooked by designers of interactive software is that fact that people can develop an affinity to specific keyboards, pointing devices, fonts, white-paper color, and editing commands. Many designers use the text editing structure of the underlying platform, meaning the operating system, while the designers of that system have sometimes simplified, reasoning that application writers will supply better editing tools. |
The rhythm of communication is quick, not slow. The need is to get information back and forth without delay and without extra work. The rhythm is almost like a brainstorming session trying to find questions or new approaches. |
Computer hardware is designed for people to plug in their own input devices and monitors, but this is rarely the case for software devices. |
Therefore, |
Some textual communication systems require people to move their hands off the keyboard to a pointing device or arrow keys to navigate while other systems provide chordal navigation commands that allow the typist to leave their hands in typing position. |
Arrange for the textual communication system to support quick replies with short-circuiting of details. If it's technologically feasible, enable the client to arrange a chat or instant-messaging session with the recipient client when this rhythm of exchange is noticed or by a simple control or button. |
Writing textual communications is one of the most commonly done editing tasks, so you should provide the person with his or her most comfortable editing commands and features |
Auto-completion based on a dictionary and words already seen in the message can sometimes help a person trying to get a message out fast. A palette of icons might be useful if they can be manipulated quickly. |
Therefore, |
* * * In cases like this it makes sense for editing-moving around in the text space and entering or altering text-to be as easy and familiar as possible, ideally using the person's most favorite text editing engine. See the pattern EditingEase. (III B 4) Expedient Exchange (was Expedient Resolution) --- JoshuaKerievsky 11 Dec 2001 ... you've created tools to account for different speeds and styles of online communication---SlowLetter (III B1), QuickChat (III B2), TimelyResponse (III B3). Now you want to make these tools accessible when they are most needed. * * * Using email to quickly resolve a matter is like talking to someone on the phone, but having to endure prolonged periods of silence before hearing each others voices. This isn't an indictment of email. Email has excellent uses. It just so happens that it isn't very good for conducting quick exchanges, particularly when you need to resolve a matter expediently. Chat programs are much better for such exchanges, but because they aren't integrated with our email software---GoodIntegrationWithOtherTools (V A)---we often defer to using email, even when using chat would be a better choice. The real problem is that when we need to communicate, we don't know who is online and who isn't. Consider the case where two people are online, both of whom have chat and email software, and one of them sends the following message to the other: Mary, I think today is the deadline for submitting to the conference magazine. What shall we do? --Joe Joe may or may not get a quick response to his email, depending on what Mary is doing. Say Mary is online but doesn't have her email software running because she is doing something else. In that case, Joe won't be getting an immediate response to his question until Mary checks email---but had Mary known that Joe was online, trying to contact her about this conference deadline, she would've gladly interrupted her work (InterruptionGradient (III A6) to communicate with Joe. Or consider the case where Mary is online with her email running but she is deeply engaged in some non-email activity. She sees that email arrived, stops her work, finds Joe's message, responds to it and then gets back to work, repeating the process if or when Joe sends another response. This is a slow way to resolve a matter and has the downside of continually interrupting Mary in her work. There are more scenarios like this, each of which has upsides and downsides. The real issue, however, is how to enable expedient exchanges with folks who matter to us, when we want to engage in those exchanges. To enable this level of sophistication, we need chat and email software to be integrated and cognizant of who is close to us and who is not and what kinds of interruptions and exchanges are tolerable or not. Therefore |
Do what you can to make it so that editing and other user-input software is broken into components so that people can use the editing structure of their choice. |
Integrate email and chat software such that folks can know who is online when they must decide between writing an email or engaging in a chat. Blur the lines between these two tools so that if a chat message doesn't get responded to, transfer it to the intended receiver's in-box, or if an email is sent to someone who is online, offer the choice of turning it into a chat invitation. |
Use a plug-in metaphor to accomplish customizing editing. Or perhaps provide as underlying functionality the navigational moves of all text editing systems and provide an easy way for the user to assign key chords and sequences to that functionality or combinations; if you do this, also provide all the known editing structures to use as templates for customization. Encourage the implementers of other text editors to provide a compatible editing component. |
A ReturnReceipt (III B5) can help expedite an email exchange, as can IntelligentFormLetters (III C2). In addition, expedient electronic exchanges are often CheaperToUse (III D) than picking up the phone. |
Archives (KeepArchives IV A3) provide a way to safely store our Expedient Exchanges. |
(III B 4) Expedient Resolution --- RichardGabriel 29 Nov 2001 |
(IV B 2) Flagged Messages --- RonGoldman 23 Feb 2002 |
. . . you have decided to write an email client and perhaps are thinking about adding chat facilities . . . |
. . . we keep our messages in Archives (KeepArchives IV A 3) and Folders (MailFolders IV A 5), and do not want important messages to become lost. |
Some messages are part of a quick back and forth, possibly in order to get a quick resolution about something like the time of a meeting or the place. There isn't a need for thoughtful discussion or well-thought-out opinions and discursive material. |
Many people get hundreds of email messages a day. Some messages they can deal with immediately, while others require more time and answering them needs to be put off till later. However it is all too easy to lose track of the pending messages amidst the clutter of a mailbox full of many, many other ones. |
The rhythm of communication is quick, not slow. The need is to get information back and forth without delay and without extra work. The rhythm is almost like a brainstorming session trying to find questions or new approaches. |
Some people try to solve the problem by creating a special place where they can put these important messages: a special in box. That can help, but what happens as the number of messages in that special place grows? Do you then create another really special place to store the very important messages? |
Therefore, Arrange for the textual communication system to support quick replies with short-circuiting of details. If it's technologically feasible, enable the client to arrange a chat or instant-messaging session with the recipient client when this rhythm of exchange is noticed or by a simple control or button. Auto-completion based on a dictionary and words already seen in the message can sometimes help a person trying to get a message out fast. A palette of icons might be useful if they can be manipulated quickly. * * * |
Also there is more than just a message's priority that we want to indicate. Maybe it has important information, so we want it to stand out in order to find it more easily at some later date. Or within some conversational thread we would like to visually mark which messages favor or oppose an issue. |
In cases like this it makes sense for editing-moving around in the text space and entering or altering text-to be as easy and familiar as possible, ideally using the person's most favorite text editing engine. See the pattern EditingEase. (III B 4) Expedient Exchange (was Expedient Resolution) --- JoshuaKerievsky 11 Dec 2001 ... you've created tools to account for different speeds and styles of online communication---SlowLetter (III B1), QuickChat (III B2), TimelyResponse (III B3). Now you want to make these tools accessible when they are most needed. * * * |
Current email clients use labels to indicate things like a message's priority, whether we have read it or not, if we have replied to it or forwarded it, if it has any attachments and so forth. The Eudora email client labels messages with one or more chili peppers to indicate that the contents might be offensive. |
Using email to quickly resolve a matter is like talking to someone on the phone, but having to endure prolonged periods of silence before hearing each others voices. This isn't an indictment of email. Email has excellent uses. It just so happens that it isn't very good for conducting quick exchanges, particularly when you need to resolve a matter expediently. Chat programs are much better for such exchanges, but because they aren't integrated with our email software---GoodIntegrationWithOtherTools (V A)---we often defer to using email, even when using chat would be a better choice. The real problem is that when we need to communicate, we don't know who is online and who isn't. Consider the case where two people are online, both of whom have chat and email software, and one of them sends the following message to the other: Mary, I think today is the deadline for submitting to the conference magazine. What shall we do? --Joe Joe may or may not get a quick response to his email, depending on what Mary is doing. Say Mary is online but doesn't have her email software running because she is doing something else. In that case, Joe won't be getting an immediate response to his question until Mary checks email---but had Mary known that Joe was online, trying to contact her about this conference deadline, she would've gladly interrupted her work (InterruptionGradient (III A6) to communicate with Joe. Or consider the case where Mary is online with her email running but she is deeply engaged in some non-email activity. She sees that email arrived, stops her work, finds Joe's message, responds to it and then gets back to work, repeating the process if or when Joe sends another response. This is a slow way to resolve a matter and has the downside of continually interrupting Mary in her work. There are more scenarios like this, each of which has upsides and downsides. The real issue, however, is how to enable expedient exchanges with folks who matter to us, when we want to engage in those exchanges. To enable this level of sophistication, we need chat and email software to be integrated and cognizant of who is close to us and who is not and what kinds of interruptions and exchanges are tolerable or not. |
Therefore, |
Therefore |
Provide a way to flag important messages so they can be easily found later. Allow messages to be labelled along multiple dimensions. Let users define new labels relevant to their life. Make sure that messages can be highlighted and sorted based on how they are labelled. |
Integrate email and chat software such that folks can know who is online when they must decide between writing an email or engaging in a chat. Blur the lines between these two tools so that if a chat message doesn't get responded to, transfer it to the intended receiver's in-box, or if an email is sent to someone who is online, offer the choice of turning it into a chat invitation. |
Note that a related solution is to have our computer remind us of messages we have yet to deal with---GentleReminder (III B 7). That solution works best when we are being nudged about only a few messages. When there are many messages pending that we must handle in a short time frame, then the reminders would be more disruptive than helpful---and would soon become noise we just ignore. In such a case a visual cue is a better aid. |
A ReturnReceipt (III B5) can help expedite an email exchange, as can IntelligentFormLetters (III C2). In addition, expedient electronic exchanges are often CheaperToUse (III D) than picking up the phone. Archives (KeepArchives IV A3) provide a way to safely store our Expedient Exchanges. |
(III B 7) Gentle Reminder --- JoshuaKerievsky 05 Dec 2001 |
(III A 6 a) Go Away --- RichardGabriel 27 Nov 2001 |
... you are creating communications software that is sensitive to TheContextOfOurLives (III A) and the speeds at which we best communicate---RhythmOfConversation (III B). Such software provides an ideal environment in which to compose thoughtful messages---SlowLetter (III B1), or facilitate quick exchanges---QuickChat (III B2), TimelyResponse (III B3), ExpedientResolution (III B4). But what happens when we simply don't have time to interact with anyone at all? Usually, a great deal of silence happens: messages don't get answered and message senders are left wondering if something went wrong, if they offended us or if we just didn't care to respond to them. |
. . . you are adding features to complete AwarenessOfPresence in order to make the context of textual communications humane. . . |
Nearly all communications software is oblivious to the content of the messages it sends and receives. Thus, when we're too busy to respond to a thoughtful, carefully written message from a friend or colleague, our software doesn't care. It doesn't remind us to respond to the message and it doesn't care if we come across looking like a jerk because we didn't respond for days or weeks on end. This happens all the time to busy people! Important messages arrive, but because of extremely busy lives, these messages simply go unanswered for days. The message senders either get used to not having their emails responded to us or they just get annoyed with us. And we can certainly understand their frustration, since they took the time to compose an important message, only to be greeted by silence from our end. But it doesn't have to be that way. Software doesn't need to know exactly what people are writing to us, but it can know, with a certainty, that some emails will be thoughtful and others will be trivial and that there are different responses appropriate for different kinds of messages. We are really talking about common decency. |
* * * |
For example, if Michael sends me a thoughtful and important email, which clearly took him time to compose---I would like to respond to his message with equal thought and care. But if I don't have time to respond, I need my communications software to help me not be a jerk---which is easy to be when one doesn't have time to respond to emails. |
Sometimes our work requires deep concentration and quiet, or perhaps a planned and habitual cacophony, but not unplanned, unexpected, and unwelcome interruptions. Our trains of thought cannot stand a distraction or the nature of a textual communication would interfere with some other process we are engaging. |
My communications software could help me by a) giving me a way to painless and quickly send Michael a message explaining how busy I am at present and b) remind me every X days that I still haven't responded to Michael's email and c) after noticing that I still haven't responded to Michael after Y number of days or weeks, send Michael an apologetic email and exhort me to call the guy on the phone to explain why I've not had a chance to write. |
In some circumstances it would seem necessary to even stem the tide of knowing that a communication is desired from everyone or from a selected set of people or groups. Nevertheless, perhaps the work that requires our attention is communicating textually-composing, thinking, reflecting-possibly it is a SlowLetter we are writing. Some attack this problem with filters for individuals or by temporarily unsubscribing from a mailing list for a few hours, a few days, or a few weeks because the nature of the list is too maddening or distracting. But we do not or cannot disconnect entirely. And we do not want to lose those communications-when we are ready we want to see them. |
In other words, when we'd like to be polite in the context of electronic messages but don't have the time to be polite, we need out software to go to bat for us---helping us by sending short responses and prodding us to respond as we would like to respond. |
Equip our communications software with features that make it easier for us to be polite and responsive when we are too busy to be polite and responsive. Create a "Gentle Reminder" button that, when pressed, reminds us at regular intervals to respond to important emails. |
Create a simple means to tell the textual communication system that its user wants part of the world trying to communicate to go away. The part could be an individual, a set of individuals, a group, or any sort of convenient way for a person to describe who is to be kept away. Create a mechanism whereby the user of the system can use it during such a period. Create a simple mechanism for seeing and interacting with those textual communications later. |
A Gentle Reminder could give us the option to keeping reminding us to write a response to someone, while also offering to send them an automated update about our current work---IntelligentFormLetters---Template Letters (III C2) . . . |
* * * In such a mode, a textual communication system might queue up incoming messages but not even display that they have arrived, or perhaps with a very small visual-only cue nearly out of sight. This of course would need to be able to be turned off. Filters and other programming-based mechanisms might be too hard for some people, but it might not be feasible to go as far as a simple example/negative-example learning system. This part of the system should not depend on the cooperation of a distant server. |
(III B 7) Gentle Reminder --- RonGoldman 9 Jan 2002 |
(III A 6 a) Old News (was Go Away) --- RonGoldman 19 Dec 2001 |
. . . in TheContextOfOurLives (III A) there is a natural ebb and flow of activity that creates a Rhythm to our Conversations (RhythmOfConversation III B) and causes us to neglect some tasks in order to do others. |
. . . when we specify an InterruptionGradient (III A 6) we also need to indicate what to do with pending messages. |
We lead busy lives and lose track of things we really need to do. |
Messages have a time value. No one wants to be bothered with old news. |
Everyone could benefit from a personal assistant who would remind us of things we need to do: appointments to keep, occasions to remember, notes to send, deadlines to meet, or whatever we need to devote our attention to. Such an assistant must be totally discreet about our personal affairs and on call every hour we're awake. Employing a person for this is both expense and potentially invasive. However we are already storing many of the details of our lives on our machines and can have them act as our assistant. |
When we are busy, we might withdraw from the world to avoid interruptions and distractions. When we emerge later and return to the world we do not want to be overwhelmed with all that elapsed in our absence. |
For example, a popular use for PDA's like the Palm Pilot is to keep one's todo list and appointment calendar. The device can notify its owner about upcoming events. |
Everyday the newspaper, letters and magazines arrive at our door. Before we go on a trip we need to cancel delivery of the paper or we will come home to a pile of old newspapers, full of old news that we are not interested in. |
Our email presents similar problems and opportunities. We often receive letters from friends and associates that we really need to take the proper time to compose a thoughtful reply to. But we often do not have the time needed and do not want to reply in a minimal manner. To help us so we do not neglect to write a response, our software should remind us that a reply is still needed. |
Likewise in our electronic world: when we are busy or away, incoming messages pile up, demanding our attention when we return. Just as we cancel the newspaper, so we would like to be able to cancel our subscription to various mailing lists. |
There are many ways computers try to get the attention of their users. Some are very rude, while others are more subtle. A good personal assistant would not nag or shout at us. |
While we are away, our email program might unsubscribe us from whatever mailing lists we specify and then when we return, resubscribe us. Alternatively it might just throw away any messages received from those lists while we are away. Maybe it would just keep any messages received in the last day and discard older ones. |
As part of our normal routine we might want our software to automatically discard old, unread messages from mailing lists rather than have them cluttering up our in boxes. But we also must be able to mark messages we want to keep. |
Make it easy for people to mark messages as needing a reply, indicating when and how important the message is. Have our software provide ways to gently remind us of things we want or need to do. Let people control how and when they are notified of pending tasks. Contrast this pattern with WhenOurMachinesActForUs (I D 1). In it the task is one that our machine can do for us. Here only we can do what is needed, so our machine can only help by prodding us into action. |
Recognize that messages have a time value and allow us to specify to our software what constitutes old news so it knows not to bother us with it. |
In addition to reminding us of notes we need to reply to, our email client could also create IntelligentFormLetters (III C 2) that we could send as an intermediate measure. Many different programs we use will want to remind us of things. We don't want this to be like having a dozen assistants clamoring for our attention. Rather we want our machine to act like a single assistant---GoodIntegrationWithOtherTools (V A). |
Sometimes we do care about old news, so we need to be able to retrieve messages that might have been discarded---KeepArchives (IV A 3). |
(III A 6 a) Go Away --- RichardGabriel 27 Nov 2001 |
(V A) Good Integration With Other Tools --- RonGoldman 19 Feb 2002 |
. . . you are adding features to complete AwarenessOfPresence in order to make the context of textual communications humane. . . |
. . . in TheContextOfOurLives (III A) we use multiple applications to achieve our goals. However to us our computer should appear as a single tool. |
Sometimes our work requires deep concentration and quiet, or perhaps a planned and habitual cacophony, but not unplanned, unexpected, and unwelcome interruptions. Our trains of thought cannot stand a distraction or the nature of a textual communication would interfere with some other process we are engaging. |
In the current world of computer applications it is almost as if it is our job to act as an intermediary between the various computer programs we use. Each application is often in its own world and to get data from one into another it is often left up to us to manually massage the information into a format that the second one understands---we are subservient to our own machines. |
In some circumstances it would seem necessary to even stem the tide of knowing that a communication is desired from everyone or from a selected set of people or groups. Nevertheless, perhaps the work that requires our attention is communicating textually-composing, thinking, reflecting-possibly it is a SlowLetter we are writing. Some attack this problem with filters for individuals or by temporarily unsubscribing from a mailing list for a few hours, a few days, or a few weeks because the nature of the list is too maddening or distracting. But we do not or cannot disconnect entirely. And we do not want to lose those communications-when we are ready we want to see them. |
The simple task of cutting and pasting textual information from one program to another is often problematic instead of simple: font formatting is lost, paragraphs get broken into fixed length lines, extraneous white space gets inserted, and, indeed, in some programs one cannot even copy the text in the first place! |
Therefore, Create a simple means to tell the textual communication system that its user wants part of the world trying to communicate to go away. The part could be an individual, a set of individuals, a group, or any sort of convenient way for a person to describe who is to be kept away. Create a mechanism whereby the user of the system can use it during such a period. Create a simple mechanism for seeing and interacting with those textual communications later. * * * In such a mode, a textual communication system might queue up incoming messages but not even display that they have arrived, or perhaps with a very small visual-only cue nearly out of sight. This of course would need to be able to be turned off. Filters and other programming-based mechanisms might be too hard for some people, but it might not be feasible to go as far as a simple example/negative-example learning system. This part of the system should not depend on the cooperation of a distant server. (III A 6 a) Old News (was Go Away) --- RonGoldman 19 Dec 2001 |
When we set our preferences for one program, it has no effect on any other applications we use. We need to tell each one separately. They were designed separately and their designers only worried about their use in isolation (or only with other applications they want us to buy from them---the all inclusive "office suite"). |
. . . when we specify an InterruptionGradient (III A 6) we also need to indicate what to do with pending messages. |
There are a few places where applications do seem to have been constructed with the idea that they are part of a larger world. One is that many email clients and word processors recognize URLs. They display the URL so it is highlighted, like a web browser would, and if the user clicks it then a web browser is told to display it. Some systems even let the user specify once which web browser should be used and other applications then use the selected one to display the page. |
* * * Messages have a time value. No one wants to be bothered with old news. When we are busy, we might withdraw from the world to avoid interruptions and distractions. When we emerge later and return to the world we do not want to be overwhelmed with all that elapsed in our absence. Everyday the newspaper, letters and magazines arrive at our door. Before we go on a trip we need to cancel delivery of the paper or we will come home to a pile of old newspapers, full of old news that we are not interested in. |
Another place where current applications recognize the existence of other programs is similar: keeping a list of "helper" applications to display files in formats the current application cannot handle. Thus an email client can launch a helper app to let a user view an attached document, or a web browser to display a downloaded file. |
Likewise in our electronic world: when we are busy or away, incoming messages pile up, demanding our attention when we return. Just as we cancel the newspaper, so we would like to be able to cancel our subscription to various mailing lists. While we are away, our email program might unsubscribe us from whatever mailing lists we specify and then when we return, resubscribe us. Alternatively it might just throw away any messages received from those lists while we are away. Maybe it would just keep any messages received in the last day and discard older ones. As part of our normal routine we might want our software to automatically discard old, unread messages from mailing lists rather than have them cluttering up our in boxes. But we also must be able to mark messages we want to keep. |
Recognize that messages have a time value and allow us to specify to our software what constitutes old news so it knows not to bother us with it. |
Design computer applications knowing that they need to interact with other ones. Do not assume the world revolves around any single application. For activities that are common to many applications provide ways for people to specify their preferences just once, instead of separately, for each application. |
Sometimes we do care about old news, so we need to be able to retrieve messages that might have been discarded---KeepArchives (IV A 3). |
Having rich MetaInformation (IV B) available makes it easier for multiple applications to communicate. In different applications provide the same user interface, especially keyboard commands, for the same operations---EditingEase (V B). |
Make sure that common file formats are used so that data files can be read by different applications---RosettaStone (V E). |
(V A) Good Integration With Other Tools --- RonGoldman 19 Feb 2002 |
(II) Group Discussions --- RonGoldman 14 Jan 2002 |
. . . in TheContextOfOurLives (III A) we use multiple applications to achieve our goals. However to us our computer should appear as a single tool. |
. . . NoManIsAnIsland ( ) and a major demonstration of this is the amount of time people spend talking to other people. |
In the current world of computer applications it is almost as if it is our job to act as an intermediary between the various computer programs we use. Each application is often in its own world and to get data from one into another it is often left up to us to manually massage the information into a format that the second one understands---we are subservient to our own machines. |
Much that is important in our lives takes place in the context of a larger group, be it our family, our friends, or our work. We participate in group discussions and the conversation helps to create the group. |
The simple task of cutting and pasting textual information from one program to another is often problematic instead of simple: font formatting is lost, paragraphs get broken into fixed length lines, extraneous white space gets inserted, and, indeed, in some programs one cannot even copy the text in the first place! |
In our lives we participate in many ongoing discussions with our family, friends and coworkers. These conversations continue even when we are physically separated from each other. In the past they took place via notes, memos and newsletters. Today they make use of email, websites and other forms of textual electronic communication. |
When we set our preferences for one program, it has no effect on any other applications we use. We need to tell each one separately. They were designed separately and their designers only worried about their use in isolation (or only with other applications they want us to buy from them---the all inclusive "office suite"). |
In the real world we gather together with other people in our homes, at work, or in public places. Online a website like slashdot.org is similar to the corner pub; we can go there and converse with the regulars. Weblogs and chat rooms provide a sense of place in the online world. |
There are a few places where applications do seem to have been constructed with the idea that they are part of a larger world. One is that many email clients and word processors recognize URLs. They display the URL so it is highlighted, like a web browser would, and if the user clicks it then a web browser is told to display it. Some systems even let the user specify once which web browser should be used and other applications then use the selected one to display the page. |
A very real difficulty in the real world is often finding people interested in discussing some specific interest. Maybe this is because it is difficult to find them in a large city, or maybe because someone is located in a remote place. The online world makes it easier for people to connect around common interests through newsgroups, communities connected with websites, or even mailing lists. As long as there's a way for people to search the net they can find online group discussions on topics they care about. |
Another place where current applications recognize the existence of other programs is similar: keeping a list of "helper" applications to display files in formats the current application cannot handle. Thus an email client can launch a helper app to let a user view an attached document, or a web browser to display a downloaded file. |
Places like Yahoo! Groups let anyone create a new group, complete with a mailing list, an archive of old messages, a place to store files, a group calendar of events, a way to see the list of members, and various other features. They supply the technology, you supply the initial community. To borrow from "A Pattern Language" [Alexander et. al.], in the online world a good group discussion helps to create an (14) Identifiable Neighborhood, which in turn helps the Internet be a (8) Mosaic of Subcultures. |
Design computer applications knowing that they need to interact with other ones. Do not assume the world revolves around any single application. For activities that are common to many applications provide ways for people to specify their preferences just once, instead of separately, for each application. |
Provide good tools to support group discussions done over computers. Support both synchronous (chat, instant messaging) and asynchronous (mailing lists, newsgroups, weblogs) ways for people to carry on discussions. Make it easy for newcomers to locate and join the discussion. |
Having rich MetaInformation (IV B) available makes it easier for multiple applications to communicate. |
Be aware that SmallWorkGroupsComeAndGo (II A) and that the people in the group also come and go---EasyToUnsubscribe (V C). Newcomers need access to previous discussion---KeepArchives (IV A 3) and FrequentlyAskedQuestions (II B 1). Provide ways to nurture the discussion, possibly creating a community---NurtureCommunity (II B) and QualityControl---Moderation (II C), Some discussions are private to a specific group and outsiders should not be able to join without permission. Some people may need to participate anonymously so they can be SafeToUse (V D). (II) Workgroups --- RichardGabriel 23 Dec 2001 . . . NoManIsAnIsland, but even a well-designed and well-equipped textual electronic communications system is perhaps not adequate for all the needs of a person working in a group ... * * * |
In different applications provide the same user interface, especially keyboard commands, for the same operations---EditingEase (V B). |
People work in groups all the time: in companies and other organizations, in meeting rooms, in the workshop, and in teams. Working in groups does not require working in physical proximity, because they will use their existing textual electronic communications systems to communicate with each other. The programming language Common Lisp was designed by a committee of about 300 people beginning in 1981 almost entirely over email using an ad hoc mailing list maintained at the Stanford Artificial Intelligence Laboratory. Since then, numerous working groups, program committees, and software development collaborations have taken place over the Internet, and a number of companies provide real-time collaboration tools for the Net. People will find a way to work together, and the advantages of the asynchronous nature of email-style of communications makes it ideal for very widely distributed (global) collaborations Therefore, Make the textual electronic communications system amenable to workgroups by such things as making it easy to create ad hoc workgroups, threading discussions, providing archiving facilities, and enable easy on- and off-ramps to workgroups. * * * |
Make sure that common file formats are used so that data files can be read by different applications---RosettaStone (V E). |
Be aware that SmallWorkGroupsComeAndGo (see also EasyToUnsubscribe); provide Archives (KeepArchives), AnnotatedMessages, and FlaggedMessages; pay attention to AwarenessOfPresence and be careful about AwayMessages; make it possible to work alone (GoAway) when necessary; be sure to account for people moving from place to place while still working in the workgroup (OnePersonManyMachines); be aware that come workgroups require a moderator (QualityControl---Moderation); consider that some people will want to take some conversations in a workgroup to the side (PrivateConversation---Encrypted); and finally, make sure that each person is sure that the communication is working (Notify User If Mail Has Been Read/Scanned---ReturnReceipt). |
(II) Group Discussions --- RonGoldman 14 Jan 2002 |
(IV A) Grouping/Display |
. . . NoManIsAnIsland ( ) and a major demonstration of this is the amount of time people spend talking to other people. * * * Much that is important in our lives takes place in the context of a larger group, be it our family, our friends, or our work. We participate in group discussions and the conversation helps to create the group. In our lives we participate in many ongoing discussions with our family, friends and coworkers. These conversations continue even when we are physically separated from each other. In the past they took place via notes, memos and newsletters. Today they make use of email, websites and other forms of textual electronic communication. In the real world we gather together with other people in our homes, at work, or in public places. Online a website like slashdot.org is similar to the corner pub; we can go there and converse with the regulars. Weblogs and chat rooms provide a sense of place in the online world. A very real difficulty in the real world is often finding people interested in discussing some specific interest. Maybe this is because it is difficult to find them in a large city, or maybe because someone is located in a remote place. The online world makes it easier for people to connect around common interests through newsgroups, communities connected with websites, or even mailing lists. As long as there's a way for people to search the net they can find online group discussions on topics they care about. Places like Yahoo! Groups let anyone create a new group, complete with a mailing list, an archive of old messages, a place to store files, a group calendar of events, a way to see the list of members, and various other features. They supply the technology, you supply the initial community. To borrow from "A Pattern Language" [Alexander et. al.], in the online world a good group discussion helps to create an (14) Identifiable Neighborhood, which in turn helps the Internet be a (8) Mosaic of Subcultures. Therefore, Provide good tools to support group discussions done over computers. Support both synchronous (chat, instant messaging) and asynchronous (mailing lists, newsgroups, weblogs) ways for people to carry on discussions. Make it easy for newcomers to locate and join the discussion. * * * Be aware that SmallWorkGroupsComeAndGo (II A) and that the people in the group also come and go---EasyToUnsubscribe (V C). Newcomers need access to previous discussion---KeepArchives (IV A 3) and FrequentlyAskedQuestions (II B 1). Provide ways to nurture the discussion, possibly creating a community---NurtureCommunity (II B) and QualityControl---Moderation (II C), Some discussions are private to a specific group and outsiders should not be able to join without permission. Some people may need to participate anonymously so they can be SafeToUse (V D). (II) Workgroups --- RichardGabriel 23 Dec 2001 . . . NoManIsAnIsland, but even a well-designed and well-equipped textual electronic communications system is perhaps not adequate for all the needs of a person working in a group ... * * * People work in groups all the time: in companies and other organizations, in meeting rooms, in the workshop, and in teams. Working in groups does not require working in physical proximity, because they will use their existing textual electronic communications systems to communicate with each other. The programming language Common Lisp was designed by a committee of about 300 people beginning in 1981 almost entirely over email using an ad hoc mailing list maintained at the Stanford Artificial Intelligence Laboratory. Since then, numerous working groups, program committees, and software development collaborations have taken place over the Internet, and a number of companies provide real-time collaboration tools for the Net. People will find a way to work together, and the advantages of the asynchronous nature of email-style of communications makes it ideal for very widely distributed (global) collaborations Therefore, Make the textual electronic communications system amenable to workgroups by such things as making it easy to create ad hoc workgroups, threading discussions, providing archiving facilities, and enable easy on- and off-ramps to workgroups. * * * Be aware that SmallWorkGroupsComeAndGo (see also EasyToUnsubscribe); provide Archives (KeepArchives), AnnotatedMessages, and FlaggedMessages; pay attention to AwarenessOfPresence and be careful about AwayMessages; make it possible to work alone (GoAway) when necessary; be sure to account for people moving from place to place while still working in the workgroup (OnePersonManyMachines); be aware that come workgroups require a moderator (QualityControl---Moderation); consider that some people will want to take some conversations in a workgroup to the side (PrivateConversation---Encrypted); and finally, make sure that each person is sure that the communication is working (Notify User If Mail Has Been Read/Scanned---ReturnReceipt). |
no versions written yet |
(IV A) Grouping/Display |
(V F) Helpful --- RonGoldman 24 Jan 2002 |
no versions written yet |
. . . when people are trying to communicate with each other they don't want to appear stupid. * * * There's an old saying: To err is human but it takes a computer to really screw up! It is very easy to make mistakes, but with a computer we can all to easily embarrass ourselves before a wide audience. How many times have you seen a message sent to a mailing list that was clearly intended to be a private message to one individual? Whoops, someone did a "reply to all" that included the full mailing list. Or someone sends out a message that is clearly not appropriate for the mailing list it is sent to? Or someone is angered by a message and sends off a quick retort that they later might regret? The Eudora email client has several ways that it tries to be helpful including highlighting misspelled words automatically, warning if a message has no subject specified, or flagging messages that use aggressive, demeaning or rude language in any email you are writing with one to three chili peppers. Both the spell checking and the flame alerting are done by discreetly annotating the message---the user is not interrupted and can choose to ignore the warning. Therefore, Anticipate ways that people will make mistakes and write computer programs so that they either correct or inform us in an appropriate way. Our computers should be helpful, and watch out for us. But remember that the person is ultimately in charge. * * * In our correspondence with others, a GentleReminder (II B 7) can help us avoid appearing rude by not responding. |
(IV) Information display and management |
(III A 7) Inner Circle --- JoshuaKerievsky 12 Dec 2001 |
no versions written yet |
... features that help to complete TheContextOfOurLives (III A), including AwarenessOfPresence (III A 3), PrivacyGradient (III A 5) and InterruptionGradient (III A6), AwayMessages (III 4a) can be more responsive and intelligent when there is an awareness of who is close to us or semi-close or not close at all. * * * Our level of familiarity with people often plays a role in how we decide to communicate with them. Yet most communication software doesn't know who is a loved one or a friend or a stranger. Consequently, the software behaves in one way regardless of who we're communicating with or who attempts to communicate with us. Software often lacks signs of intelligence because it simply doesn't let us help make it more intelligent. We co-habitate with it but can't teach it much. It doesn't have to be that way. We don't expect today's software to do our thinking for us, but we can expect it to behave in ways that will enhance our lives. One way to do that is to teach the software how we would like it to behave when we are communicating with different individuals or groups. Technically, this isn't even very hard to do. The trick is to make it simple enough for everyday users to easily control. Therefore, Depict levels of familiarity using a sequence of named circles---the smallest of which corresponds to our Inner Circle, the largest of which corresponds to strangers or near-strangers. Let users add, move or remove people from these circles, add new circles and change circle labels. Make the knowledge contained in the circles accessible to other features in the software, such that they may be configured to behave differently based on the identify of who we communicate with or who would communicate with us. * * * With Inner Circle knowledge, a QuickChat (III B 2) could be smart enough to know what we repeatedly say to folks in our various circles. For example, if I often use a chat program to tell my wife or kids that I'm "leaving the office now and will be home in 30 minutes," the chat program could record that phrase and allow me to easily send it to my wife or kids, when I'm chatting with them. UniversalAccess (III E) provides a way to make Inner Circle knowledge accessible from any machine. |
(III A 7) Inner Circle --- JoshuaKerievsky 12 Dec 2001 |
(III C 2) Personalized Form Letter --- JoshuaKerievsky 07 Mar 2002 |
... features that help to complete TheContextOfOurLives (III A), including AwarenessOfPresence (III A 3), PrivacyGradient (III A 5) and InterruptionGradient (III A6), AwayMessages (III 4a) can be more responsive and intelligent when there is an awareness of who is close to us or semi-close or not close at all. |
. . . according to ConveniencesForFastWork, our communications tool needs to help us with tasks that would take too much time for us to do manually. Producing and sending personalized form letters to a large quantity of people is such a task. We don't want these letters to be completely generic---lacking any personal warmth---and yet we don't want to take the time to personalize each letter. A Personalized Form Letter is a tool for efficiently merging the generic with the personal. |
Our level of familiarity with people often plays a role in how we decide to communicate with them. Yet most communication software doesn't know who is a loved one or a friend or a stranger. Consequently, the software behaves in one way regardless of who we're communicating with or who attempts to communicate with us. |
Many form letters make no personal connection with their intended readers and as a result, don't get read. |
Software often lacks signs of intelligence because it simply doesn't let us help make it more intelligent. We co-habitate with it but can't teach it much. |
People who read form letters that have no personal connection to them often stop reading after a few sentences or words. What makes them stop? It's often a feeling that they don't want to be spending time reading a generic message that was sent to perhaps hundreds or thousands of others, and which has no direction connection to themselves. |
It doesn't have to be that way. |
What if the form letter mentioned the recipient's name? Would it have a better chance of being read? Probably. The simple mention of a person's name makes at least the most basic human connection. But our form letters can be more intelligent than that, for even if they mention a recipient's name they can still come across as cold and impersonal. |
We don't expect today's software to do our thinking for us, but we can expect it to behave in ways that will enhance our lives. One way to do that is to teach the software how we would like it to behave when we are communicating with different individuals or groups. |
Our communications tools must have a better understanding of who we are sending message to in order to enable us to personalize these messages. For example, say you are sending out a party announcement to 150 people, one of whom happens to be a good friend who is also a new Dad. Wouldn't it be nice if the party form letter to the new Dad also included some text like "hey Dan, how's fatherhood treating you?" But how would your tool know to include that text? It wouldn't, but it could know that |
Technically, this isn't even very hard to do. The trick is to make it simple enough for everyday users to easily control. |
* Dan happens to be part of your InnerCircle (III A 7) * You may want to personalize form letters to people within your InnerCircle Given that knowledge, the tool could prompt you to input personalized text to Dan and even let you decide where to include this text in the party form letter that will be sent to him. Such a capability would be a leap ahead in terms of what our email programs can do today. In fact, most of today's popular email applications don't even provide the ability to send out a form letter that includes a greeting addressed to each recipient's first name. |
Depict levels of familiarity using a sequence of named circles---the smallest of which corresponds to our Inner Circle, the largest of which corresponds to strangers or near-strangers. Let users add, move or remove people from these circles, add new circles and change circle labels. Make the knowledge contained in the circles accessible to other features in the software, such that they may be configured to behave differently based on the identify of who we communicate with or who would communicate with us. |
Make it easy to send a form letter that prompts the sender to input personalized text to all recipients or a select few (InnerCircle) and let the sender position this text within the form letter. Include a mechanism that lets senders easily include greetings to each recipient's first name. |
With Inner Circle knowledge, a QuickChat (III B 2) could be smart enough to know what we repeatedly say to folks in our various circles. For example, if I often use a chat program to tell my wife or kids that I'm "leaving the office now and will be home in 30 minutes," the chat program could record that phrase and allow me to easily send it to my wife or kids, when I'm chatting with them. UniversalAccess (III E) provides a way to make Inner Circle knowledge accessible from any machine. |
Make it easy for people to un-subscribe from form letters---EasyToUnsubscribe (V C) |
(III C 2) Personalized Form Letter --- JoshuaKerievsky 07 Mar 2002 |
(III A 6) Interruption Gradient --- JoshuaKerievsky 04 Dec 2001 |
. . . according to ConveniencesForFastWork, our communications tool needs to help us with tasks that would take too much time for us to do manually. Producing and sending personalized form letters to a large quantity of people is such a task. We don't want these letters to be completely generic---lacking any personal warmth---and yet we don't want to take the time to personalize each letter. A Personalized Form Letter is a tool for efficiently merging the generic with the personal. |
... to be thoroughly responsive to how we will interact with our communications software---TheContextOfOurLives (III A), AwarenessOfPresence (III A3), you are designing features to support multiple, customizable work modes. Such features will allow users to experience different levels of interaction based on their different modes of working. Given the need to fully concentrate on a message, a user will be able to fully control the degree to which they are interrupted or even tempted to be interrupted. Given a less focused state, in which interruptions are welcome, the user will be able to set their software to fully interact with them. We love getting messages, but they are often so distracting that we can't get much done, due to constant interruptions or temptations. Most modern email clients give users a heads-up-display that shows nearly everything that is happening with messages and connections and email folders. When new mail arrives, we're notified of that fact by gyrating icons, dialog boxes and tabulated message counts. If the email client accepts and displays web pages, we have the potential to be very much distracting by junk mail that arrives with seductive advertisements, complete with flashy graphics, stylized text and even accompanying music! How can one peacefully compose an important message amidst so much interaction? Of course, any sophisticated email user will explain that their are many ways to customize the email program: hide this window like this, don't show that prompt by clicking this box in this options screen, etc, etc. But most users rarely explore the settings in their email's software---mostly because it involves navigating many foreign dialog boxes. And, even if they did know what to set to obtain the desired level of interaction, that interaction level would only be good for one working style and would need to be changed given a different working style. The trouble is, no one wants to constantly be clicking on settings in dialog boxes, no matter how many cool settings they let you customize. Therefore, Make it simple to adjust how much we're interrupted by our communications software by providing a graphical knob to control levels of interruption. Depending on where we move this knob, the software will welcome no interruptions, some interruptions or all interruptions. Let the knob settings correspond to named modes of work and let users easily customize these modes with a variety of software settings such that simple turnings of the knob will effect numerous software settings. The Interruption Gradient will allow users to easily enter a mode of work in which they are fully focused on one task---GoAway (III A 6a) and will provide an easy way to not get distracted by highly stylized emails---StylizedLetter (I B). Given a certain interruption setting, users who may see that you are currently online, would be notified that you are currently not available for a quick chat---QuickChat (III B2). Given another setting, a chat request from a close friend would be permitted to interrupt you, while chat requests from colleagues would be recorded but not granted. Ideally, your Interruption Gradient settings will be observed by other programs that interact with your communications software---GoodIntegrationWithOtherTools (V A) ... (III A 6) Interruption Gradient --- RonGoldman 18 Dec 2001 . . . within TheContextOfOurLives (III A) our machines need to understand what we are working on and how busy/active we are---AwarenessOfPresence (III A3). How they interact with us should be based on that information. |
Many form letters make no personal connection with their intended readers and as a result, don't get read. |
When really concentrating on a task, people hate to be interrupted. Much of what we do requires us to concentrate. For many tasks we are most productive when we can devote an uninterrupted stretch of time to them. If we are constantly interrupted by others, it is hard to regain our focus and make progress. This is such a problem in the office place that many people routinely come in early or stay late, so that no one else will be around to disturb them. People present in the same room as we are that want to talk with us can look to see if we are busy and if so wait until later. However, our colleagues and friends that choose to interact with us via telephone or email have no idea what we are doing and they cannot help but interrupt us with a ringing phone or a beeping computer. We can always unplug our phone and disable email notifications, but we still want important messages to be able to reach us. We need to see an important email from a coworker as soon as it arrives, but other messages can wait---especially routine messages from mailing lists we subscribe to. We want our children to be able to call us, but don't want to be bothered by telemarketers. |
People who read form letters that have no personal connection to them often stop reading after a few sentences or words. What makes them stop? It's often a feeling that they don't want to be spending time reading a generic message that was sent to perhaps hundreds or thousands of others, and which has no direction connection to themselves. |
Some email programs allow the sender to specify a priority for a message, ranging from urgent to normal to bulk mail. Unfortunately the priority is ignored when the message is received---at most it's just displayed by the client email program. Ideally a person could tell their email program that when they are busy only notify them about new mail that is marked as urgent or messages from a small list of people. New email would only interrupt them then when appropriate. |
What if the form letter mentioned the recipient's name? Would it have a better chance of being read? Probably. The simple mention of a person's name makes at least the most basic human connection. But our form letters can be more intelligent than that, for even if they mention a recipient's name they can still come across as cold and impersonal. |
The opposite case is that urgent email arrives but we are not sitting in front of our computer. Often by the time we return, any notification that we have urgent new email has disappeared. At most we might see a special icon attached to the message in our in box. If our software is maintaining an awareness of our presence, then it can make sure to inform us when we return, and even gently remind us until we acknowledge it. |
Our communications tools must have a better understanding of who we are sending message to in order to enable us to personalize these messages. For example, say you are sending out a party announcement to 150 people, one of whom happens to be a good friend who is also a new Dad. Wouldn't it be nice if the party form letter to the new Dad also included some text like "hey Dan, how's fatherhood treating you?" But how would your tool know to include that text? It wouldn't, but it could know that |
Therefore, Make our software like an attentive butler that is aware of how busy we are and that only interrupts us for important things. Make it easy for a person to specify how busy they are and what they consider important. When we try to reach another person make it easy to specify how urgent our communique is. * * * One way to describe who we want to be able to reach us when we are busy is by defining an InnerCircle (III A 7). When we are very busy we might want our software to notify people trying to reach us that we are unable to answer them right now---Gone Fishin' (AwayMessages III A 4 a). Sometimes our busyness lasts for days or longer and we want to minimize the messages that we receive---GoAway (III A 6a). Each piece of software we use needs to respect our current interruption setting and also keep track of how intensively we are using it and share that information with other programs---GoodIntegrationWithOtherTools (V A). For some messages, our email software can automatically file them away for our later perusal or possibly even just delete it---MailFiltering (IV C). (III A 6) Interruption Gradient --- RichardGabriel 21 Dec 2001 ... in TheContextOfOurLives we want and need to be able to control how and when we are interrupted. With an AwarenessOfPresence and the ability to GoAway it should be possible to make communication software more humane ... * * * |
* Dan happens to be part of your InnerCircle (III A 7) * You may want to personalize form letters to people within your InnerCircle |
The different things people do require differing degrees of privacy and concentration. People can set their answering machines to pick up before any rings are audible or turn off the ringer altogether; at home they can perhaps go to a quiet room to avoid doorbells and at work they may be able to close their doors. People want to focus on one thing at a time, and sometimes do not want to be interrupted for small matters because they would lose focus. But they may want particular, important events to interrupt them. |
Given that knowledge, the tool could prompt you to input personalized text to Dan and even let you decide where to include this text in the party form letter that will be sent to him. Such a capability would be a leap ahead in terms of what our email programs can do today. In fact, most of today's popular email applications don't even provide the ability to send out a form letter that includes a greeting addressed to each recipient's first name. |
Computer software is usually designed assuming the "user" will bestow total concentration on that software or that the "user" will happily attend to every bell the software may wish to ring, but it isn't so. A person working hard may want to drown out some or all messages-perhaps all messages except those from specific people such as family members or an eagerly awaited note on a particular topic. |
Make it easy to send a form letter that prompts the sender to input personalized text to all recipients or a select few (InnerCircle) and let the sender position this text within the form letter. Include a mechanism that lets senders easily include greetings to each recipient's first name. |
Enable a person to control easily when and why software notifies or interrupts them. A simple slider and perhaps a set of easily configured filters could be used to set a degree of interruptability to control many different configuration options in all of that person's software. |
Make it easy for people to un-subscribe from form letters---EasyToUnsubscribe (V C) |
A computer that can detect whether a person is present can additionally tailor the way it announces events, messages, and other happenings. Rather than a set of dialog boxes sprinkled on the screen and flashing icons, the computer could make a synopsis of what has happened sorted in roughly most urgent to least urgent. Given this, software could having varying degrees of being away associated with its master, and can politely summarize the routine and gently urge into the person's attention the urgent. See PrivacyGradient for a related set of concerns. |
(III A 6) Interruption Gradient --- JoshuaKerievsky 04 Dec 2001 |
(III A 10) Intimacy Gradient --- RonGoldman 4 Feb 2002 |
... to be thoroughly responsive to how we will interact with our communications software---TheContextOfOurLives (III A), AwarenessOfPresence (III A3), you are designing features to support multiple, customizable work modes. Such features will allow users to experience different levels of interaction based on their different modes of working. Given the need to fully concentrate on a message, a user will be able to fully control the degree to which they are interrupted or even tempted to be interrupted. Given a less focused state, in which interruptions are welcome, the user will be able to set their software to fully interact with them. We love getting messages, but they are often so distracting that we can't get much done, due to constant interruptions or temptations. Most modern email clients give users a heads-up-display that shows nearly everything that is happening with messages and connections and email folders. When new mail arrives, we're notified of that fact by gyrating icons, dialog boxes and tabulated message counts. If the email client accepts and displays web pages, we have the potential to be very much distracting by junk mail that arrives with seductive advertisements, complete with flashy graphics, stylized text and even accompanying music! How can one peacefully compose an important message amidst so much interaction? Of course, any sophisticated email user will explain that their are many ways to customize the email program: hide this window like this, don't show that prompt by clicking this box in this options screen, etc, etc. But most users rarely explore the settings in their email's software---mostly because it involves navigating many foreign dialog boxes. And, even if they did know what to set to obtain the desired level of interaction, that interaction level would only be good for one working style and would need to be changed given a different working style. The trouble is, no one wants to constantly be clicking on settings in dialog boxes, no matter how many cool settings they let you customize. Therefore, Make it simple to adjust how much we're interrupted by our communications software by providing a graphical knob to control levels of interruption. Depending on where we move this knob, the software will welcome no interruptions, some interruptions or all interruptions. Let the knob settings correspond to named modes of work and let users easily customize these modes with a variety of software settings such that simple turnings of the knob will effect numerous software settings. The Interruption Gradient will allow users to easily enter a mode of work in which they are fully focused on one task---GoAway (III A 6a) and will provide an easy way to not get distracted by highly stylized emails---StylizedLetter (I B). Given a certain interruption setting, users who may see that you are currently online, would be notified that you are currently not available for a quick chat---QuickChat (III B2). Given another setting, a chat request from a close friend would be permitted to interrupt you, while chat requests from colleagues would be recorded but not granted. Ideally, your Interruption Gradient settings will be observed by other programs that interact with your communications software---GoodIntegrationWithOtherTools (V A) ... (III A 6) Interruption Gradient --- RonGoldman 18 Dec 2001 . . . within TheContextOfOurLives (III A) our machines need to understand what we are working on and how busy/active we are---AwarenessOfPresence (III A3). How they interact with us should be based on that information. |
. . . in TheContextOfOurLives (III A) we interact with many people, some we are close to while others remain strangers. In our electronic interactions with them we want to differentiate between our public and private life. |
When really concentrating on a task, people hate to be interrupted. |
In the physical world a well designed building is arranged so that there is a gradient from a more public space (e.g. front porch) to a more private one (e.g. bedroom). This allows us to keep strangers out of the intimate parts of our lives, and to meet with our close friends and family in special places. In the electronic realm such discrimination is not always possible. |
Much of what we do requires us to concentrate. For many tasks we are most productive when we can devote an uninterrupted stretch of time to them. If we are constantly interrupted by others, it is hard to regain our focus and make progress. This is such a problem in the office place that many people routinely come in early or stay late, so that no one else will be around to disturb them. |
Many people carry pictures of their loved ones in their wallet or purse to show to others. Online they may post them on their personal web site, but then anyone can see them---not a comforting thought in today's world. As a result some people no longer include pictures of their children or they put them in a password protected, private section or their web site and only give out the password to their family and friends. Many companies and organizations similarly section off areas of their web presence to limit who can visit there. |
People present in the same room as we are that want to talk with us can look to see if we are busy and if so wait until later. However, our colleagues and friends that choose to interact with us via telephone or email have no idea what we are doing and they cannot help but interrupt us with a ringing phone or a beeping computer. |
A staple of online chat is the ability of two or more people to create a private chat room for themselves. |
We can always unplug our phone and disable email notifications, but we still want important messages to be able to reach us. We need to see an important email from a coworker as soon as it arrives, but other messages can wait---especially routine messages from mailing lists we subscribe to. We want our children to be able to call us, but don't want to be bothered by telemarketers. Some email programs allow the sender to specify a priority for a message, ranging from urgent to normal to bulk mail. Unfortunately the priority is ignored when the message is received---at most it's just displayed by the client email program. Ideally a person could tell their email program that when they are busy only notify them about new mail that is marked as urgent or messages from a small list of people. New email would only interrupt them then when appropriate. The opposite case is that urgent email arrives but we are not sitting in front of our computer. Often by the time we return, any notification that we have urgent new email has disappeared. At most we might see a special icon attached to the message in our in box. If our software is maintaining an awareness of our presence, then it can make sure to inform us when we return, and even gently remind us until we acknowledge it. |
In the world of email there are mailing lists that are invitation only; not everyone can join them. Some lists (and newsgroups) are moderated to again limit they range of messages that pass over them. To separate the private from the more public part of their lives many people have multiple email accounts. That way they can control how different people can reach them. Another common technique is to have multiple folders and have one's email client automatically filter incoming messages by who sent them---this is often very difficult to do with the available filters on current email clients. One of the reasons that spam is so offensive is that it appears in our personal electronic space in the area we associate with our friends and family. |
Make our software like an attentive butler that is aware of how busy we are and that only interrupts us for important things. Make it easy for a person to specify how busy they are and what they consider important. When we try to reach another person make it easy to specify how urgent our communique is. * * * One way to describe who we want to be able to reach us when we are busy is by defining an InnerCircle (III A 7). When we are very busy we might want our software to notify people trying to reach us that we are unable to answer them right now---Gone Fishin' (AwayMessages III A 4 a). Sometimes our busyness lasts for days or longer and we want to minimize the messages that we receive---GoAway (III A 6a). Each piece of software we use needs to respect our current interruption setting and also keep track of how intensively we are using it and share that information with other programs---GoodIntegrationWithOtherTools (V A). For some messages, our email software can automatically file them away for our later perusal or possibly even just delete it---MailFiltering (IV C). (III A 6) Interruption Gradient --- RichardGabriel 21 Dec 2001 ... in TheContextOfOurLives we want and need to be able to control how and when we are interrupted. With an AwarenessOfPresence and the ability to GoAway it should be possible to make communication software more humane ... |
Include in the design of any electronic communications tool ways for people to control who has access to them. Allow ways to easily separate public from private interactions. Contrast this pattern with the concerns in the other patterns PrivacyGradient (III A 5) and InterruptionGradient (III A 6): PrivacyGradient is focused on allowing us to limit what other people know about us. InterruptionGradient deals with how we are notified of incoming messages. They both have an associated Intimacy Gradient---we want to let some people know more about us than others and to be notified differently when a message arrives from someone special. |
The different things people do require differing degrees of privacy and concentration. People can set their answering machines to pick up before any rings are audible or turn off the ringer altogether; at home they can perhaps go to a quiet room to avoid doorbells and at work they may be able to close their doors. People want to focus on one thing at a time, and sometimes do not want to be interrupted for small matters because they would lose focus. But they may want particular, important events to interrupt them. Computer software is usually designed assuming the "user" will bestow total concentration on that software or that the "user" will happily attend to every bell the software may wish to ring, but it isn't so. A person working hard may want to drown out some or all messages-perhaps all messages except those from specific people such as family members or an eagerly awaited note on a particular topic. Therefore, Enable a person to control easily when and why software notifies or interrupts them. A simple slider and perhaps a set of easily configured filters could be used to set a degree of interruptability to control many different configuration options in all of that person's software. * * * |
A way to specify policies for groups of people is by defining an InnerCircle (III A 7). Another is to include MetaInformation (IV B). That makes it possible for PeopleTalkToPeopleMachinesTalkToMachines (I D). |
A computer that can detect whether a person is present can additionally tailor the way it announces events, messages, and other happenings. Rather than a set of dialog boxes sprinkled on the screen and flashing icons, the computer could make a synopsis of what has happened sorted in roughly most urgent to least urgent. Given this, software could having varying degrees of being away associated with its master, and can politely summarize the routine and gently urge into the person's attention the urgent. See PrivacyGradient for a related set of concerns. |
One way to prevent access is by establishing a CommunicationDoor (III A 8) |
(III A 10) Intimacy Gradient --- RonGoldman 4 Feb 2002 |
(I A) Intimate Communication --- RichardGabriel 6 Dec 2001 |
. . . in TheContextOfOurLives (III A) we interact with many people, some we are close to while others remain strangers. In our electronic interactions with them we want to differentiate between our public and private life. |
. . . NoManIsAnIsland. People need to express emotions (SharingFeelings) as part of the RhythmOfConversation. Communicating private and intimate thoughts are part of TheContextOfOurLives. People require privacy and confidentiality . . . |
In the physical world a well designed building is arranged so that there is a gradient from a more public space (e.g. front porch) to a more private one (e.g. bedroom). This allows us to keep strangers out of the intimate parts of our lives, and to meet with our close friends and family in special places. In the electronic realm such discrimination is not always possible. |
High-tech communication focuses on information content—the words "information content" reflect deep concern about technology and shallow concern about humanity. |
Many people carry pictures of their loved ones in their wallet or purse to show to others. Online they may post them on their personal web site, but then anyone can see them---not a comforting thought in today's world. As a result some people no longer include pictures of their children or they put them in a password protected, private section or their web site and only give out the password to their family and friends. Many companies and organizations similarly section off areas of their web presence to limit who can visit there. |
Transmitting information from one person to another was one of the first applications of the Arpanet—precursor to the Internet. These early mail programs were designed for the purpose of to move research and military information expediently. Soon, however, it became apparent that the medium was going to be used as a substitute for postal mail and telephone calls. Later these early mail programs were used for collaboration on projects. The natural inclination of people to socialize and share personal correspondence rose to the surface. |
A staple of online chat is the ability of two or more people to create a private chat room for themselves. In the world of email there are mailing lists that are invitation only; not everyone can join them. Some lists (and newsgroups) are moderated to again limit they range of messages that pass over them. To separate the private from the more public part of their lives many people have multiple email accounts. That way they can control how different people can reach them. Another common technique is to have multiple folders and have one's email client automatically filter incoming messages by who sent them---this is often very difficult to do with the available filters on current email clients. One of the reasons that spam is so offensive is that it appears in our personal electronic space in the area we associate with our friends and family. |
Instead of only typing in data from the latest experiment or logistical timetables, people additionally started writing letters, expressing grief and joy, and sharing personal milestones. One finds it hard to speak of the expression of love or sympathy over the loss of a parent as "content." |
Include in the design of any electronic communications tool ways for people to control who has access to them. Allow ways to easily separate public from private interactions. Contrast this pattern with the concerns in the other patterns PrivacyGradient (III A 5) and InterruptionGradient (III A 6): PrivacyGradient is focused on allowing us to limit what other people know about us. InterruptionGradient deals with how we are notified of incoming messages. They both have an associated Intimacy Gradient---we want to let some people know more about us than others and to be notified differently when a message arrives from someone special. |
Endeavor to create a textual electronic communications system which recognizes that people will be communicating intimately, expressing their deepest feelings in words typed in to a machine. Do what you can to make the experience human and humane, make the tools adapted and adaptable to how people will work when expressing their most private thoughts. |
A way to specify policies for groups of people is by defining an InnerCircle (III A 7). Another is to include MetaInformation (IV B). That makes it possible for PeopleTalkToPeopleMachinesTalkToMachines (I D). One way to prevent access is by establishing a CommunicationDoor (III A 8) |
Make it possible for people to write a SlowLetter, express Deep Emotion (DramaticEffect), respecting their privacy (PrivacyGradient, PrivateConversation) and dignity. Make the experience transparent (LowOverheadMessages, EditingEase) and flexible (EaseOfShiftingModality). |
(I A) Intimate Communication --- RichardGabriel 6 Dec 2001 |
mailto:joshua@industriallogic.com |
. . . NoManIsAnIsland. People need to express emotions (SharingFeelings) as part of the RhythmOfCommunication. Communicating private and intimate thoughts are part of the ContextOfOurLives. People require privacy and confidentiality . . . |
website: http://industriallogic.com/ |
* * * |
until Joshua changes it, here is his bio from the Patterns wiki |
High-tech communication focuses on information content—the words "information content" reflect deep concern about technology and shallow concern about humanity. |
Some History |
Transmitting information from one person to another was one of the first applications of the Arpanet—precursor to the Internet. These early mail programs were designed for the purpose of to move research and military information expediently. Soon, however, it became apparent that the medium was going to be used as a substitute for postal mail and telephone calls. Later these early mail programs were used for collaboration on projects. The natural inclination of people to socialize and share personal correspondence rose to the surface. |
My experience goes back to the IBM Mainframes: I used to draw them with crayons when my Father would bring me to work. I started real programming before I could drive, writing applications in Basic and Pascal on various machines, including the Apple IIe. I continued to program in Junior High and High School and then abandoned software to go to College. In College, I decided to take a year off between my Sophomore and Junior years. It was during this time that I landed a professional programming job for a Bank on Wall Street. After graduating, I went to work for that Bank, designing and programming numerous financial systems in the Credit and Market Risk departments. Ten years later, at the end of '95, after realizing that I work too hard not to own the stuff I produce, I founded Industrial Logic, Inc. [1] |
Instead of only typing in data from the latest experiment or logistical timetables, people additionally started writing letters, expressing grief and joy, and sharing personal milestones. One finds it hard to speak of the expression of love or sympathy over the loss of a parent as "content." |
Today |
Therefore, |
Today I run Industrial Logic, a company which provides software consulting and training services to diverse industries. In this role, I help companies design and develop systems, teach patterns of software development, and collaborate with other small consulting shops on various projects. |
Endeavor to create a textual electronic communications system which recognizes that people will be communicating intimately, expressing their deepest feelings in words typed in to a machine. Do what you can to make the experience human and humane, make the tools adapted and adaptable to how people will work when expressing their most private thoughts. |
I'm personally quite active in the patterns community though I have not published extensively. I think patterns are incredibly useful. Over time, I've grown to see that Pattern Languages provide very dependable ways to communicate knowledge. |
* * * |
Programming With Patterns |
Make it possible for people to write a SlowLetter, express Deep Emotion (DramaticEffect), respecting their privacy (PrivacyGradient, PrivateConversation) and dignity. Make the experience transparent (LowOverheadMessages, EditingEase) and flexible (EaseOfShiftingModality). |
Programming With Patterns is a new series of online workshops dedicated to teaching people how to use Patterns intelligently. You can learn more about this by visit http://industriallogic.com/training/pwp.html Pools of Insight: A Pattern Language For Study Groups I've been working on two pattern languages for some time now. One is close to being complete. It is all about forming and running study groups. You can read more here: http://industriallogic.com/papers/kh.html |
(IV A 3) Archives --- RonGoldman 10 Jan 2002 . . . when we engage in GroupDiscussions (II) or individual Conversations (ConversationsThreading IV A 2) we often would like to keep a record of what was said. |
(III C 1) Low Overhead Messages --- RichardGabriel 3 Dec 2001 |
. . . you are building a textual electronic communication system for very non-expert computer people . . . |
Many important discussions are held electronically and it is important that the participants do not lose track of what has been said. Moreover new individuals are always joining ongoing discussions and need to understand the history of the conversation. When we are part of a continuing online discussion we face a dilemma of what to do with the messages we receive. Do we try to keep a copy of each message? Maybe we only try to save the important ones. Or only keep them until we have answered them. It is certainly hard to delete a well written or important note that you think might be useful at some point in the future. |
You want your users to be able to compose and send a message without having to work too hard at the mechanics of sending a message. The goal of a user is to communicate with another person or group not with the computer. |
But even if we decide to save them, how do we organize them? We may be a member of many different groups, each of which may have multiple ongoing conversations. and if we save them how do we locate a message we only vaguely remember? We know the information we want is there but how do we find it? |
Computer-based communication is too hard to understand for no benefit to a person. Once a person is in the mood to send some sort of message, he or she is not in the mood to deal with the mechanics of the software. Yet, the mechanics need to be dealt with in order to make the communication possible. |
When we join a new group how do we learn its history? How do we view the conversation that took place before we joined? |
Therefore, |
For mailing lists the general answer is to save all of the messages ever sent to the list in a central place and allow anyone to retrieve old messages. A great resource on the internet is the historical archive of all posts to Usenet newsgroups that includes more than 700 million messages dating back to 1981. |
Build a system that fills in as much as possible of the mechanics of the message. The header for a message should be as completely filled out as possible from the message being responded to. Addressing to new people might be through auto-completion from the database consisting of all received and sent messages as well as an address book. Responses to messages should include the original message in a form convenient to use and modify. Signatures should be filled in automatically. Make it easy to respond to the sender and all recipients of a message or just to the sender. Making forwarding email effortless by constructing all but the recipients' names. |
Therefore: Make it easy for anyone creating a new mailing list to have messages sent to the list be stored in an archive. Provide numerous views of archived messages, some that are chronological, some in threads, by subject, by author, etc. Provide ways for people to search the archive. Allow users to annotate the messages. |
Rather than making the person go to the computer, make the computer go to the person. A lot of the work of sending a message can be automated, so automate it. The letter writer should rarely if ever have to deal with issues surrounding the network connections. |
Individuals may want to be able to make private annotations on messages in a public archive---AnnotatedMessages (IV B 1) and FlaggedMessages (IV B 2). Augment archives with summaries of important topics that newcomers need to know---FAQ's (FrequentlyAskedQuestions II B 1). Keeping an archive raises privacy concerns. It also has legal implications as lawsuits may demand that all of the messages sent to a private mailing list be turned over to the court as evidence. |
This pattern can be assisted by IntelligentFormLetters and possibly SharingFeelings. QuickChat might be related since it deals with switching modes, which is a form of mechanics hiding. |
(III C 1) Low Overhead Messages --- RichardGabriel 3 Dec 2001 |
(V) Machine issues |
. . . you are building a textual electronic communication system for very non-expert computer people . . . * * * You want your users to be able to compose and send a message without having to work too hard at the mechanics of sending a message. The goal of a user is to communicate with another person or group not with the computer. Computer-based communication is too hard to understand for no benefit to a person. Once a person is in the mood to send some sort of message, he or she is not in the mood to deal with the mechanics of the software. Yet, the mechanics need to be dealt with in order to make the communication possible. Therefore, Build a system that fills in as much as possible of the mechanics of the message. The header for a message should be as completely filled out as possible from the message being responded to. Addressing to new people might be through auto-completion from the database consisting of all received and sent messages as well as an address book. Responses to messages should include the original message in a form convenient to use and modify. Signatures should be filled in automatically. Make it easy to respond to the sender and all recipients of a message or just to the sender. Making forwarding email effortless by constructing all but the recipients' names. Rather than making the person go to the computer, make the computer go to the person. A lot of the work of sending a message can be automated, so automate it. The letter writer should rarely if ever have to deal with issues surrounding the network connections. * * * This pattern can be assisted by IntelligentFormLetters and possibly SharingFeelings. QuickChat might be related since it deals with switching modes, which is a form of mechanics hiding. |
no versions written yet |
(V) Machine issues |
(IV C) Mail Filtering |
(IV C) Mail Filtering |
(IV A 5) Folders |
note: can file a message in multiple folders --- unlike real world where an object can only be in one place at a time... |
(IV A 5) Folders |
(III C 3) Mail Merge |
note: can file a message in multiple folders --- unlike real world where an object can only be in one place at a time... |
(III C 3) Mail Merge |
(IV B) Meta Information --- RonGoldman 21 Feb 2002 |
no versions written yet |
. . . all communications between people takes place in TheContextOfOurLives (III A). The contextual information is as much a part of our communication as the messages themselves. * * * When we pick up an old letter we received years ago it may cause us to remember all that was happening back then: the person that sent it, how we felt, what our concerns were then, who we were even. Other times we are not so lucky and we are left wondering: who was it from, whatever was it to us.... How many times have you looked at an old photograph and wondered who were the people in it. At the time it was taken we may have thought we'd always remember, but we don't always do so. How wonderful then if we turn it over and see we left a note to our future self giving names to the faces and a description of the event recorded. It's not just as an aid to our memories that we want information about our communications. When we get a phone call how convenient to have caller id let us know who is calling before we are committed to talking to them. In our email it is a help when our email client application shows us whether we've read a message yet or if we've replied or forwarded it. Seeing who a message is from and what the subject is helps us to prioritize the order we read our mail. Being able to sort our messages by date or sender or subject aids us in organizing our correspondence and finding old messages---studies have even shown that people make more use of sort than they do of search. Other useful "meta information" about our email is to connect a message sent in reply to a previous email. How much better would it be for us if our email clients let us easily view the thread of messages that make up a conversation---Conversations (threading) (IV A 1). Newsgroup readers often use the information of what postings are replies to others to allow them to display related messages in the order they were posted. That makes it much easier for us to later follow the course of the online discussion. Keeping contextual information about a message is useful for both us and our machines. It lets us better understand and navigate our messages. It also enables our machines to act more appropriately by taking into account a larger context---be it not posting an automatic away message in reply to a message received from a mailing list, or not beeping to notify us that we have received more spam. In some sense meta information is a way for us to inform our computers of our goals. Currently we may only be able to specify things at the level of sorting our mail with filters, but that's a start. Therefore, Include contextual details as meta information associated with messages. Allow for people to add whatever additional information is important to them. Design applications to take advantage of the meta information in order to act more appropriately. * * * Some meta information is added by the recipient of a message after reading it---AnnotatedMessages (IV B1) and FlaggedMessages (IV B 2). Other information may be added automatically by an application when the message is created or processed. |
(IV B) Meta Information --- RonGoldman 21 Feb 2002 |
(IV A 4) Morning Paper (was Digest) --- RonGoldman 12 Jan 2002 |
. . . all communications between people takes place in TheContextOfOurLives (III A). The contextual information is as much a part of our communication as the messages themselves. |
. . . the RhythmOfConversation (III B) varies considerably for GroupDiscussions (II), some people will prefer to respond immediately to new messages while others will favor dedicating a chunk of time to the discussion. |
When we pick up an old letter we received years ago it may cause us to remember all that was happening back then: the person that sent it, how we felt, what our concerns were then, who we were even. Other times we are not so lucky and we are left wondering: who was it from, whatever was it to us.... |
Some people work better when they can devote a continuous period of time to a task; they prefer to deal with the task in one big chunk rather than lots of little ones. |
How many times have you looked at an old photograph and wondered who were the people in it. At the time it was taken we may have thought we'd always remember, but we don't always do so. How wonderful then if we turn it over and see we left a note to our future self giving names to the faces and a description of the event recorded. |
An example is how people read the newspaper: Most people prefer to sit down with their morning paper and read it through in one sitting. Likewise for those who read the evening paper after returning home from work. |
It's not just as an aid to our memories that we want information about our communications. When we get a phone call how convenient to have caller id let us know who is calling before we are committed to talking to them. In our email it is a help when our email client application shows us whether we've read a message yet or if we've replied or forwarded it. Seeing who a message is from and what the subject is helps us to prioritize the order we read our mail. Being able to sort our messages by date or sender or subject aids us in organizing our correspondence and finding old messages---studies have even shown that people make more use of sort than they do of search. Other useful "meta information" about our email is to connect a message sent in reply to a previous email. How much better would it be for us if our email clients let us easily view the thread of messages that make up a conversation---Conversations (threading) (IV A 1). Newsgroup readers often use the information of what postings are replies to others to allow them to display related messages in the order they were posted. That makes it much easier for us to later follow the course of the online discussion. Keeping contextual information about a message is useful for both us and our machines. It lets us better understand and navigate our messages. It also enables our machines to act more appropriately by taking into account a larger context---be it not posting an automatic away message in reply to a message received from a mailing list, or not beeping to notify us that we have received more spam. In some sense meta information is a way for us to inform our computers of our goals. Currently we may only be able to specify things at the level of sorting our mail with filters, but that's a start. |
So with email, many people would do not want to receive dozens of messages throughout the day. Instead they would prefer to get a single digest of messages each day for each mailing list they subscribe to. Then rather than being continuously interrupted, they can focus on all of the messages on the mailing list at one time. Moreover if the digest is sent late at night, it will not interrupt most people; instead it will be sitting in their in basket when they start their day---just like a morning paper. |
Include contextual details as meta information associated with messages. Allow for people to add whatever additional information is important to them. Design applications to take advantage of the meta information in order to act more appropriately. |
Make it possible for people to receive all the messages sent to a mailing list during the day in a single digest message. Let the user reply to an individual message in the digest, so as to respect the threads of individual conversations (ConversationsThreading IV A 1). |
Some meta information is added by the recipient of a message after reading it---AnnotatedMessages (IV B1) and FlaggedMessages (IV B 2). Other information may be added automatically by an application when the message is created or processed. |
(IV A 4) Morning Paper (was Digest) --- RonGoldman 12 Jan 2002 |
(III A 1) Multiple Personalities --- RonGoldman 30 Nov 2001 |
. . . the RhythmOfConversation (III B) varies considerably for GroupDiscussions (II), some people will prefer to respond immediately to new messages while others will favor dedicating a chunk of time to the discussion. |
. . . you wish to build a program that reflects the richness of our lives so it will act appropriately in different contexts---TheContextOfOurLives (III A). |
Some people work better when they can devote a continuous period of time to a task; they prefer to deal with the task in one big chunk rather than lots of little ones. |
We present different sides of ourself to different people. Our identity is plural, not singular. |
An example is how people read the newspaper: Most people prefer to sit down with their morning paper and read it through in one sitting. Likewise for those who read the evening paper after returning home from work. |
For example, people customarily have several email accounts: one email address for work, another for a personal account, one given out to online merchants, another to a special interest group. Most email programs ignore this fact and make it difficult to switch from one address to another. |
So with email, many people would do not want to receive dozens of messages throughout the day. Instead they would prefer to get a single digest of messages each day for each mailing list they subscribe to. Then rather than being continuously interrupted, they can focus on all of the messages on the mailing list at one time. Moreover if the digest is sent late at night, it will not interrupt most people; instead it will be sitting in their in basket when they start their day---just like a morning paper. |
Each identity may also involve preferences on how various programs should be configured. This is particularly true when multiple individuals use the same computer. Each person will have their own preferences. |
Make it possible for people to receive all the messages sent to a mailing list during the day in a single digest message. Let the user reply to an individual message in the digest, so as to respect the threads of individual conversations (ConversationsThreading IV A 1). |
In any program that involves our online identity include the capability for easily switching between various identities. (III A 1) Multiple Personalities --- RichardGabriel 11 Feb 2002 . . . In TheContextOfOurLives people shift identities. Building a textual electronic communications system, don't be fooled by identity . . . |
When it comes to electronic communications, many people have multiple identities. A employer may give you one electronic identification while you might have several of your own. I, for example, am rpg@eng.sun.com, Richard.Gabriel@sun.com, rpg@dreamsongs.com, and nickieben@earthlink.net. From my computer I am able to connect to all these places and read email. I want, however, to use one program to do that, and without having to go through a lot of steps to switch personalities. When a person acts in a role, we call that a "personality," because we are not pretending to be someone different, we are someone different because we are acting in a different context. How I act, what I do, and what I say at work is different from those same actions when I'm at a poetry workshop. The engineering details of email and messaging can get in the way. Some places use IMAP, others POP. According to Christopher Alexander, engineering should never dictate social spaces: "a first principle of construction: on no account allow the engineering to dictate the building's form." Although multiple steps might be needed to effect the change from one personality to another, I want to do only one. On the other hand, some personalities may not be able to be "invoked" in all circumstances. When I am at Sun, I cannot fully be rpg@dreamsongs.com or nickieben@earthlink.net, because I cannot access my email from within Sun's firewall. And in some cases, rpg@dreamsongs.com may not be allowed to know what Richard.Gabriel@sun.com knows, or at least it cannot appear that way. However, in some cases a person in a single location can receive messages from many if not all personalities. For example, while at home I can easily receive email sent to rpg@dreamsongs.com, and I can easily receive email as rpg@eng.sun.com. However, to be able to turn from receiving messages from one of these to receiving from the other requires me to switch my TCP/IP settings, invoke a VPN client, log in manually, and switch my mailer settings. VPN is secure connection, so no one allows the process to be entirely automatic. However, allowing a personal item to stand in for the person is as secure as one can ever get, so it should be allowed. Regardless of which personality I am, I am always myself, and sometimes messages received or sent as one personality are relevant to another. I should be able to observe merged or separate message tracks. Some systems have "location managers" that solve some issues attendant to this problem, such as changing network connection settings when you move with your laptop, which might be part of a personality switch-for example, when I go to my Sun office, I need to switch not only who I am but how I'm connected. Identifying personalities and connections seems to be difficult for software. In Eudora, I can't completely switch to being a totally distinct personality, but somehow I must always remain a variant of myself. For example, while at Sun, I could become rpg@dreamsongs.com were I able to receive email through POP and send it through IMAP, but Eudora doesn't contemplate this. With the Apple location manager it is never clear how I change or make location definitions. Therefore, Arrange for the textual electronic communications system to quickly switch from one personality to another, and for messages for each personality to be viewed either separately or merged. If messages from one personality should never be mixed up with messages from another personality, make the software able to respect that requirement. * * * To fully realize this pattern requires MailMerge and UniversalAccess. Moreover, there needs to be security allowances and connections into the operating systems' inner workings, at least as far as connections to the network are concerned. |
(II B) Nurture Community (was Host and Introductions and Culture) --- RonGoldman 11 Feb 2002 . . . GroupDiscussions (II) involve more than just the exchange of messages, they are also about creating community. * * * "A community is a group of people with a shared interest, purpose, or goal, who get to know each other better over time." [Amy Jo Kim, "Community Building on the Web"] But getting to know a group of people when all of your interactions are via computer can be difficult. For a lot of people moving to a new town where you don't know anyone can be a lonely experience. Even attending a party with people you do not know can be difficult; there are people to talk to, but you don't know them or their interests. At a good party there is a host who will introduce you to different folks and maybe even point out common interests you share. The online world also benefits from people acting as hosts that greet newcomers, help orient them, introduce them to other members of the community, and generally keep things running smoothly. The host, and other community elders, help establish the tone for the community, providing an example of how people should act. The underlying technology can also help to orient newcomers to an ongoing community. For example, on IRC chat there is the "whois" command to find out a person's name and email address. Some chat systems let people specify other information to be included with their "whois" information such as the URL for their home web page, a list of their interests, or whatever they want other people to know about them. Some web-based discussion groups, such as Yahoo! Groups, let people see a list of all of the group's members that includes links to their personal profiles pages. Some mailing lists have a culture that encourages people to introduce themselves the first time they post to the list. Those messages are often saved, so newcomers can always search the archives to find out more about other, more visible members. Each community has its own unique culture with its own phrases, in jokes, rituals, and customs. Some of this can be recorded in files or web pages that newcomers can then read to learn about the community. Therefore, Provide support for the community aspects of a discussion in addition to the basics of its communications. Recognize the different roles people play in a community and design the various computer applications to better support people in those roles. * * * Archives (KeepArchives IV A 3) provide a ways to provide a memory for the community and to enable newcomers to understand its history. FrequentlyAskedQuestions (II B 1) are very useful to help orient newcomers. Keeping the discussion running smoothly can sometimes require QualityControl---Moderation (II C). |
(III A 2) One Person, Many Machines --- JoshuaKerievsky 03 Dec 2001 |
Here is our current list of patterns, somewhat organized into categories. Some of the patterns have one or more versions written up, others are placeholders yet to be written. |
. . . Our communications software must be responsive to TheContextOfOurLives (III A). One such context is the ever changing landscape of machines we work on. Good communications software will give us universal access to our textual electronic communications, freeing us from dependencies on particular machines. |
A Pattern Language for Textual Electronic Communication |
* * * |
NoManIsAnIsland |
If you routinely communicate with people from different machines, it's likely that your communications will be scattered around on various hard-drives, unreachable when you aren't near a particular machine. The vast majority of us who do communicate with people from different machines are compelled to invent ways to cope with our scattered messages: * Linda is going on a trip with her laptop and she needs access to some important messages she's exchanged with her client. She doesn't know how to easily copy message from her desktop to her laptop, so she spends the time to print out each message and stows the paper documents in her luggage. * While on her business trip, Linda uses her laptop to communicate with clients, loved ones and friends. When she returns to her office, she goes back to using her desktop. One day she needs to recall what she had quoted to a her client. She can't find the quote in any email on her desktop machine, so she goes digging around for it on her laptop. * On another trip, Linda's screen on her laptop never turns on, making her machine useless. When she returns from her trip, she finds out that the cost to repair the machine is close to the cost to buy a new one. She decides that it would be better to buy a new one, even though she'll loose many important messages and documents on her laptop. Stories like this are commonplace when people interact with communications software from many machines. Of course, some figure it all out---they come up with just the right way to use their machines and software to make all their messages accessible to them. But these folks are in a tiny majority of folks who either learned how to do this from a someone else, or had the technical expertise to make it work. Therefore Make textual electronic communications accessible from our various machines, but not dependent on those machines for the storage of our messages. * * * Machines can often fail us in remote locations, when access to our messages can be important. At such times, communications software systems can cooperate with non-software systems---like faxes, phones or even postal mail---to give us access to our messages. Good communications software will know how to interact with us as we move from machine to machine---UniversalAccess (III E), AwarenessOfPresence (III A3), TimeSensitiveAndLocationSensitive (III A4). (III A 2) Electronic Nomads (was One Person, Many Machines) --- RonGoldman 6 Dec 2001 . . . the pattern TheContextOfOurLives (III A) provides for programs to act appropriately in different contexts. This context goes beyond the here and now, as tasks we are engaged in extend over days, weeks and even years. As we move about it also extends to the many different computers and electronic devices that we encounter and use. * * * To fully function in the world we rely on external artifacts. As we work and play we do not attempt to remember everything in our heads. Instead we depend upon address books, calendars, notes, drafts of work in progress, filed copies of our correspondence, books, and other external memory aids. Likewise we have our favorite tools, be it a fine pen or a power saw. Depending on external technology creates a problem when we move about in the world. We either have to take our artifacts with us or hope to make use of those available wherever we are going. The same is true in the electronic realm: when we move from one computer to another we need to bring with us copies of our letters and notes, along with the programs we have learned to use. When we start interacting with a new computer, it has no knowledge of the context of our lives. We must start from scratch, copying our world to it. We must install the software we wish to use, copy the information of who we are and what we are working on, and re-establish our preferred working environment. If we only seldom needed to shift to a new machine then the problem, while an inconvenience, would be bearable. However people often use many different machines in the course of a single day. They may shift from a computer at work to their portable laptop or to a smaller PDA. They may sit down at a coworker or friend's machine. They move from home to work. Over time old machines break or become obsolete and are replaced with newer designs. This nomadic lifestyle leaves us with information about our lives scattered amongst all of the machines we use. A letter we just received is on our home machine, our latest notes concerning a recent meeting on our laptop, but now we are at our work machine and need access to both. We need to enable our machines to talk to each other in order to always allow us access to our work. This inter-machine communication should occur automatically rather than force us to attend to the details manually. There might be some central---possibly web-based---place that contains our online lives, or just a way for one machine to inform or synchronize with another. The idea of turning off my home computer when I'm not using it may no longer make sense, if when I am at work, my work computer needs to retrieve information from my home one---when I use any computer, I may indirectly need to use my home machine. Similarly when we approach a strange machine, it should be able to "learn" our preferred work practices and be able to access our information. It needs to be able to converse with some other machine that already knows us that can tell it about us. Therefore, Build into every program a way for it to update and be updated about work we do on other computers. When we change our online world on one machine that change should be propagated to any other computer we use. * * * Making it easy for our machines to share information about us must be balanced with concerns about our privacy---PrivacyGradient (III A 5)---and our safety---SafeToUse (V D). Being able to use the same tools wherever we are ties into EditingEase (V B). In the longer term as our older machines cease to serve us, we face the loss of the tools (software) we know and (possibly) love. Shiny new replacements are unlikely to run the old applications, and we will be lucky if the new versions can make sense of the old formats that our lives are stored in---RosettaStone (V E) (III A 2) One Person, Many Machines --- RichardGabriel 7 Jan 2002 . . . Machines form part of TheContextOfOurLives as important tools, more important in some ways because we communicate so much with them, and the RhythmOfConversation doesn't heed how we switch from one machine to another, just as it doesn't heed one pen replaced by another . . . * * * Many people work from many computers, even during the same day. We like to work particular ways, and like dogs pressing down straw to make a nest we spend time customizing our machines for our best and most comfortable use. What data and information we keep on each machine is part of our context, but most of the time we don't associate that context with the machine. When I spend a week away from home, using my laptop to communicate, the people I communicate with don't care or even know something is different from when I am home, or even that I am away and not at home except that my rhythm might be off or the hours I communicate are different by time zones, travel, and meetings. A machine is a machine, but I and my context is what matters. Therefore, Arrange the textual electronic communications system so that when a person moves from one computer to another, all the personal preferences for how to communicate are moved from the one computer to the other. Further, make it so that all the archives, saved messages, partially composed messages, address books, presence settings, filters, and everything else associated with a person's use of the communications system is automatically moved from the one computer to the other. * * * Some systems call this synchronization, but it needs to go beyond data files to include personalizations and executable code that implements preferences. This will undoubtedly be a security nightmare since one needs to distinguish between synching up and someone stealing information (PrivacyGradient). Sometimes this will hard to do because we are not using our machines, but someone else's to read email or chat (UniversalAccess). AwarenessOfPresence will be difficult as well since we will be present on one machine which is representing us but perhaps not on others, or we want to appear less present only when connected by slow mechanisms to the Net. Some form of intermachine communication might be needed to make awareness of presence transparent. The system's awareness of urgency will depend on where you are and perhaps that depends on what machine you're on, so total machine transparency for context might be counterindicated (TimeSensitiveAndLocationSensitive). |
Here is our current list of patterns, somewhat organized into categories. Some of the patterns have one or more versions written up, others are placeholders yet to be written. |
(I D) People Talk to People, Machines Talk to Machines --- RonGoldman 12 Dec 2001 |
A Pattern Language for Textual Electronic Communication |
. . . we are concerned with TheContextOfOurLives (III A), and so then must our machines. But our machines also have their own contexts that they must deal with. When our machines have an AwarenessOfPresence (III A 3) they may need to share that information with other software. When we've Gone Fishin' (AwayMessages III A 4 a), our machine may need to let other machines know that we are away. |
NoManIsAnIsland |
* * * |
I. QualityOfConversations |
The inner workings of computers are filled with details that we do not want to be bothered with when we are using them. |
We use our technology as a tool to communicate with other people and as a tool to do our work. Good tools are transparent: They don't try to strike up a conversation with us, but quietly do our bidding. Only if problems arise do they need to inform us---and then in terms of the human world, not in machine terms. So never as an error code like "message had fatal error: 550", but rather in the context of what we were trying to do, like "no user named 'joe' was found at 'fabitz.com'." Our current systems don't respect this distinction and so assume any mail we receive needs to be dealt with by us directly. With dumb software that is the only safe choice, but by marking all messages with some type of meta information, our software can distinguish between messages sent by an individual, by a mailing list (and which one), and by a bulk mailing (spam). In that way our software can begin to act more intelligently. For example, our email program would know not to send our Gone Fishin' away message in reply to a message sent to a mailing list we are on. With the proper meta information attached to a message it becomes much easier for us to have our email filtered and sorted as we would like. Putting all the messages from one mailing list in a special folder is straightforward. When our machine receives a Return Receipt, it can then just flag the stored copy of the outgoing message as having been received. It is easy to keep track of the replies to each message and store them as ThreadedConversations. Therefore, Don't have programs throw away the human context when they interact with another program. Design programs to share information with other programs about the context that they are acting in. * * * Sometimes our machines need to talk to us---GentleReminder (III B 7)---while other times we want them to talk to other people in our stead---WhenOurMachinesActForUs (I D 1). For software to talk to other software requires GoodIntegrationWithOtherTools (V A). (I D) When People Talk to People & Machines Talk to Machines --- RichardGabriel 27 Dec 2001 . . . when designing software that interacts with people . . . * * * There are many worlds of conversation that intersect only on rare occasions: Dogs growling and people taking heed of the danger, storm clouds climbing above the trees and people taking in their laundry. Computers don't speak the language of people. Some interactions normally take place within their unique domains: Birds interact with birds, people with people. Computers shouldn't talk to people unless asked. Some principles transcend any application domain. When a computer talks to a computer, only programmers and sys admins might want in on the conversation. Therefore, Never design software to bother a person when a computer talks to a computer unless the person wants to listen in. Computer talk spilling into the domain of human consciousness without an explicit design requirement for it is a design error of the first magnitude. * * * An AwayMessage is the result of an explicit requirement for people to be able to ask their computers to intercede on their behalf to inform other people that they are away. However, when a mailing list server sends a message to a mailer, that mailer in sending back an AwayMessage is talking to another computer, and there is no explicit requirement that a mailing list---sometimes vast in its reach---should receive such an inconsequential communication. |
Here is our current list of patterns, somewhat organized into categories. Some of the patterns have one or more versions written up, others are placeholders yet to be written. |
(I D) People Talk to People, Machines Talk to Machines --- RonGoldman 12 Dec 2001 |
A Pattern Language for Textual Electronic Communication |
. . . we are concerned with TheContextOfOurLives (III A), and so then must our machines. But our machines also have their own contexts that they must deal with. When our machines have an AwarenessOfPresence (III A 3) they may need to share that information with other software. When we've Gone Fishin' (AwayMessages III A 4 a), our machine may need to let other machines know that we are away. |
NoManIsAnIsland |
* * * |
The inner workings of computers are filled with details that we do not want to be bothered with when we are using them. We use our technology as a tool to communicate with other people and as a tool to do our work. Good tools are transparent: They don't try to strike up a conversation with us, but quietly do our bidding. Only if problems arise do they need to inform us---and then in terms of the human world, not in machine terms. So never as an error code like "message had fatal error: 550", but rather in the context of what we were trying to do, like "no user named 'joe' was found at 'fabitz.com'." Our current systems don't respect this distinction and so assume any mail we receive needs to be dealt with by us directly. With dumb software that is the only safe choice, but by marking all messages with some type of meta information, our software can distinguish between messages sent by an individual, by a mailing list (and which one), and by a bulk mailing (spam). In that way our software can begin to act more intelligently. For example, our email program would know not to send our Gone Fishin' AwayMessages in reply to a message sent to a mailing list we are on. With the proper meta information attached to a message it becomes much easier for us to have our email filtered and sorted as we would like. Putting all the messages from one mailing list in a special folder is straightforward. When our machine receives a ReturnReceipt, it can then just flag the stored copy of the outgoing message as having been received. It is easy to keep track of the replies to each message and store them as threaded conversations (ConversationsThreading). Therefore, Don't have programs throw away the human context when they interact with another program. Design programs to share information with other programs about the context that they are acting in. * * * Sometimes our machines need to talk to us---GentleReminder (III B 7)---while other times we want them to talk to other people in our stead---WhenOurMachinesActForUs (I D 1). For software to talk to other software requires GoodIntegrationWithOtherTools (V A). (I D) People Talk to People & Machines Talk to Machines --- RichardGabriel 27 Dec 2001 . . . when designing software that interacts with people . . . * * * There are many worlds of conversation that intersect only on rare occasions: Dogs growling and people taking heed of the danger, storm clouds climbing above the trees and people taking in their laundry. Computers don't speak the language of people. Some interactions normally take place within their unique domains: Birds interact with birds, people with people. Computers shouldn't talk to people unless asked. Some principles transcend any application domain. When a computer talks to a computer, only programmers and sys admins might want in on the conversation. Therefore, Never design software to bother a person when a computer talks to a computer unless the person wants to listen in. Computer talk spilling into the domain of human consciousness without an explicit design requirement for it is a design error of the first magnitude. * * * AwayMessages are the result of an explicit requirement for people to be able to ask their computers to intercede on their behalf to inform other people that they are away. However, when a mailing list server sends a message to a mailer, that mailer in sending back an AwayMessage is talking to another computer, and there is no explicit requirement that a mailing list---sometimes vast in its reach---should receive such an inconsequential communication. |
(I D) People Talk to People, Machines Talk to Machines --- RonGoldman 12 Dec 2001 |
(III A 5) PrivacyGradient --- RonGoldman 14 Dec 2001 |
. . . we are concerned with TheContextOfOurLives (III A), and so then must our machines. But our machines also have their own contexts that they must deal with. When our machines have an AwarenessOfPresence (III A 3) they may need to share that information with other software. When we've Gone Fishin' (AwayMessages III A 4 a), our machine may need to let other machines know that we are away. |
. . . within TheContextOfOurLives (III A) our machines need to understand who we are willing to interact with. As we move about---Electronic Nomads (OnePersonManyMachines III A 2) and AwarenessOfPresence (III A 3)---we want our programs to respect our privacy. |
The inner workings of computers are filled with details that we do not want to be bothered with when we are using them. |
People have a need for privacy. We do not want everyone to always be able to peer at us. In our physical architecture our rooms have doors that we can close, and windows have shades that we can draw. The best buildings have an Intimacy Gradient (Alexander, APL) to separate the public from the private parts of our lives. |
We use our technology as a tool to communicate with other people and as a tool to do our work. Good tools are transparent: They don't try to strike up a conversation with us, but quietly do our bidding. Only if problems arise do they need to inform us---and then in terms of the human world, not in machine terms. So never as an error code like "message had fatal error: 550", but rather in the context of what we were trying to do, like "no user named 'joe' was found at 'fabitz.com'." |
When you are online you similarly might want to expose more or less of what you are doing to other people. For instance if we are on vacation---Gone Fishin' (AwayMessages III A 4 a)---we may want our family and close friends to know our schedule and how to get in touch with us, while we do not want that information revealed to strangers or casual acquaintances. We may want to restrict access to our online calendar to just the members of our project team. Our machines should be able to distinguish who is asking, and provide appropriate answers. |
Our current systems don't respect this distinction and so assume any mail we receive needs to be dealt with by us directly. With dumb software that is the only safe choice, but by marking all messages with some type of meta information, our software can distinguish between messages sent by an individual, by a mailing list (and which one), and by a bulk mailing (spam). In that way our software can begin to act more intelligently. For example, our email program would know not to send our Gone Fishin' AwayMessages in reply to a message sent to a mailing list we are on. With the proper meta information attached to a message it becomes much easier for us to have our email filtered and sorted as we would like. Putting all the messages from one mailing list in a special folder is straightforward. When our machine receives a ReturnReceipt, it can then just flag the stored copy of the outgoing message as having been received. It is easy to keep track of the replies to each message and store them as threaded conversations (ConversationsThreading). |
Software for many business applications currently uses authentication to confirm someone's identity and authorization to control what information they can see and modify. We need to extend this ability to our personal online lives. |
Don't have programs throw away the human context when they interact with another program. Design programs to share information with other programs about the context that they are acting in. * * * Sometimes our machines need to talk to us---GentleReminder (III B 7)---while other times we want them to talk to other people in our stead---WhenOurMachinesActForUs (I D 1). For software to talk to other software requires GoodIntegrationWithOtherTools (V A). (I D) People Talk to People & Machines Talk to Machines --- RichardGabriel 27 Dec 2001 |
Let people have control of who can see any of their personal information that is available online. All programs need to respect the access policy that a person chooses. |
. . . when designing software that interacts with people . . . |
Contrast this pattern with InterruptionGradient (III A 6) that allows us to control which incoming messages and requests will be brought to our attention. PrivacyGradient gives us control over what information about us is broadcast out to the rest of the world. |
There are many worlds of conversation that intersect only on rare occasions: Dogs growling and people taking heed of the danger, storm clouds climbing above the trees and people taking in their laundry. Computers don't speak the language of people. Some interactions normally take place within their unique domains: Birds interact with birds, people with people. Computers shouldn't talk to people unless asked. Some principles transcend any application domain. When a computer talks to a computer, only programmers and sys admins might want in on the conversation. Therefore, Never design software to bother a person when a computer talks to a computer unless the person wants to listen in. Computer talk spilling into the domain of human consciousness without an explicit design requirement for it is a design error of the first magnitude. * * * |
People might want to specify policies for groups of people by defining an InnerCircle (III A 7). |
AwayMessages are the result of an explicit requirement for people to be able to ask their computers to intercede on their behalf to inform other people that they are away. However, when a mailing list server sends a message to a mailer, that mailer in sending back an AwayMessage is talking to another computer, and there is no explicit requirement that a mailing list---sometimes vast in its reach---should receive such an inconsequential communication. |
It is vital that people feel SafeToUse (V D) about how their personal information is handled. |
(I C) Private Conversation --- Encrypted --- JoshuaKerievsky 09 Jan 2002 |
(II C) Quality Control---Moderation --- RonGoldman 14 Feb 2002 |
. . . How could someone feel comfortable sending someone else an electronic message when that message contained sensitive information or data? |
. . . in GroupDiscussions (II) involving many participants it takes effort to keep the discussion on track and focused. |
Everyday email and chat programs fail to provide us with an easy way to conduct a private conversation. The encryption software is available, but it isn't integrated with our software and it isn't easy to find and integrate it with our software. |
Even in a small group where people share a common agenda, keeping a discussion on topic is difficult. In a large group, particularly one composed of strangers where everyone has different interests and their own idea of what is relevant, it can become impossible. |
Yeow in China was going to take a class offered by Joe in San Francisco. Yeow needed to pay for the class and Joe's web site didn't support secure payments. Yeow didn't want to make an expensive phone call to Joe just to give his credit card number (Cheaper – III D), and yet he also didn't want to send his credit card information via a plain-text message, since such a message could be intercepted by some shady character. So what did Yeow do? He sent an email with the first half of his credit card number on Monday, and another email with the 2nd half on Wednesday, figuring that it would be unlikely for a hacker to put two email messages together to obtain his credit card number. Yeow's technique worked, but it is a poor work-around for software that doesn't meet our needs. |
An online group may have thousands of members and a each new topic might result in thousands of replies, many of which may not be very interesting---in fact most will be pretty awful---but some will truly be gems. With such a large signal-to-noise ratio only the most dedicated readers will ever see the insightful or wonderful messages, the sheer torrent of garbage will drive away everyone else. |
It is a fact of life that we sometimes need to speak privately with others. Our electronic communication software must respond to this need. |
Online discussions have additional problems as participants do not get any nonverbal cues from the other group members and the asynchronous nature of newsgroups and mailing lists further fractures the conversation. Also online social norms are less in effect and normally polite individuals are apt to flame or interrupt. The online world also suffers from electronic junk mail, known as "spam." |
But what about those who are bent on evil? Should our communication software enable evildoers to speak privately with each other? Some would answer that question with another question, for example: "Does a government have a right to protect its citizens?" Quickly, this question can dissolve into a heated debate about rights and freedoms, national and international. We won't go there. |
In real life when people hold a meeting they often have one person act as a moderator to facilitate it. The moderator decides who gets to speak, and makes sure that each speaker stays on the current topic and does not digress. The moderator can cut off anyone who starts to go off topic. |
Instead, we'll ask this: what kind of privacy does a common user need? A common user needs to occasionally send private messages that aren't impenetrable to spying eyes, but which are difficult enough to crack that most folks wouldn't bother. |
For an online discussion having a moderator can also help. Early on in the history of Usenet some newsgroups chose to have a moderator. In such groups all messages first go to the moderator who must approve them before they are posted for all to see. Those messages deemed inappropriate, for whatever reason, will never be seen by the rest of the group. Most moderators just act as a gate, filtering out the "noise". Some take on the role of editor, taking all the messages from one day, grouping them by topic, eliminating redundant sections, and posting the resulting digest of approved messages. Needless to say being a moderator can be very time consuming, especially for an active discussion with many posts per day. Rather than a single moderator some groups have several in order to share the work involved. Indeed some weblogs, such as Slashdot, have a system where all registered members can vote on the quality of each post: those posts deemed good receive a high score, while the flames and spam get negative scores. Readers can then have the system automatically filter out any posts beneath a specified threshold. Software can also be used to automatically filter out some of the spam. Such systems should send filtered messages for the review of a person though since automatic filters can easily make mistakes and suppress valid posts. This filtering can also be done by each reader according to their personal preferences. For example in the early days of Usenet newsgroups people defined "killfiles" that made their newsreader application ignore any postings on a given topic or from a particularly annoying individual. Moderation in Instant Messaging systems takes the form of letting each participant block chat requests from anyone they do not wish to chat with. Some IM systems let users send a warning to anyone who sends them a rude or nasty message. Anyone who receives too many warnings is prevented from posting for a while. |
Make it easy to send and receive private messages by fully integrating sophisticated, but crackable, encryption software into our communication software. Make this universally available, in email, chat, etc. Automatically upgrade the encryption software if it ever becomes too easy for common hackers to crack. |
Realize that not every message sent to a discussion will be appropriate and build in tools to allow the group, or some chosen representatives, to moderate the messages. Also allow individuals to set their own preferences on how they would like to filter the moderated messages. |
When we can comfortably conduct a PrivateConversation electronically, we will have fewer reasons to call people when we simply want to tell them something most important or transmit some sensitive data---CheaperToUse (III D). |
Moderation information can be attached to each message as MetaInformation (IV B). Individuals can sometimes use MailFiltering (IV C) to eliminate unwanted messages. |
AnnotatedMessages (IV B 1) could be used to specify that a message is encrypted or to actually encrypt the message. Meanwhile, both client and server software will need to know how to decrypt our private messages. |
(II C) Quality Control---Moderation --- RonGoldman 14 Feb 2002 . . . in GroupDiscussions (II) involving many participants it takes effort to keep the discussion on track and focused. * * * Even in a small group where people share a common agenda, keeping a discussion on topic is difficult. In a large group, particularly one composed of strangers where everyone has different interests and their own idea of what is relevant, it can become impossible. An online group may have thousands of members and a each new topic might result in thousands of replies, many of which may not be very interesting---in fact most will be pretty awful---but some will truly be gems. With such a large signal-to-noise ratio only the most dedicated readers will ever see the insightful or wonderful messages, the sheer torrent of garbage will drive away everyone else. Online discussions have additional problems as participants do not get any nonverbal cues from the other group members and the asynchronous nature of newsgroups and mailing lists further fractures the conversation. Also online social norms are less in effect and normally polite individuals are apt to flame or interrupt. The online world also suffers from electronic junk mail, known as "spam." In real life when people hold a meeting they often have one person act as a moderator to facilitate it. The moderator decides who gets to speak, and makes sure that each speaker stays on the current topic and does not digress. The moderator can cut off anyone who starts to go off topic. For an online discussion having a moderator can also help. Early on in the history of Usenet some newsgroups chose to have a moderator. In such groups all messages first go to the moderator who must approve them before they are posted for all to see. Those messages deemed inappropriate, for whatever reason, will never be seen by the rest of the group. Most moderators just act as a gate, filtering out the "noise". Some take on the role of editor, taking all the messages from one day, grouping them by topic, eliminating redundant sections, and posting the resulting digest of approved messages. Needless to say being a moderator can be very time consuming, especially for an active discussion with many posts per day. Rather than a single moderator some groups have several in order to share the work involved. Indeed some weblogs, such as Slashdot, have a system where all registered members can vote on the quality of each post: those posts deemed good receive a high score, while the flames and spam get negative scores. Readers can then have the system automatically filter out any posts beneath a specified threshold. Software can also be used to automatically filter out some of the spam. Such systems should send filtered messages for the review of a person though since automatic filters can easily make mistakes and suppress valid posts. This filtering can also be done by each reader according to their personal preferences. For example in the early days of Usenet newsgroups people defined "killfiles" that made their newsreader application ignore any postings on a given topic or from a particularly annoying individual. Moderation in Instant Messaging systems takes the form of letting each participant block chat requests from anyone they do not wish to chat with. Some IM systems let users send a warning to anyone who sends them a rude or nasty message. Anyone who receives too many warnings is prevented from posting for a while. Therefore, Realize that not every message sent to a discussion will be appropriate and build in tools to allow the group, or some chosen representatives, to moderate the messages. Also allow individuals to set their own preferences on how they would like to filter the moderated messages. * * * Moderation information can be attached to each message as MetaInformation (IV B). Individuals can sometimes use MailFiltering (IV C) to eliminate unwanted messages. |
Quality Of Conversations |
no versions written yet |
(I) Quality Of Conversations |
(III B 2) Quick Chat --- RichardGabriel Nov 2001 . . . you have determined that a textual electronic communication system will be used for rapid-fire interactions . . . * * * Interaction is quick and perhaps immediate. Presence is required. Abbreviations are appropriate and appreciated on both sides of the communications. Interruptions for break-in communications is welcomed because it might be the completion of a thought, or a new topic. It is appropriate to provide as much assistance as possible because the manner of transmitting the information or even the words themselves are not important. A message might consist of acronyms and emoticons only, or it might be a quickly dashed off note. Not much thought will go into the note, and speed of composition and rapid response are paramount. Therefore, Create a system which aggressively assists composition. Make spell and grammar checking immediate and intrusive. Provide easy access to a dictionary of acronyms and emoticons, and even create a system that encourages them. Make any notifications immediate and impossible to miss. * * * Sometimes the best mode for such communications is a chat, where there is not much time, space, or tolerance for long messages, and long pauses are taken as lack of interest or a physical interruption. Make the toolbars and menus easy to understand, gaudy even, if that makes a difference in how quickly it can be interrogated. |
no versions written yet |
(III B 2) Quick Chat --- RichardGabriel Nov 2001 |
(III B 5) Return Receipt (was Notify User if Mail has been Read/Scanned) --- RonGoldman 10 Jan 2002 |
. . . you have determined that a textual electronic communication system will be used for rapid-fire interactions . . . |
. . . The RhythmOfConversation (III B) is sometimes slow and we would like some way to make for a more ExpedientResolution (III B 4). |
Interaction is quick and perhaps immediate. Presence is required. Abbreviations are appropriate and appreciated on both sides of the communications. Interruptions for break-in communications is welcomed because it might be the completion of a thought, or a new topic. |
When we send an important message we want to know that it reaches the intended recipient. |
It is appropriate to provide as much assistance as possible because the manner of transmitting the information or even the words themselves are not important. A message might consist of acronyms and emoticons only, or it might be a quickly dashed off note. Not much thought will go into the note, and speed of composition and rapid response are paramount. |
If we post an important letter in the mail we may pay extra to receive a return receipt. It provides us proof of delivery. The return receipt shows who signed for the item and the date that it was delivered. The return receipt may also inform us of an updated delivery address if the letter needed to be forwarded. We don't know that anyone ever opened and read our letter, but we do know that it arrived into their hands. With email we can do better. We can have the receiving machine notify us when the email arrives, and we can further be notified when the mail is finally read. Or at least we can request to be notified when the mail is read-some people value their privacy and will not want their computers reporting to others on their actions. |
Create a system which aggressively assists composition. Make spell and grammar checking immediate and intrusive. Provide easy access to a dictionary of acronyms and emoticons, and even create a system that encourages them. Make any notifications immediate and impossible to miss. |
For any asynchronous communication system build in a way to allow the sender to be notified that their message was successfully delivered and when it is actually read by the person who has received it. Do so in a way that allows the receiver to preserve their privacy, if they so choose. |
Sometimes the best mode for such communications is a chat, where there is not much time, space, or tolerance for long messages, and long pauses are taken as lack of interest or a physical interruption. Make the toolbars and menus easy to understand, gaudy even, if that makes a difference in how quickly it can be interrogated. |
Make sure that the receiver remains Safe (SafeToUse V D), the default behavior for an email client should be to ask for permission before sending a return receipt notification. |
Consider using FlaggedMessages (IV B 2) as a way to indicate to the sender that their mail has been received/read. |
(III B 5) Return Receipt (was Notify User if Mail has been Read/Scanned) --- RonGoldman 10 Jan 2002 . . . The RhythmOfConversation (III B) is sometimes slow and we would like some way to make for a more ExpedientResolution (III B 4). |
(III B) Rhythm of Conversation --- RichardGabriel Nov 2001 |
. . . you are laying out the design principles for a textual electronic communication system and desire to make the most congenial system you can for the type of use it will be put to . . . |
When we send an important message we want to know that it reaches the intended recipient. |
Different conversations have different rhythms. Sometimes the exchange is slow, with time to think between each reply and a desire to carefully consider each letter and its appropriate reply. Other times the exchange is fast and furious, with ideas sent as fast as possible, perhaps for the purpose of getting quick action, deciding a relatively unimportant matter, or to have a fun, fast exchange. It is easy to accidentally discourage the natural rhythm of the conversation by offering or emphasizing inappropriate behavior and interfaces. For example, in a communications system that assists fastpaced conversations, it is useful to have aggressive auto-completion, spell-checking and spelling correction, a palette of emoticons or other special abbreviations---in a fast exchange, these can both speed up and enhance the quality of the message. In a slow-paced conversation, the writer is interested in reflection and in creating a good-looking, well written letter. In such a situation, having indicators popping up displaying mistakes or auto-completing are distracting and therefore discourage the natural rhythm and frustrate the writer. In fact, in such cases tools for checking things like spelling should wait in the wings until the writer is ready for them rather than intruding on the process. |
If we post an important letter in the mail we may pay extra to receive a return receipt. It provides us proof of delivery. The return receipt shows who signed for the item and the date that it was delivered. The return receipt may also inform us of an updated delivery address if the letter needed to be forwarded. We don't know that anyone ever opened and read our letter, but we do know that it arrived into their hands. |
Another example is the use of pen and paper. In such communications, the physicality of interaction forms part of the rhythm of conversation---the act of moving a pen on a scratchy piece of paper reinforces the intimate and delicate human-to-human nature of the conversation. The physical motion requires more time and encourages thought before writing, as does the difficulty and ugliness of trying to erase ink. In this case, the deliberate difficulty of using the mechanism of interaction encourages a welcomed rhythm. |
With email we can do better. We can have the receiving machine notify us when the email arrives, and we can further be notified when the mail is finally read. Or at least we can request to be notified when the mail is read-some people value their privacy and will not want their computers reporting to others on their actions. |
Some conversations are specialized enough---such as calendaring---that non-local conversations about when and where to meet are best mediated through specialized programs that handle such conversations. |
For any asynchronous communication system build in a way to allow the sender to be notified that their message was successfully delivered and when it is actually read by the person who has received it. Do so in a way that allows the receiver to preserve their privacy, if they so choose. |
Different software should be available that is suitable to the style of conversation. Do not force a slow-paced letter writer to suffer from auto-completion or spelling correction while he or she is typing: Doing so distracts the writer from thinking about the message. Provide fast-paced messagers facilities to communicate quickly with as few impediments as possible; in fact, try to provide shortcuts to try to assist the writer in getting the message across rapidly. Also be aware of the intrusiveness of the message delivery system, so that people awaiting a quick turnaround are sought by the system while those waiting for a slowly written letter are interrupted when they might be working or resting. |
Make sure that the receiver remains Safe (SafeToUse V D), the default behavior for an email client should be to ask for permission before sending a return receipt notification. |
Physical mail requires the recipient to visit a mailbox or post office. Physical mail is inherently a slow-paced medium, and so the slow pace is part of the experience of the exchange. When an email program detects or is informed that the user is writing a deliberate letter, it may make sense for the email program to suspend intrusive attention-grabbing behavior, while in the opposite case where a quick exchange is underway, notifications and the like would be welcome and should be enabled, either automatically or easily. |
Consider using FlaggedMessages (IV B 2) as a way to indicate to the sender that their mail has been received/read. |
(III B) Rhythm of Conversation --- RichardGabriel Nov 2001 |
http://www.dreamsongs.com/NewFiles/rpg-thumb.jpg |
. . . you are laying out the design principles for a textual electronic communication system and desire to make the most congenial system you can for the type of use it will be put to . . . * * * |
website: http://www.dreamsongs.com |
Different conversations have different rhythms. Sometimes the exchange is slow, with time to think between each reply and a desire to carefully consider each letter and its appropriate reply. Other times the exchange is fast and furious, with ideas sent as fast as possible, perhaps for the purpose of getting quick action, deciding a relatively unimportant matter, or to have a fun, fast exchange. |
Richard P. Gabriel received a PhD in Computer Science from Stanford University in 1981, and an MFA in Poetry from Warren Wilson College in 1998. He has been a researcher at Stanford University, company president and Chief Technical Officer at Lucid, Inc., vice president of Development at ParcPlace-Digtalk, a management consultant for several startups and Sun Microsystems, and Consulting Professor of Computer Science at Stanford University. |
It is easy to accidentally discourage the natural rhythm of the conversation by offering or emphasizing inappropriate behavior and interfaces. For example, in a communications system that assists fastpaced conversations, it is useful to have aggressive auto-completion, spell-checking and spelling correction, a palette of emoticons or other special abbreviations---in a fast exchange, these can both speed up and enhance the quality of the message. In a slow-paced conversation, the writer is interested in reflection and in creating a good-looking, well written letter. In such a situation, having indicators popping up displaying mistakes or auto-completing are distracting and therefore discourage the natural rhythm and frustrate the writer. In fact, in such cases tools for checking things like spelling should wait in the wings until the writer is ready for them rather than intruding on the process. |
He helped design and implement a variety of dialects of Lisp. He is author of three books ("Performance and Evaluation of Lisp Systems," MIT Press, "Patterns of Software: Tales from the Software Community," Oxford University Press, and "Writers' Workshops and the Work of Making Things," Addison-Wesley Press), with two forthcoming in 2002-2003 ("Open for Business: How and Why a Company Should Participate in Open Source," (Morgan Kaufman), and "Leaf of my Puzzled Desire," (Dreamsongs Press)). He has published more than 100 scientific, technical, and semi-popular papers, articles, and essays on computing. |
Another example is the use of pen and paper. In such communications, the physicality of interaction forms part of the rhythm of conversation---the act of moving a pen on a scratchy piece of paper reinforces the intimate and delicate human-to-human nature of the conversation. The physical motion requires more time and encourages thought before writing, as does the difficulty and ugliness of trying to erase ink. In this case, the deliberate difficulty of using the mechanism of interaction encourages a welcomed rhythm. Some conversations are specialized enough---such as calendaring---that non-local conversations about when and where to meet are best mediated through specialized programs that handle such conversations. Therefore, Different software should be available that is suitable to the style of conversation. Do not force a slow-paced letter writer to suffer from auto-completion or spelling correction while he or she is typing: Doing so distracts the writer from thinking about the message. Provide fast-paced messagers facilities to communicate quickly with as few impediments as possible; in fact, try to provide shortcuts to try to assist the writer in getting the message across rapidly. Also be aware of the intrusiveness of the message delivery system, so that people awaiting a quick turnaround are sought by the system while those waiting for a slowly written letter are interrupted when they might be working or resting. * * * Physical mail requires the recipient to visit a mailbox or post office. Physical mail is inherently a slow-paced medium, and so the slow pace is part of the experience of the exchange. When an email program detects or is informed that the user is writing a deliberate letter, it may make sense for the email program to suspend intrusive attention-grabbing behavior, while in the opposite case where a quick exchange is underway, notifications and the like would be welcome and should be enabled, either automatically or easily. |
He currently is a Distinguished Engineer and chief scientist of a small laboratory at Sun Microsystems, researching the architecture, design, and implementation of extraordinarily large systems as well as development techniques for building them. He is Sun's open source expert, advising the company on community-based strategies. He is also President of the Hillside Group, a nonprofit that nurtures the software patterns community by holding conferences, publishing books, and awarding scholarships. |
He is the lead guitarist in a working rock 'n' roll band and a poet. |
http://www.dreamsongs.com/NewFiles/rpg-thumb.jpg |
http://www.almaden.ibm.com/institute/images/goldman.gif |
website: http://www.dreamsongs.com |
mailto:rgoldman@cs.stanford.edu |
Until Dick changes it, here's his bio from his website Richard P. Gabriel received a PhD in Computer Science from Stanford University in 1981, and an MFA in Poetry from Warren Wilson College in 1998. He has been a researcher at Stanford University, company president and Chief Technical Officer at Lucid, Inc., vice president of Development at ParcPlace-Digtalk, a management consultant for several startups and Sun Microsystems, and Consulting Professor of Computer Science at Stanford University. He helped design and implement a variety of dialects of Lisp. He is author of three books ("Performance and Evaluation of Lisp Systems," MIT Press, "Patterns of Software: Tales from the Software Community," Oxford University Press, and "Writers' Workshops and the Work of Making Things," Addison-Wesley Press), with two forthcoming in 2002-2003 ("Open for Business: How and Why a Company Should Participate in Open Source," (Morgan Kaufman), and "Leaf of my Puzzled Desire," (Dreamsongs Press)). He has published more than 100 scientific, technical, and semi-popular papers, articles, and essays on computing. He currently is a Distinguished Engineer and chief scientist of a small laboratory at Sun Microsystems, researching the architecture, design, and implementation of extraordinarily large systems as well as development techniques for building them. He is Sun's open source expert, advising the company on community-based strategies. He is also President of the Hillside Group, a nonprofit that nurtures the software patterns community by holding conferences, publishing books, and awarding scholarships. He is the lead guitarist in a working rock 'n' roll band and a poet. |
I'm a researcher working at Sun Microsystems on alternative software development methodologies and new software architectures, with a strong interest in user-centered design and information visualization. I'm currently finishing up a book on how companies can participate in open source software development. Prior to Sun, I developed a program to generate and manipulate visual representations of complex data for use by social scientists as part of a collaboration between NYNEX Science & Technology and the Institute for Research on Learning. I have a continuing interest in the design of programming languages and have developed various programming environments (IDEs). I have a Ph.D. in computer science from Stanford University where I was a member of the robotics group. |
(V E) Rosetta Stone --- RonGoldman 6 Dec 2001 |
(V D) Safe --- RonGoldman 7 Dec 2001 |
. . . being Electronic Nomads (OnePersonManyMachines III A 2), we move from machine to machine and from one software application to another. In each environment we need to be able to access the information we have stored online. We also need to be able to share information with others, including basic messages, StylizedLetter (I B), drafts of papers, and spreadsheets. |
. . . when a person chooses to share their life---TheContextOfOurLives (III A)---with others they have every right to demand that the technology involved will keep them safe from harm. |
When we write down information somewhere, we expect to be able to read it at a later date. |
Everyone has a fundamental right to safety. |
Fifty to ninety percent of the world's languages are predicted to disappear in the next century, many with little or no significant documentation. (http://www.rosettaproject.org:8080/live/concept) Whatever texts are written in those languages will become unreadable when no one is left alive that can speak them. |
As we trust more and more of our lives to our technology it is vitally important that our technology be designed to keep our online information safe. We should not have to be afraid that exchanging documents or email with a friend will cause harm to our electronic self. |
The situation for information stored online is equally grim, only the timescale is years rather than centuries. Most software uses proprietary formats the details of which are not made public. In fact recent laws such as the Digital Millennium Copyright Act (DMCA) may even make it illegal to reverse engineer a proprietary format. It is common for new versions of software to not be compatible with previous versions, forcing people using the old version to upgrade if they wish to read files sent them by their colleagues who are using the new version. |
We also should not have to fear that someone else can commandeer our online identity and besmirch our reputation by impersonating us. |
All in all if different software (email clients, editors, etc) is being used it is quite difficult for someone to exchange information with other people, or even with themself when they are using another machine. |
Current computer software is often like a house with the front door wide open; it seems designed more to empower malicious ne'er-do-wells then to keep us safe. We are continually reading in the news about some new computer virus or worm wreaking havoc in the online world. The world's largest software company seems to supply the most unsafe software. |
In the dawn of the computer/internet age the limitations of our machines may have made it necessary to conserve each byte of storage, but that is no longer true. We need to store information in formats that contain a description of what they contain and how it should be displayed. For example, XML-like technology is designed to provide MetaInformation that describes documents and makes them universally accessible. |
While it is probably impossible to create a software application that is totally safe, it is straightforward to do vastly better than is currently done. The basics of security, such as preventing buffer overruns and setting defaults to disable dangerous features, are well known and should always be used in practice. The vast majority of people will never want to have a macro in a text file or spreadsheet that automatically sends email to everyone in their address book. For those few that do, their software can ask them for permission. |
Programs can then interpret as much of this information on how to display the text as they are capable. Meta information they do not understand can be ignored. |
Another aspect of safety is from ourselves: our software should warn us before we do anything that is potentially damaging and unrecoverable such as deleting all of our files. |
Always have programs store and exchange information in formats that are as universal as possible. The format should describe itself sufficiently that a program one hundred years from now would be able to read and display it correctly. |
Build software that by default will protect itself (and hence us) from any malicious attacks that might be launched against it. |
Using common and self-describing file formats helps to provide GoodIntegrationWithOtherTools (V A). |
Security is closely related to privacy---PrivacyGradient (III A 5)---and encryption---PrivateConversation (I C). |
Sequences: |
(I A 1) Sharing Feelings or Being Clear or Communicating Subtlety --- RichardGabriel 4 Dec 2001 |
A pattern language consists of more than just a collection of connected patterns. It also includes sequences that step one through the design process, pattern by pattern, from the largest design questions down to the smallest. Reading through a sequence should create a mental image of the final design. Each sequence is a story, in our case, a story of how a software application would enable a person to communicate appropriately in a particular setting. So one sequence might result in a design that fosters a sense of family or community, while another might focus on more impersonally providing answers to customer questions. |
. . . you want to be able to convey emotions because NoManIsAnIsland, and you are trying to wrote an IntimateLetter, but even were you to take the time for a SlowLetter you are unable to show your emotions well. In Workgroups (SmallGroupsComeAndGo) there needs to be a way to keep misunderstandings under control . . . |
Here's an example of a possible mini-sequence (with pattern names in quotes): |
* * * Every person needs to convey emotions, share emotions. Ideally you should talk to the other person face-to-face or by telephone, but sometimes circumstances prevent this. Tone of voice, facial expressions, body movements and stances—--these are the language even the most inarticulate person learns to convey emotions accurately. But in words? Conveying emotions well using words takes skill and patience, and even talent. Sometimes even the best writers are unable to convey sincerely what they feel or what they want to say that they feel. For many, the act of trying to convey emotions in words takes them out of those feelings, making it even harder to convey them. Language is about information, surely, but also about the human condition and spirit. It's our blessing and curse to have to heap so much into language. There are some emotions we are afraid to express directly in front of others: some forms of love, hatred, disgust. It depends on each of us. Even in a slow letter expressing emotions can be difficult, but especially in short notes or letters when you need to write quickly it is still important to get the emotions right. If, for example, you want to show you are not angry in a hurried letter, this could be hard to do because rapid writing is often curt and sounds to the reading mind like the sentences are cutoff. If the recipient is expecting a long letter and receives a short one, what is she to make of this? If she had a clue to the real emotion behind it.... In the early days of textual electronic communication, misunderstood sarcasm often sparked fierce disputes, and wisecracks too often prompted avalanches of response postings. Therefore, Use emoticons (emotional icons) and avatars (graphical, sometimes animated characters) to convey emotions. As an alternative, establish an emotional communication mechanism that is like a meta-statement—perhaps as parenthetical statements. Emoticons can express only crudely how we feel, but they can be used to avoid communication blunders. This is especially true if you are writing sarcastically—the use of a friendly glyph can convey the sarcasm that the ineptness of overfast composition belies. These are some simple emoticons: :-) Expresses happiness, sarcasm, or joke :-( Expresses unhappiness :-] Expresses jovial happiness :-[ Expresses despondent unhappiness :-D Expresses jovial happiness :-I Expresses indifference :-\ Indicates undecided, confused, or skeptical :-Q Expresses confusion :-S Expresses incoherence or loss of words :-@ Expresses shock or screaming :-O Indicates surprise, yelling or realization of an error ("uh oh!") The emoticon was first used in email in 1982 by the computer scientist Scott Fahlman. He was trying to find a more aesthetically pleasing way to convey that a statement or passage was to be taken as a joke. Earlier, the word "joke" was added after such a passage, but it seemed to Fahlman to be a poor way to convey the emotion. * * * Build systems that recognize the strengths and weaknesses of people, as well as which fit into the way they work and the tasks they do every day. Carefully observe the failures and breakdowns of our tools and endeavor to improve them over time. (I A 1) Sharing Feelings or Being Clear or Communicating Subtlety --- JoshuaKerievsky Mon, 07 Jan . . . when we communicate face to face, our clothes, our tone of voice, our eyes, our posture communicate on our behalf. How can our communication software be such a rich communication channel? * * * The richness of our in-person communications is usually lost when we communicate in text. Many people love to communicate via text because it is inexpensive (CheaperToUse III D) , fast (TimelyResponse III B3, ExpedientResolution III B4) and less intrusive than a phone call. The trouble is, since most of us aren't professional writers, our communications often lose their richness when we convert them to plain text. For many, this loss of communication richness isn't a problem—they simply live with it, doing the best they can to communicate effectively. But others routinely get stung by miscommunications that result from their text, such as a jest that is taken seriously. The miscommunications sometimes trigger absurd or even painful events. For example, a miscommunication on a large, public email forum can lead to a public attack on someone's character (QualityControl — Moderation II C). We can't prevent miscommunications from happening, but we can give people easy, convenient tools to help make their text communicate better on their behalf. Therefore Provide a full-set of visual text enhancements—such as emoticons, ASCII-art, and digital pictures—to authors of textual communications and make it easy to insert these text enhancements into messages by making them visible on the screen and capable of being dragged and dropped or searched and inserted at the touch of a key. Make it easy to add to one's catalog of visual text enhancements. * * * Visual text enhancements may be used to communicate DramaticEffect or Deep Emotion (III A 2), provide a richer communication experience in StylizedLetter (I B) or IntelligentFormLetters (III C2), and clearly communicate feelings or preferences during an ExpedientExchange (III B4). They need to be available to us every machine (UniversalAccess – III E) and must integrate intelligently with other tools (GoodIntegrationWithOtherTools – V A). (I A 1) Nonverbal Communication (was Sharing Feelings or Being Clear or Communicating Subtlety) --- RonGoldman Wed, 30 Jan 2002 . . . when two or more people communicate the QualityOfConversations (I) depends on more than just the words they use. Especially for IntimateCommunication (I A) it is important to provide ways for people to convey their feelings. * * * When we talk face-to-face with another person we use every cue and nuance we can to help us make sense of the message we receive. We look to the person's facial expression, body posture, tone of voice, and gestures as much as to the words they choose. The nonverbal channel enables us to interpret the verbal message: Are they being sarcastic, angry, joking or.... For conversations over other media we do not have access to all of these cues. Over the telephone we only have tone of voice and the rhythm of their speech. Over the computer we are left with just their words. For someone hurriedly dashing off a quick email note, how will the recipient distinguish between haste and curtness? In a message from someone we do not know well, how do we differentiate between a joke and an insult? The answer is not very well as demonstrated by the countless disputes and flame wars that are seen in newsgroups and on mailing lists. Writing clearly is difficult enough. Writing to also convey one's feelings takes skill and talent that not everyone has. Moreover not everyone is comfortable sharing their feelings with others. What has evolved over the last twenty years in email and newsgroups is the practice of adding parenthetical comments to substitute for the missing nonverbal channel. In a message to show they are joking people would write the word "joke" or "<grin>" or "*chuckle*". On September 19,1982 the computer scientist Scott Fahlman suggested on one of the CMU bboards that people explicitly label comments not meant to be serious with a :-) glyph. Thus was born the smiley or emoticon (emotional icon). Some common smileys are: :-) smiling face :-( sad face, or a frowny :-O oh, noooo! Or a shout. Or a yawn. ;-) winking face Over the years people have created thousands of different smileys though only a few are in common use. There's even an emoticon dictionary with 650 examples compiled by David Sanderson, entitled "Smileys", published by O'Reilly & Associates. Current chat systems extend the use of smileys. When the user types a smiley, both Yahoo and MSN display a graphic image of a cartoon face with the appropriate emotion displayed. The chat interface also includes a pull-down menu that allows a user to choose a graphic representing their mood. Some chat systems now support webcams so that people can broadcast an image of themselves. Email also allows multimedia in that the sender can include a voice clip to introduce or comment on their message. Therefore, When building a computer application that people will use to communicate with each other be sure to include support for nonverbal communication. Make it easy for a person to include an emoticon or other graphical display to indicate their emotions. Make the communication channel as rich as possible. * * * Other ways of showing the writer's mood can come out in a StylizedLetter (I B). For group discussions the use of techniques like emoticons will be part of the group's culture—--NurtureCommunity (II B). |
: A major need of most people is IntimateCommunication with those they love and care about. Much of the time though they are engaged in "Solo Work" and any communication is a "Secondary Task". Providing a RemotePresence that enables them to know when family members are online, and that allows them to exchange "Low-overhead Messages", will reinforce the family bond. "Peripheral Awareness" makes the communication more natural. Being able to signal a "Closed Door" respects the needs of the workplace. "Automatic Connection" makes it a regular part of the computing environment. |
Such a sequence might be used to generate something similar to AOL's Instant Messaging system. |
(I A 1) Sharing Feelings or Being Clear or Communicating Subtlety --- RichardGabriel 4 Dec 2001 |
(I E) Sharing Information --- RonGoldman 16 Jan 2002 |
. . . you want to be able to convey emotions because NoManIsAnIsland, and you are trying to wrote an IntimateLetter, but even were you to take the time for a SlowLetter you are unable to show your emotions well. In Workgroups (SmallGroupsComeAndGo) there needs to be a way to keep misunderstandings under control . . . |
. . . when we talk with others we often need to exchange more than just a simple message. |
Every person needs to convey emotions, share emotions. Ideally you should talk to the other person face-to-face or by telephone, but sometimes circumstances prevent this. Tone of voice, facial expressions, body movements and stances—--these are the language even the most inarticulate person learns to convey emotions accurately. |
There's more to our lives than what we talk and write to each other. |
But in words? Conveying emotions well using words takes skill and patience, and even talent. Sometimes even the best writers are unable to convey sincerely what they feel or what they want to say that they feel. For many, the act of trying to convey emotions in words takes them out of those feelings, making it even harder to convey them. |
When we communicate with each other we often need to refer to existing documents, photographs, computer files, voice messages, links, etc. One way we do this is by sharing them with the recipient of our message. Most modern email clients allow a message to include any computer file as an attachment. Assuming the recipient has the appropriate program, they can then view the document. |
Language is about information, surely, but also about the human condition and spirit. It's our blessing and curse to have to heap so much into language. There are some emotions we are afraid to express directly in front of others: some forms of love, hatred, disgust. It depends on each of us. |
According to recent research email is now the main means of document exchange. ["E-mail as Habitat: An Exploration of Embedded Personal Information Management" by Nicolas Ducheneaut and Victoria Bellotti, in interactions, Vol. VIII.5, September + October 2001] |
Even in a slow letter expressing emotions can be difficult, but especially in short notes or letters when you need to write quickly it is still important to get the emotions right. If, for example, you want to show you are not angry in a hurried letter, this could be hard to do because rapid writing is often curt and sounds to the reading mind like the sentences are cutoff. If the recipient is expecting a long letter and receives a short one, what is she to make of this? If she had a clue to the real emotion behind it.... |
Sometimes only a single line of text is required to provide a pointer to the actual information, as with a URL for a web page. Other times we need to share many large files that make up a document. |
In the early days of textual electronic communication, misunderstood sarcasm often sparked fierce disputes, and wisecracks too often prompted avalanches of response postings. |
The information we are sharing may be limited to the message, such as an accompanying picture from our vacation. Or it may be information that the receiver will need to file away to work on later, such as a paper being written in collaboration with the sender. |
Use emoticons (emotional icons) and avatars (graphical, sometimes animated characters) to convey emotions. As an alternative, establish an emotional communication mechanism that is like a meta-statement—perhaps as parenthetical statements. Emoticons can express only crudely how we feel, but they can be used to avoid communication blunders. This is especially true if you are writing sarcastically—the use of a friendly glyph can convey the sarcasm that the ineptness of overfast composition belies. These are some simple emoticons: :-) Expresses happiness, sarcasm, or joke :-( Expresses unhappiness :-] Expresses jovial happiness :-[ Expresses despondent unhappiness :-D Expresses jovial happiness :-I Expresses indifference :-\ Indicates undecided, confused, or skeptical :-Q Expresses confusion :-S Expresses incoherence or loss of words :-@ Expresses shock or screaming :-O Indicates surprise, yelling or realization of an error ("uh oh!") The emoticon was first used in email in 1982 by the computer scientist Scott Fahlman. He was trying to find a more aesthetically pleasing way to convey that a statement or passage was to be taken as a joke. Earlier, the word "joke" was added after such a passage, but it seemed to Fahlman to be a poor way to convey the emotion. * * * Build systems that recognize the strengths and weaknesses of people, as well as which fit into the way they work and the tasks they do every day. Carefully observe the failures and breakdowns of our tools and endeavor to improve them over time. (I A 1) Sharing Feelings or Being Clear or Communicating Subtlety --- JoshuaKerievsky Mon, 07 Jan . . . when we communicate face to face, our clothes, our tone of voice, our eyes, our posture communicate on our behalf. How can our communication software be such a rich communication channel? |
Make it easy for people to include non-textual information with their messages. Let them integrate it as part of the message or keep it separate as an attachment. Make it easy for the receiver of a message with attachments to view and store them away. |
The richness of our in-person communications is usually lost when we communicate in text. Many people love to communicate via text because it is inexpensive (CheaperToUse III D) , fast (TimelyResponse III B3, ExpedientResolution III B4) and less intrusive than a phone call. The trouble is, since most of us aren't professional writers, our communications often lose their richness when we convert them to plain text. For many, this loss of communication richness isn't a problem—they simply live with it, doing the best they can to communicate effectively. But others routinely get stung by miscommunications that result from their text, such as a jest that is taken seriously. The miscommunications sometimes trigger absurd or even painful events. For example, a miscommunication on a large, public email forum can lead to a public attack on someone's character (QualityControl — Moderation II C). We can't prevent miscommunications from happening, but we can give people easy, convenient tools to help make their text communicate better on their behalf. Therefore Provide a full-set of visual text enhancements—such as emoticons, ASCII-art, and digital pictures—to authors of textual communications and make it easy to insert these text enhancements into messages by making them visible on the screen and capable of being dragged and dropped or searched and inserted at the touch of a key. Make it easy to add to one's catalog of visual text enhancements. * * * Visual text enhancements may be used to communicate DramaticEffect or Deep Emotion (III A 2), provide a richer communication experience in StylizedLetter (I B) or IntelligentFormLetters (III C2), and clearly communicate feelings or preferences during an ExpedientExchange (III B4). They need to be available to us every machine (UniversalAccess – III E) and must integrate intelligently with other tools (GoodIntegrationWithOtherTools – V A). (I A 1) Nonverbal Communication (was Sharing Feelings or Being Clear or Communicating Subtlety) --- RonGoldman Wed, 30 Jan 2002 . . . when two or more people communicate the QualityOfConversations (I) depends on more than just the words they use. Especially for IntimateCommunication (I A) it is important to provide ways for people to convey their feelings. * * * When we talk face-to-face with another person we use every cue and nuance we can to help us make sense of the message we receive. We look to the person's facial expression, body posture, tone of voice, and gestures as much as to the words they choose. The nonverbal channel enables us to interpret the verbal message: Are they being sarcastic, angry, joking or.... For conversations over other media we do not have access to all of these cues. Over the telephone we only have tone of voice and the rhythm of their speech. Over the computer we are left with just their words. For someone hurriedly dashing off a quick email note, how will the recipient distinguish between haste and curtness? In a message from someone we do not know well, how do we differentiate between a joke and an insult? The answer is not very well as demonstrated by the countless disputes and flame wars that are seen in newsgroups and on mailing lists. Writing clearly is difficult enough. Writing to also convey one's feelings takes skill and talent that not everyone has. Moreover not everyone is comfortable sharing their feelings with others. What has evolved over the last twenty years in email and newsgroups is the practice of adding parenthetical comments to substitute for the missing nonverbal channel. In a message to show they are joking people would write the word "joke" or "<grin>" or "*chuckle*". On September 19,1982 the computer scientist Scott Fahlman suggested on one of the CMU bboards that people explicitly label comments not meant to be serious with a :-) glyph. Thus was born the smiley or emoticon (emotional icon). Some common smileys are: :-) smiling face :-( sad face, or a frowny :-O oh, noooo! Or a shout. Or a yawn. ;-) winking face Over the years people have created thousands of different smileys though only a few are in common use. There's even an emoticon dictionary with 650 examples compiled by David Sanderson, entitled "Smileys", published by O'Reilly & Associates. Current chat systems extend the use of smileys. When the user types a smiley, both Yahoo and MSN display a graphic image of a cartoon face with the appropriate emotion displayed. The chat interface also includes a pull-down menu that allows a user to choose a graphic representing their mood. Some chat systems now support webcams so that people can broadcast an image of themselves. Email also allows multimedia in that the sender can include a voice clip to introduce or comment on their message. Therefore, When building a computer application that people will use to communicate with each other be sure to include support for nonverbal communication. Make it easy for a person to include an emoticon or other graphical display to indicate their emotions. Make the communication channel as rich as possible. * * * |
The information we exchange is often in formats that our email client will not understand so it is important that the appropriate application to display the information be able to work with our email client---GoodIntegrationWithOtherTools (V A). To be sure that the recipient has some program that they can use to view the attachment try to use common file formats rather than proprietary ones---RosettaStone (V E). |
Other ways of showing the writer's mood can come out in a StylizedLetter (I B). For group discussions the use of techniques like emoticons will be part of the group's culture—--NurtureCommunity (II B). |
Sending large files is fine for people on high bandwidth connections, but sometimes we use low-speed lines and it is difficult to receive our messages. So it is important that our email clients be both TimeSensitive and LocationSensitive (III A 4). |
Receiving files opens the door to viruses and malicious programs so be sure to keep us Safe (SafeToUse V D) by limiting what actions happen automatically when mail is received. E.g. don't allow incoming programs to run without explicit permission from the recipient. |
(I A 1) Sharing Feelings or Being Clear or Communicating Subtlety --- RichardGabriel 4 Dec 2001 |
(I E) Sharing Information --- RonGoldman 16 Jan 2002 |
. . . you want to be able to convey emotions because NoManIsAnIsland, and you are trying to wrote an IntimateLetter, but even were you to take the time for a SlowLetter you are unable to show your emotions well. In Workgroups (SmallWorkGroupsComeAndGo) there needs to be a way to keep misunderstandings under control . . . |
. . . when we talk with others we often need to exchange more than just a simple message. |
Every person needs to convey emotions, share emotions. Ideally you should talk to the other person face-to-face or by telephone, but sometimes circumstances prevent this. Tone of voice, facial expressions, body movements and stances—--these are the language even the most inarticulate person learns to convey emotions accurately. |
There's more to our lives than what we talk and write to each other. |
But in words? Conveying emotions well using words takes skill and patience, and even talent. Sometimes even the best writers are unable to convey sincerely what they feel or what they want to say that they feel. For many, the act of trying to convey emotions in words takes them out of those feelings, making it even harder to convey them. |
When we communicate with each other we often need to refer to existing documents, photographs, computer files, voice messages, links, etc. One way we do this is by sharing them with the recipient of our message. Most modern email clients allow a message to include any computer file as an attachment. Assuming the recipient has the appropriate program, they can then view the document. |
Language is about information, surely, but also about the human condition and spirit. It's our blessing and curse to have to heap so much into language. There are some emotions we are afraid to express directly in front of others: some forms of love, hatred, disgust. It depends on each of us. |
According to recent research email is now the main means of document exchange. ["E-mail as Habitat: An Exploration of Embedded Personal Information Management" by Nicolas Ducheneaut and Victoria Bellotti, in interactions, Vol. VIII.5, September + October 2001] |
Even in a slow letter expressing emotions can be difficult, but especially in short notes or letters when you need to write quickly it is still important to get the emotions right. If, for example, you want to show you are not angry in a hurried letter, this could be hard to do because rapid writing is often curt and sounds to the reading mind like the sentences are cutoff. If the recipient is expecting a long letter and receives a short one, what is she to make of this? If she had a clue to the real emotion behind it.... |
Sometimes only a single line of text is required to provide a pointer to the actual information, as with a URL for a web page. Other times we need to share many large files that make up a document. |
In the early days of textual electronic communication, misunderstood sarcasm often sparked fierce disputes, and wisecracks too often prompted avalanches of response postings. |
The information we are sharing may be limited to the message, such as an accompanying picture from our vacation. Or it may be information that the receiver will need to file away to work on later, such as a paper being written in collaboration with the sender. |
Use emoticons (emotional icons) and avatars (graphical, sometimes animated characters) to convey emotions. As an alternative, establish an emotional communication mechanism that is like a meta-statement—perhaps as parenthetical statements. Emoticons can express only crudely how we feel, but they can be used to avoid communication blunders. This is especially true if you are writing sarcastically—the use of a friendly glyph can convey the sarcasm that the ineptness of overfast composition belies. These are some simple emoticons: :-) Expresses happiness, sarcasm, or joke :-( Expresses unhappiness :-] Expresses jovial happiness :-[ Expresses despondent unhappiness :-D Expresses jovial happiness :-I Expresses indifference :-\ Indicates undecided, confused, or skeptical :-Q Expresses confusion :-S Expresses incoherence or loss of words :-@ Expresses shock or screaming :-O Indicates surprise, yelling or realization of an error ("uh oh!") The emoticon was first used in email in 1982 by the computer scientist Scott Fahlman. He was trying to find a more aesthetically pleasing way to convey that a statement or passage was to be taken as a joke. Earlier, the word "joke" was added after such a passage, but it seemed to Fahlman to be a poor way to convey the emotion. * * * Build systems that recognize the strengths and weaknesses of people, as well as which fit into the way they work and the tasks they do every day. Carefully observe the failures and breakdowns of our tools and endeavor to improve them over time. (I A 1) Sharing Feelings or Being Clear or Communicating Subtlety --- JoshuaKerievsky Mon, 07 Jan . . . when we communicate face to face, our clothes, our tone of voice, our eyes, our posture communicate on our behalf. How can our communication software be such a rich communication channel? |
Make it easy for people to include non-textual information with their messages. Let them integrate it as part of the message or keep it separate as an attachment. Make it easy for the receiver of a message with attachments to view and store them away. |
The richness of our in-person communications is usually lost when we communicate in text. Many people love to communicate via text because it is inexpensive (CheaperToUse III D) , fast (TimelyResponse III B3, ExpedientResolution III B4) and less intrusive than a phone call. The trouble is, since most of us aren't professional writers, our communications often lose their richness when we convert them to plain text. For many, this loss of communication richness isn't a problem—they simply live with it, doing the best they can to communicate effectively. But others routinely get stung by miscommunications that result from their text, such as a jest that is taken seriously. The miscommunications sometimes trigger absurd or even painful events. For example, a miscommunication on a large, public email forum can lead to a public attack on someone's character (QualityControl — Moderation II C). We can't prevent miscommunications from happening, but we can give people easy, convenient tools to help make their text communicate better on their behalf. Therefore Provide a full-set of visual text enhancements—such as emoticons, ASCII-art, and digital pictures—to authors of textual communications and make it easy to insert these text enhancements into messages by making them visible on the screen and capable of being dragged and dropped or searched and inserted at the touch of a key. Make it easy to add to one's catalog of visual text enhancements. * * * Visual text enhancements may be used to communicate DramaticEffect or Deep Emotion (III A 2), provide a richer communication experience in StylizedLetter (I B) or IntelligentFormLetters (III C2), and clearly communicate feelings or preferences during an ExpedientResolution (III B4). They need to be available to us every machine (UniversalAccess – III E) and must integrate intelligently with other tools (GoodIntegrationWithOtherTools – V A). (I A 1) Nonverbal Communication (was Sharing Feelings or Being Clear or Communicating Subtlety) --- RonGoldman Wed, 30 Jan 2002 . . . when two or more people communicate the QualityOfConversations (I) depends on more than just the words they use. Especially for IntimateCommunication (I A) it is important to provide ways for people to convey their feelings. * * * When we talk face-to-face with another person we use every cue and nuance we can to help us make sense of the message we receive. We look to the person's facial expression, body posture, tone of voice, and gestures as much as to the words they choose. The nonverbal channel enables us to interpret the verbal message: Are they being sarcastic, angry, joking or.... For conversations over other media we do not have access to all of these cues. Over the telephone we only have tone of voice and the rhythm of their speech. Over the computer we are left with just their words. For someone hurriedly dashing off a quick email note, how will the recipient distinguish between haste and curtness? In a message from someone we do not know well, how do we differentiate between a joke and an insult? The answer is not very well as demonstrated by the countless disputes and flame wars that are seen in newsgroups and on mailing lists. Writing clearly is difficult enough. Writing to also convey one's feelings takes skill and talent that not everyone has. Moreover not everyone is comfortable sharing their feelings with others. What has evolved over the last twenty years in email and newsgroups is the practice of adding parenthetical comments to substitute for the missing nonverbal channel. In a message to show they are joking people would write the word "joke" or "<grin>" or "*chuckle*". On September 19,1982 the computer scientist Scott Fahlman suggested on one of the CMU bboards that people explicitly label comments not meant to be serious with a :-) glyph. Thus was born the smiley or emoticon (emotional icon). Some common smileys are: :-) smiling face :-( sad face, or a frowny :-O oh, noooo! Or a shout. Or a yawn. ;-) winking face Over the years people have created thousands of different smileys though only a few are in common use. There's even an emoticon dictionary with 650 examples compiled by David Sanderson, entitled "Smileys", published by O'Reilly & Associates. Current chat systems extend the use of smileys. When the user types a smiley, both Yahoo and MSN display a graphic image of a cartoon face with the appropriate emotion displayed. The chat interface also includes a pull-down menu that allows a user to choose a graphic representing their mood. Some chat systems now support webcams so that people can broadcast an image of themselves. Email also allows multimedia in that the sender can include a voice clip to introduce or comment on their message. Therefore, When building a computer application that people will use to communicate with each other be sure to include support for nonverbal communication. Make it easy for a person to include an emoticon or other graphical display to indicate their emotions. Make the communication channel as rich as possible. * * * |
The information we exchange is often in formats that our email client will not understand so it is important that the appropriate application to display the information be able to work with our email client---GoodIntegrationWithOtherTools (V A). To be sure that the recipient has some program that they can use to view the attachment try to use common file formats rather than proprietary ones---RosettaStone (V E). |
Other ways of showing the writer's mood can come out in a StylizedLetter (I B). For group discussions the use of techniques like emoticons will be part of the group's culture—--NurtureCommunity (II B). |
Sending large files is fine for people on high bandwidth connections, but sometimes we use low-speed lines and it is difficult to receive our messages. So it is important that our email clients be both TimeSensitiveAndLocationSensitive (III A 4). |
Receiving files opens the door to viruses and malicious programs so be sure to keep us Safe (SafeToUse V D) by limiting what actions happen automatically when mail is received. E.g. don't allow incoming programs to run without explicit permission from the recipient. |
(I E) Sharing Information --- RonGoldman 16 Jan 2002 |
(III B 1) Slow Letter --- RichardGabriel Nov 2001 |
. . . when we talk with others we often need to exchange more than just a simple message. |
. . . you have determined that a textual electronic communication system will be used for slow, deliberate communication rather than rapid-fire interactions . . . |
There's more to our lives than what we talk and write to each other. |
The rhythm on communication will be slow, the writer will want tranquility while writing, interruptions may not be welcome. When writing a deliberate letter, there will be many false starts, but the letter will be thoroughly reviewed before being sent; it may take days to write the letter, and part of it may change or be moved about. |
When we communicate with each other we often need to refer to existing documents, photographs, computer files, voice messages, links, etc. One way we do this is by sharing them with the recipient of our message. Most modern email clients allow a message to include any computer file as an attachment. Assuming the recipient has the appropriate program, they can then view the document. According to recent research email is now the main means of document exchange. ["E-mail as Habitat: An Exploration of Embedded Personal Information Management" by Nicolas Ducheneaut and Victoria Bellotti, in interactions, Vol. VIII.5, September + October 2001] Sometimes only a single line of text is required to provide a pointer to the actual information, as with a URL for a web page. Other times we need to share many large files that make up a document. The information we are sharing may be limited to the message, such as an accompanying picture from our vacation. Or it may be information that the receiver will need to file away to work on later, such as a paper being written in collaboration with the sender. |
The letter to be sent is not urgent though it may be eagerly anticipated. The letter may be in response to a long one received earlier. |
Make it easy for people to include non-textual information with their messages. Let them integrate it as part of the message or keep it separate as an attachment. Make it easy for the receiver of a message with attachments to view and store them away. |
Create a writing context in which automatic spell and grammar checking is turned off or can be invoked only; cause notifications of communications to be silent, quiet, or visually subtle. Enable the writer to view easily the letter to which he or she is responding, and create a way for the partially written letter to be saved for further revision and writing. |
The information we exchange is often in formats that our email client will not understand so it is important that the appropriate application to display the information be able to work with our email client---GoodIntegrationWithOtherTools (V A). To be sure that the recipient has some program that they can use to view the attachment try to use common file formats rather than proprietary ones---RosettaStone (V E). Sending large files is fine for people on high bandwidth connections, but sometimes we use low-speed lines and it is difficult to receive our messages. So it is important that our email clients be both TimeSensitiveAndLocationSensitive (III A 4). |
There is no need to send the letter quickly, so standard email is adequate. Spell and grammar checking should be available, but activated only on command. The visual context of the writing area---including toolbars and menus---should be tranquill, unobtrusive. |
Receiving files opens the door to viruses and malicious programs so be sure to keep us Safe (SafeToUse V D) by limiting what actions happen automatically when mail is received. E.g. don't allow incoming programs to run without explicit permission from the recipient. |
(II A) Small Work Groups Come and Go --- RichardGabriel 30 Nov 2001 |
(I B) Stylized Letter --- JoshuaKerievsky 30 Nov 2001 |
. . . you are designing a textual communication client and are working on how to address people . . . |
... you are adding stylization features to an email client that will allow users to write emails using various fonts and images. |
The people we work with changes over time both as our interests coincide and drift apart and as projects start, mature, and end. Who these people are and when such lists come and go are not part of a foreign infrastructure but a part of our private lives. We need to easily communicate with our colleagues. |
Plain text is great for quick emails, but isn't always the best way to express more subtle ideas. Authors customarily resort to using italics, bold or different fonts to convey meaning or simply make a message easier to read. However, since not every email client can make sense of the stylization encodings, some emails show up with spurious computer codes that make the letter harder to read than plain text. |
A distribution or mailing list is nothing more than an alias representing a set of individual addresses, but such things happen to be difficult to set up, perhaps because someone had decided long ago that clients do one set of things and servers do another. The same is true of buddy lists, weblogs, and archives. Or perhaps someone has decided that only a higher authority should be allowed to enable aggregations to work together. Or perhaps existing tools are too primitive to enable people to set up easily new mailing lists, buddy lists, and weblogs. When a group disbands, the archives might need to be shared or disposed of, and sending to demised mailing lists needs to be handle with grace and care. When people come and go from mailing lists---at their own pace and timing---no one really knows about it, nor does the software act properly and without dumb failures. For example, vacation messages go to mailing lists. People often stick with one form of conversation because they don't know another is available. For example, it is not easy to switch to a chat from an email discussion, and a person might not even know that all or most of the interested parties are online and could engage in more direct communication. Mailing lists sometimes grow too large and need to fragment based on local interests, but tools are unable to help with this. Therefore, Make it easy for a regular user to setup and disband a small work group "mailing list" or virtual working space. Offer a small collection of tools that allow the group to interact in different ways. Partition the functionality so that different bits of it can be combined in appropriate ways. Make it so that mailing list discussions can morph into chat rooms or instant messages, that archiving across discussion formats is continuous, that people can easily update their own best addresses without intervention by strangers, that distributions lists can be easily combined or split up, that temporary additions and removals can be done easily, and that control of who can talk to whom is handed back to the people who want to talk and not system administrators. * * * Archives, annotations, and flagging need to be considered and blended with the client. The entire state of the client, address book, and mailing list state of a client must be easily maintained and transparent. Typing needs to be minimized in such maintenance. (II A) Small Work Groups Come and Go --- RonGoldman 9 Feb 2002 . . . the nature of GroupDiscussions (II) is that they start whenever several people have something to discuss and that they eventually end. * * * As people we belong to many different groups. As our interests and projects change, so do the groups we care about, at work, at play and at home. Members of each group need to converse with each other and so need ways to get together either in person or through some technological means. In the physical world a group discussion can occur just by several people getting together. Sometimes this requires advance planning such as choosing a time that everyone is available or reserving a room to meet in. For conference calls each participant must agree to a time and then call a prearranged number. Many group discussions occur spontaneously---a bull session in a hallway---or as a side-effect of other activities---sharing a lunch table in the cafeteria. In the electronic world group discussion can be more problematic. All interaction is mediated by some technology that must first be mastered. The initial hurdle is to setup an electronic meeting space for the new group. This requires having access to tools not to be found on most personal computers that can support creating group mailing lists or chat sessions. For an online chat session the group needs to locate some type of chat server that they can use to create a possibly private chat session, such as a chat room at some web site, an Internet Relay Chat (IRC) channel, an Instant Message service, or whatever. For a mailing list a computer that allows the creation of new mailing lists must be available. Then everyone interested needs to add themselves to the list, or maybe the mailing list creator can sign them up. For a newsgroup there is a somewhat lengthy process required to get approval to create an official new newsgroup, though "alt" groups can be set up at any time. Once created there is no guarantee if and when various news servers will carry the new group (especially one in the "alt" universe). Creating a new newsgroup may be too much overhead for a group with a limited life span. It may make more sense for short-lived discussions to use an existing newsgroup. In addition to a channel for conversation, groups will want to know who is participating in the discussion and may want to prevent strangers from joining in. Moderated mailing lists and private chats can be used to preserve privacy. Most chat systems have commands to display current participants. It is also very useful to have some way to preserve discussion for people to review or search later. Some groups continue for long periods of time and may better be considered to be communities. Other groups disappear after some time and there should be a way to let people know that the group is no more. |
Because many email clients don't support stylized messages, many authors hesitate to use stylization for fear that their message will show up in someone's inbox with odd code in it. This means that stylization features in an email client are suspect---you don't know when you can use them safely because your email client doesn't know the capabilities of the email clients you're sending messages to. |
Design electronic communications tools to support the entire lifecycle of group discussions. Make it easy for people to start a new discussion, be it via chat, email, newsgroups or the web. Plan for people to join and leave the discussion after it starts. Design a way for the group to gracefully end the discussion. |
Give every email client a default, but customizable, mapping between stylized text and it's plain text equivalent. When a stylized email arrives, the email client will display the letter in the richest way possible, based on its capabilities. |
An Archive (KeepArchives IV A 3) can provide a history of the discussion. People often are engaged in multiple conversations so Threading (ConversationsThreading IV A 1) can help keep the different discussions distinct. It should be EasyToUnsubscribe (V C). |
To facilitate the creation of stylized letters, outfit each email client with stylization features whether or not their email client supports different fonts or images. Provide a default editor, but allow user's to use their own, most comfortable editor EditingEase (V B). |
Include stylization mapping suggestions with sent emails using AnnotatedMessages (IV B1). |
(III A) The Context of Our Lives --- RonGoldman 29 Nov 2001 |
(III B 3) Timely Response --- RichardGabriel 2 Dec 2001 |
. . . you wish to create a technology that supports each person's unique, individual way of working and living as they shift from one task to another, move from location to location, and interact with various other people. |
. . . You want to communicate with someone far away but that person is hard to get a hold of . . . |
Our lives are varied and complex---actions do not occur in a vacuum, but in the context of other actions. At any moment we are focused on the task we are working on. Other tasks that we may have pending are temporarily forgotten. |
We have friends, family, and colleagues who are hard to get a hold of. You send a letter and it's not answered; you phone and they never answer or return your call. |
Most software is focused only on the task it performs. It does not include any awareness of activities the user does outside of it. As a result programs are constantly acting inappropriately. Ideally when we pick up the phone, if the radio is playing it should lower its volume. If we are intensely concentrating on a task, perhaps the phone should not even ring---unless the call is very important. |
Some people have an aversion to phones, particularly when making a call into an unknown situation. Letters are slow to begin with, and because they are used for a slower rhythm of communication (RhythmOfConversation and SlowLetter). |
The ideal butler is highly attentive to your needs and also unobtrusive in carrying out his activities. Our technology is totally ignorant of us and what we are doing; all it "sees" are its needs and actions. |
But sometimes you need to get a hold of someone, and you'll do whatever it takes to get a response. |
Build programs that recognize the different contexts and act appropriately. They must include information that goes beyond the narrow tasks they perform, so that those tasks can be fitted into the larger context of our lives. |
Send an textual electronic communication. For some reason---perhaps because it is a relatively new medium---people respond to email more rapidly than to other forms of communication. Transmission of such messages are nearly instantaneous, so there is a degree of immediacy that is interpreted sometimes as urgency, and this can instigate a quick response. Email, for example, tends to age and go stale in the inbox in a way that letters don't. Because people spend a lot of time with email, there is a potential reminder every time they go back to their email for whatever reason, while phone messages are apparent only when people are interacting with the phone-and then it is usually just a flashing light. |
Our machines need to cope with many people using the same machine---MultiplePersonalities (III A 1)---and one person using many machines---OnePersonManyMachines (III A 2). They must respond differently if we are present or absent---AwarenessOfPresence (III A 3)---and depending on when and where we are using them---TimeSensitiveAndLocationSensitive (III A 4). They need to understand who we are willing to interact with---PrivacyGradient (III A 5) and that while sometimes we do not want to be interrupted, other times we welcome a break in what we are doing---InterruptionGradient (III A 6). They also need to understand the difference between messages from other people as opposed to another machine acting for another person---PeopleTalkToPeopleMachinesTalkToMachines (I D) One way to convey the larger context is to use MetaInformation (IV B). (III A) The Context of Our Lives --- RichardGabriel 8 Dec 2001 . . . we need to communicate (NoManIsAnIsland), we need to use tools sometimes to do that (the telephone, letters, computers), but no one wants tools to dictate how to live . . . * * * Our lives are varied and complex. Actions don't occur in a vacuum but in the context of our lives, other actions, situations, and moods. Our lives change-sometimes dramatically and suddenly. But tools just sit there. They were designed long ago and far away. And their designers assumed you would be using them in a particular context. But software isn't like an ordinary tool. It can be aware of your context or situation-especially if you you are willing to tell it. If only its designers would think of this. The failure of many software tools is based on assuming a fixed context. For example, some folks like to automatically notify others that they are away-on vacation, on a business trip, etc. So they set up their emailers to auto-email an away message. But they're also subscribed to email lists. Uh Oh. Now everyone on the list gets a message about someone being away-every time they send a note. How embarrassing. Therefore, Try to build the textual electronic communications system so that it recognizes different contexts and acts appropriately. Our software tools are like our surrogates. How embarrassing when they act funny. * * * AwayMessages are an important first step in recognizing context. AwarenessOfPresence helps the textual electronic communications system react to incoming messages based on whether we are there or not. Sometimes we'd rather be left alone (GoAway, PrivacyGradient). We also use many machines and want them to act as one (OnePersonManyMachines) or want to act in different roles with the same machine (MultiplePersonalities). Sometimes we work with others (Workgroups {GroupDiscussions}, SmallWorkGroupsComeAndGo). And sometimes we need to shift how we communicate in midstream (EaseOfShiftingModality). |
It is also cheaper, so it has a lot of advantages. For sending messages quickly see LowOverheadMessages. |
(III B 3) Timely Response --- RichardGabriel 2 Dec 2001 |
(III A 4) Time Sensitive and Location Sensitive --- RonGoldman 10 Dec 2001 |
. . . You want to communicate with someone far away but that person is hard to get a hold of . . . |
. . . as we move through the day and about in the world TheContextOfOurLives (III A) changes and our software must reflect this. Being Electronic Nomads (OnePersonManyMachines III A 2) our technology needs to take account of our location. |
We have friends, family, and colleagues who are hard to get a hold of. You send a letter and it's not answered; you phone and they never answer or return your call. |
The world is rich and varied, changing as one moves from place to place and also as one moves through the day. What we choose to do reflects where we are, both our location and the time of day. |
Some people have an aversion to phones, particularly when making a call into an unknown situation. Letters are slow to begin with, and because they are used for a slower rhythm of communication (RhythmOfConversation and SlowLetter). |
We change our behavior so it suits where we are; our software does not. We adapt to whatever resources may be present; our software does not. |
But sometimes you need to get a hold of someone, and you'll do whatever it takes to get a response. |
For example, if I am talking to someone over the telephone about a paper they are interested in, I will likely summarize it or just give them a reference so they can follow up on it later. If my computer is connecting to my mail server over a low speed link, say a 28.8k modem, and I have new mail with a large file attached to it, then shouldn't my email client be aware that it will take a long time to download the attachment? Shouldn't it tell me who the mail is from, how long it will take to download, and then ask me what to do? And while it's waiting for my reply, shouldn't it proceed to retrieve my other pending messages? Current email applications assume that the context is always fixed. They assume we set our preferences once and for all and then everything is fine. This was reasonable when our machines were fixed in place and our options were limited. Now that we have portable machines that connect to the internet in a variety of ways, the software needs to be more flexible. By studying how a person's needs change in different situations, software can be designed to act to meet those needs. At the least an email client needs to act differently depending on whether it is connected to a mail server or not (online vs. offline), on what speed connection is available (slow vs. fast), and on how much information it needs to send or receive. For each location we frequent, the email program needs to know what mail servers are accessible and how to reach them. As we carry our laptop from place to place, it should identify when it can connect to our mail servers and automatically do so, updating our in box with any new messages. When we arrive home or at work it should be able to synchronize with our desktop machines. If we leave our computer running overnight, then our email program should know that we are likely sleeping and so it should not use sound to announce new email---unless it detects that we are currently using the computer (e.g. typing on the keyboard or moving the mouse). It should be easy for a person to enter their schedule into their computer. Then they can expect it to quietly power on just before they get up in the morning and have their email waiting for them. Likewise their machine can know to power down automatically if left on at night. Many computer stores set up the display computers to all start up just before the store is scheduled to open and to power down just after it closes. |
Send an textual electronic communication. For some reason---perhaps because it is a relatively new medium---people respond to email more rapidly than to other forms of communication. Transmission of such messages are nearly instantaneous, so there is a degree of immediacy that is interpreted sometimes as urgency, and this can instigate a quick response. Email, for example, tends to age and go stale in the inbox in a way that letters don't. Because people spend a lot of time with email, there is a potential reminder every time they go back to their email for whatever reason, while phone messages are apparent only when people are interacting with the phone-and then it is usually just a flashing light. |
Build into programs multiple contexts that identify and take into account our location, the time and the local resources. Let the user specify what behavior is appropriate for each context. * * * Sometimes we are away from our machines for periods of time and they need to act in our behalf---AwayMessages (III A 4 a) (III A 4) Time Sensitive and Location Sensitive --- RichardGabriel 9 Jan 2002 . . . The RhythmOfConversation goes on and rolls over our disappearances and peripatetic natures to catch people in differently equipped situations. We have started to think about AwarenessOfPresence and turn our attention to the awareness our machines have of where they are . . . * * * The relevance and importance of a message depends on where you are when it arrives and how it fits into the conversations you are having. A message from someone you've never or rarely got a message from that contains a lengthy attachment is sometimes not welcome if you have just dialed into a 28.8kbaud modem just outside Tulsa while driving cross country to an old timey vintage clothing swap. But if you get a message with a lengthy attachment from someone you've been corresponding with all the way across, then the textual part of the message and a summary of some kind of the attachment might be desirable. On the other hand, there are some messages you are waiting for, perhaps a response to a particular note, and you want to be tracked down and interrupted as soon as it arrives. There are many who wish technology to go away when appropriate, and just as many who want technology to step the fore and actively make things easier when possible. Through clever and not-so clever tricks, a computer can figure out something about where it is, and with a GPS system, it can figure out a lot. Among the things it can figure is how well and how familiarly connected it is. It can tell the connection speed and whether the connection requires dialing. Therefore, Arrange for your textual electronic communications system to provide a way to vary how actively it gathers communications for its users. Have it be able to take into account the connection speed and the person sending the communication at least. If the system is capable of alerting by using sounds-especially loud sounds-make it so that if the user wants, the system will keep quiet at night or other special times. If it's possible to get message headers without getting messages, use that feature to be able to filter messages into attention categories ranging from one that keeps things in the background to one that will eagerly grab an entire message and shout out its appearance. Sometimes it can help for the computer to have an idea where it is-if it's talking to the user's home-base computer, perhaps the work can be shared. Perhaps the software can notice the RhythmOfConversation and automatically be more attentive to hot conversation, or perhaps such behavior should be manually instigated. Make categories of attention types or an n-dimensional space controlled by either discrete stops or continuous settings to enable a user to dial-in the right sort of attention type depending on where the user is and what date and time it is. |
It is also cheaper, so it has a lot of advantages. For sending messages quickly see LowOverheadMessages. |
This patterns affects and is affected by TimelyResponse; ExpedientResolution; GoAway; AwayMessages; InterruptionGradient; OnePersonManyMachines; MultiplePersonalities; PrivacyGradient; and UniversalAccess. |
(III A 4) Time Sensitive and Location Sensitive --- RonGoldman 10 Dec 2001 |
(IV A 2) Unify Email and News |
. . . as we move through the day and about in the world TheContextOfOurLives (III A) changes and our software must reflect this. Being Electronic Nomads (OnePersonManyMachines III A 2) our technology needs to take account of our location. * * * The world is rich and varied, changing as one moves from place to place and also as one moves through the day. What we choose to do reflects where we are, both our location and the time of day. We change our behavior so it suits where we are; our software does not. We adapt to whatever resources may be present; our software does not. For example, if I am talking to someone over the telephone about a paper they are interested in, I will likely summarize it or just give them a reference so they can follow up on it later. If my computer is connecting to my mail server over a low speed link, say a 28.8k modem, and I have new mail with a large file attached to it, then shouldn't my email client be aware that it will take a long time to download the attachment? Shouldn't it tell me who the mail is from, how long it will take to download, and then ask me what to do? And while it's waiting for my reply, shouldn't it proceed to retrieve my other pending messages? Current email applications assume that the context is always fixed. They assume we set our preferences once and for all and then everything is fine. This was reasonable when our machines were fixed in place and our options were limited. Now that we have portable machines that connect to the internet in a variety of ways, the software needs to be more flexible. By studying how a person's needs change in different situations, software can be designed to act to meet those needs. At the least an email client needs to act differently depending on whether it is connected to a mail server or not (online vs. offline), on what speed connection is available (slow vs. fast), and on how much information it needs to send or receive. For each location we frequent, the email program needs to know what mail servers are accessible and how to reach them. As we carry our laptop from place to place, it should identify when it can connect to our mail servers and automatically do so, updating our in box with any new messages. When we arrive home or at work it should be able to synchronize with our desktop machines. If we leave our computer running overnight, then our email program should know that we are likely sleeping and so it should not use sound to announce new email---unless it detects that we are currently using the computer (e.g. typing on the keyboard or moving the mouse). It should be easy for a person to enter their schedule into their computer. Then they can expect it to quietly power on just before they get up in the morning and have their email waiting for them. Likewise their machine can know to power down automatically if left on at night. Many computer stores set up the display computers to all start up just before the store is scheduled to open and to power down just after it closes. Therefore, Build into programs multiple contexts that identify and take into account our location, the time and the local resources. Let the user specify what behavior is appropriate for each context. * * * Sometimes we are away from our machines for periods of time and they need to act in our behalf---AwayMessages (III A 4 a) (III A 4) Time Sensitive and Location Sensitive --- RichardGabriel 9 Jan 2002 . . . The RhythmOfConversation goes on and rolls over our disappearances and peripatetic natures to catch people in differently equipped situations. We have started to think about AwarenessOfPresence and turn our attention to the awareness our machines have of where they are . . . * * * The relevance and importance of a message depends on where you are when it arrives and how it fits into the conversations you are having. A message from someone you've never or rarely got a message from that contains a lengthy attachment is sometimes not welcome if you have just dialed into a 28.8kbaud modem just outside Tulsa while driving cross country to an old timey vintage clothing swap. But if you get a message with a lengthy attachment from someone you've been corresponding with all the way across, then the textual part of the message and a summary of some kind of the attachment might be desirable. On the other hand, there are some messages you are waiting for, perhaps a response to a particular note, and you want to be tracked down and interrupted as soon as it arrives. There are many who wish technology to go away when appropriate, and just as many who want technology to step the fore and actively make things easier when possible. Through clever and not-so clever tricks, a computer can figure out something about where it is, and with a GPS system, it can figure out a lot. Among the things it can figure is how well and how familiarly connected it is. It can tell the connection speed and whether the connection requires dialing. Therefore, Arrange for your textual electronic communications system to provide a way to vary how actively it gathers communications for its users. Have it be able to take into account the connection speed and the person sending the communication at least. If the system is capable of alerting by using sounds-especially loud sounds-make it so that if the user wants, the system will keep quiet at night or other special times. If it's possible to get message headers without getting messages, use that feature to be able to filter messages into attention categories ranging from one that keeps things in the background to one that will eagerly grab an entire message and shout out its appearance. Sometimes it can help for the computer to have an idea where it is-if it's talking to the user's home-base computer, perhaps the work can be shared. Perhaps the software can notice the RhythmOfConversation and automatically be more attentive to hot conversation, or perhaps such behavior should be manually instigated. Make categories of attention types or an n-dimensional space controlled by either discrete stops or continuous settings to enable a user to dial-in the right sort of attention type depending on where the user is and what date and time it is. * * * This patterns affects and is affected by TimelyResponse; ExpedientResolution; GoAway; AwayMessages; InterruptionGradient; OnePersonManyMachines; MultiplePersonalities; PrivacyGradient; and UniversalAccess. |
no versions written yet |
(IV A 2) Unify Email and News |
(III E) Universal Access |
Note: Be able to get email wherever we are |
A Pattern Language for Textual Electronic Communications |
(I D 1) When Our Machines Act for Us --- RonGoldman 4 Jan 2002 |
Email is often described as the killer app for the Internet. People spend more time writing and reading email than any other Internet activity. When one adds in instant messaging, online chats, and other forms of textual electronic communications, the people affected by the design of these systems is enormous. The purpose of this pattern language is to help people design appropriate and humane textual electronic communications into systems they are building. |
. . . in the normal course of affairs we do not want our machines trying to interact with ourselves or other people---PeopleTalkToPeopleMachinesTalkToMachines (I D)---but sometimes we need them to act in our stead. . . |
Using this pattern language we hope will allow system designers to create applications that make use of a range of ways for people to communicate, including traditional email, bulletin boards, chat rooms, instant messaging, web communities, and other ways of textual electronic communications. Each application would use the appropriate methods to meet the human needs of its users. These human needs must address that people are differentially abled/disabled: some have limited or no vision, others have trouble typing or using a mouse, and most are not computer professionals. |
* * * |
Start here: * PatternLanguageForTextualElectronicCommunications --- our patterns so far * HowThesePatternsWereWritten --- or why are there multiple versions of some patterns and none of others * SequencesOfPatterns --- to be a real pattern language we need sequences too * LevelsOfScale --- different levels we feel the pattern language needs to address * JoinUs --- we need your help Search this site: [Search] About this site: * WhosWho * GoodStyle * http:changes.cgi -- Recent changes |
There are many demands on our time and we can not always do everything that we need to in a timely fashion. |
Sometimes we are physically away and if someone tries to reach us electronically we would like our machines to record their message and notify them that we have Gone Fishin' (AwayMessages III A 4 a). It is easy to forget to pay a bill on time. Having our computer automatically pay our bills before they are due means one less problem we need to be concerned with. Calendaring software now exists that lets people view their colleagues' current appointments and schedule new meetings. Some let others add to your calendar directly, while others require you to approve any additions. On a more mundane level any task we routinely do with our programs is a candidate for automation. For example filing incoming mail into the appropriate folder is a task that modern email clients can do for us---sometimes well, sometimes with difficulty. When we are editing text it is often useful to define a "macro" that the computer can repeat as needed. Any time that we can describe an activity such that our machines can handle it for us frees up precious time that we can devote to activities we really care about. Therefore, Identify places where our machines can act for us and make it easy for a person to define when and how they should act. * * * Whenever we delegate part of our lives to our machines it is very important that they do not act outside of the bounds we set. We must remain Safe (SafeToUse V D). They must respect our concerns about our personal privacy---PrivacyGradient (III A 5). For our machines to act for us requires that they have GoodIntegrationWithOtherTools (V A) |
(I D 1) When Our Machines Act for Us --- RonGoldman 4 Jan 2002 |
These people contribute to this site. |
. . . in the normal course of affairs we do not want our machines trying to interact with ourselves or other people---PeopleTalkToPeopleMachinesTalkToMachines (I D)---but sometimes we need them to act in our stead. . . * * * There are many demands on our time and we can not always do everything that we need to in a timely fashion. Sometimes we are physically away and if someone tries to reach us electronically we would like our machines to record their message and notify them that we have Gone Fishin' (AwayMessages III A 4 a). It is easy to forget to pay a bill on time. Having our computer automatically pay our bills before they are due means one less problem we need to be concerned with. Calendaring software now exists that lets people view their colleagues' current appointments and schedule new meetings. Some let others add to your calendar directly, while others require you to approve any additions. On a more mundane level any task we routinely do with our programs is a candidate for automation. For example filing incoming mail into the appropriate folder is a task that modern email clients can do for us---sometimes well, sometimes with difficulty. When we are editing text it is often useful to define a "macro" that the computer can repeat as needed. Any time that we can describe an activity such that our machines can handle it for us frees up precious time that we can devote to activities we really care about. Therefore, Identify places where our machines can act for us and make it easy for a person to define when and how they should act. * * * Whenever we delegate part of our lives to our machines it is very important that they do not act outside of the bounds we set. We must remain Safe (SafeToUse V D). They must respect our concerns about our personal privacy---PrivacyGradient (III A 5). For our machines to act for us requires that they have GoodIntegrationWithOtherTools (V A) |
* RonGoldman * RichardGabriel * JoshuaKerievsky |