From Sugar Labs
< Activities
Revision as of 00:29, 21 April 2016 by Cjl (talk | contribs)
Jump to: navigation, search


About Chat

Chat provides a simple interface for collaborative discussion, be it between two individuals or among a group as large as an entire classroom. Use Neighborhood View to invite particular people to Chat, or share for a public conversation. It uses Sugar collaboration mechanism for launching and joining chats so you can use it even without internet.

The speak activity also has a similar chat feature with added text to speech conversion, so go ahead and check that feature out! You can find this feature under the "chat" in toolbar. See the Speak Activity page.


Where to get Chat

The Chat activity is available for download from the Sugar Activity Library: Chat

The source code is available on GitHub.

Using Chat

Sharing Chat

You can either share Chat publicly, for any other Sugar account to join, or keep it private and invite specific people to join.


In the Chat toolbar, you see "Share with: Private". Click Private and select "My Neighborhood". Chat is now shared publicly for others to join. All other XO icons that you see in your Neighborhood View should be able to see your shared Chat, and join it.


In the Chat toolbar, you see "Share with: Private". Leave that as private, but with Chat as your current Activity, switch to Neighborhood View, and find a friend that you want to invite to a private Chat. Hold the pointer on their icon, and in the popup menu, select "Invite to". A Chat icon appears in the menu.


They then get an invitation to Chat appearing on their Frame, as well as your Chat icon appearing in their Neighborhood View. You can invite as many other XO icons to your Chat as you like, creating a private group discussion. Anyone else who joins can invite others.

Join A Chat

You can join a Sugar Chat that has already been started. Two or more Sugar machines can speak to each other directly without an Internet connection using ad hoc mode or the Sugar Collaboration, Jabber. This is a direct connection. You can also chat with people on the Internet who use Sugar. This section describes joining a chat between two or more sugar machines. First, look at the Neighborhood View to see if there is an existing Chat you want to join. CHAT SAFELY: Only chat with someone you know. If someone invites you to chat, don't chat with them unless you know them.


If you see a XO icon with a little speech bubble icon next to it, that person is in a shared Chat. Several people may be around the Chat icon, showing a group Chat.


Click the little speech icon Chat-JoinChat-join_chat_chat_available_bubble-en.png and select the Join option.

Then the Chat Activity starts, connected to the shared Chat. You see the other people in the Chat, on the Frame.

Accept an invitation to chat

You may be invited to chat. An invitation appears as a little speech icon in the upper-left of the screen in every view. (The invitation also appears on the Frame.) The colors of the icon match the colors of the friend who sent the invitation.

Sugar-share-chat invitation 1-en.png

You accept the invitation by hovering over the icon and selecting Join. You decline the invitation by selecting Decline.

Sugar-share-join chat-en.png

Read a past log of conversations

If you open the Journal Activity to open the Chat in the detail view, you can choose to open the Chat Activity with the Write Activity instead of the Chat Activity window.

Advanced Features

Chat uses the XMPP protocol which powers Sugar's collaboration, so it inter-operates to some extent with conventional Jabber IM clients. Register with a Jabber client on the Jabber server you are using, or use Bonjour, to see the Sugar user, and send them an IM to display an invitation to Chat.

Computers not running Sugar can initiate chat connections to a Sugar user by running a Jabber (XMPP) client, either with both computers registered on the same Jabber server or by running a link local XMPP account such as Empathy with salut or Pidgin with Bonjour.

Here's an example of a buddy list on another non-Sugar computer.


When you initiating the chat on a non-Sugar computer using a Jabber client, an invitation appears on the Sugar computer and the Sugar user can chat with you as usual except that the colors of the non-Sugar participant's response lines are gray as shown below.

Sugar-share-chat 3-en.png

Here's what the non-Sugar computer sees on their Jabber client.

Sugar-share-chat marvin-en.png

And here's the response as seen on the Sugar computer.

Sugar-share-chat 4-en.png

CHAT SAFELY: Remember, only chat with someone you know. If someone invites you to chat, don't chat with them unless you know them. It's perfectly okay to refuse a chat request.

Note: You can use this feature to chat with Sugar-enabled computers from non-Sugar-enabled computers; hence you can chat with your child or class from a conventional desktop or laptop computer.

Extending Chat

Chat is a great for sending messages back and forth with a friend, socializing, and working together on projects.

Remember that being polite on a computer is just as important as being polite when you're speaking with someone.

  • Be polite. Try not to interrupt.
  • Read through what people are saying before you say something.
  • Don't type in ALL CAPITAL LETTERS. This style is considered rude as it is like shouting at someone.
  • If you do not speak the same language as another person it may be difficult to communicate with Chat. Be patient. If you have an Internet connection, you can try going to and type in a phrase that you want to say in another language so you can be friendly online.

You could also use Chat for educational purposes like:

  • Ask your teacher questions about your homework.
  • Brainstorm ideas
  • Bring friends together to talk about doing a group project.
  • Interview an expert using the Chat Activity as if they were in the classroom, especially an expert who wouldn’t otherwise be able to visit.
  • Organize other Sugar or XO users to meet and learn from each other.
  • Share resources (notes, links, videos, references) to help make study more interesting
  • Take group discussion notes.
  • Use Chat and write a story with friends online using the Write Activity.
  • Use Chat to practice writing in a foreign language (see if you can find a native speaker to chat with).

Using emoticons

Emoticon Code Alternate Code
Happy face  :) (^_^)
Sad face  :( (<_>)
Wink  ;) (^_~)
Heart <3

Future Directions

Note: Many of these goals have yet not been implemented.

Text & Image

The Chat activity will take advantage of both the keyboard and the resistive trackpad technology on the laptops, allowing the conversation to evolve with both text and image.

Interactive Chat

In addition to supporting both text and drawing, the Chat activity will encourage conversation and iterative process by providing a "pull" button for each entry. When a child clicks this button the content of the chat bubble - both image and text - get pulled into the input region, allowing her to alter or append both text and image. When the modified drawing or text becomes part of the conversation, it enters the stream as a new bubble, preserving the previous comments and drawing iterations. When pulling text into the editing region, it is "pasted" into the region in the normal fashion: over a selection or at the cursor location. Images, on the other hand, will be pasted in place above any currently existing drawing.

File Sharing

The Chat activity doesn't explicitly expose a means for file sharing. This results from the fact that the entire Sugar UI is designed around the idea of collaboration, providing a layer above every activity for sharing images, links, and documents. This layer can be used in Chat, or in any activity, to share documents with the activity participants.


The edit toolbar should provide an easy method to search for a string of text within the conversation, quickly jumping to chat bubbles that pertain to the search. Optionally we could have a filtering system which allows one to view only bubbles containing images, or all bubbles for a specific individual.


Chat is a naturally collaborative activity. As such, no specific discussion is really needed beyond the overall goals for the activity.

Modifying Chat


Support for this activity is provided by the developer at or by sending an e-mail to