The SWISH chat services allows you to chat with other SWISH users. Each file acts as a chat room, while the Hangout room allows you to attract attention to the file you are working on. The bell at the top-right shows the status of the hangout room and any message sent to the hangout room appears briefly below the bell. The associated dropdown menu provides access to both the hangout room and the room associated with the currently active file.

SWISH displays an avatar for each user with whom you share an open file to make you aware of other users. Operations such as opening, reloading or closing a file are briefly indicated to people with whom you share an open file. The avatar is taken from your identity provider or if you are logged in. Otherwise it is a randomly generated avatar that is stored in your browser's local store.

A chat message may include one or more payload objects that are made visible as buttons. Most payloads are added using the Send button menu. Defined payloads are:

Finally, the Send button may be used to create a link from the shared chatroom to this file to ask for support.

The hangout room

The notebook Hangout.swinb provides a place to find buddies. Messages may be cross-posted to this shared space using Broadcast to hangout from the Send button. The message that appears in the hangout room contains a link to the file from which it was created.

Markdown in chat messages

Chat messages are subject to a limited form of Markdown processing. Currently, the patterns below are recognised. Note that these are simplified forms of the actual regular expressions which use stronger boundary conditions.

\b\w+.plprogram.plLink to Prolog program
\b\w+.swinbnotebook.swinbLink to SWISH notebook
\w+/\dbetween/3Link to documentation on predicate
`[^`]+``A is 1+1`A is 1+1

Status of the SWISH sharing service

What you are seeing are the first steps to allow users of SWISH to communicate. There are many facilities we have in mind, such as: