Picoline is a web-based chat platform, designed to be hosted in a .NET environment. The design goals of the platform is simplicity, convention-over-configuration and performance.
The platform comprises a server and a client component, which communicates via a simple REST-based interface. All communication goes across HTTP, allowing clients to connect even through paranoid firewall setups.
The server component is implemented in managed C# as a Windows service. This service handles all of the data (users, messages) flowing through the chat, and features a light-weight HTTP server as its interface. The interface supports the following commands:
connect: authenticates a new user with the chat server, returning a secret string to be used in all following requests from the client disconnect: invalidates a secret message, effectively revoking access to future requests using this secret join: adds an authenticated user to the user list of a specified channel (think IRC), and allows the user to read and post messages from that channel leave: removes an authenticated user from the user list of a channel, and revokes the users right to read and post messages from that channel say: adds a specified message to a specified channel, if the user is allowed to post in this channel (is on the user list) On the client side, two implementations are included in the platform:
These details are provided for information only. No information here is legal advice and should not be used as such.