Communication between different applications (either NetsBlox projects or roles) is possible by sending messages over the network (using the blocks under the "Network" tab in the palette). These messages could be used for many different things in a project such as sending chat messages in a chat application or notifying other players of game events (scoring points, player movement, etc). Rooms in NetsBlox can help with messaging by detecting if other clients ("roles") are online and to facilitate debugging by recording messages sent over the network. The roles in a room are also used to populate the dropdown in the "send msg __ to __" block. What type of communication are you thinking about? Does this help answer your question?