arborchat / muscadine

[legacy] The Arbor reference client implementation
Apache License 2.0
5 stars 2 forks source link
arborchat client go

Muscadine

Muscadine is the reference client for the Arbor chat protocol.

You can get information about the Arbor project here

DISCLAIMER: Arbor currently doesn't use any encryption whatsoever. We are working to change that, but right now anything sent over the system can be recorded or modified by malicious third parties. DO NOT send anything sensitive over Arbor, and DO NOT put a great deal of faith in the integrity of messages that you recieve from others.

It currently runs as a terminal user interface that looks something like this:

muscadine screenshot

In this screenshot, you can see that one message (highlighted in red) is selected. The user can hit "enter" to reply to this message, or can use up/down arrow keys to scroll. Importantly, the selected message isn't actually a direct reply to the message above it. The messages highlighted in yellow are the series of replies relevant to the selected message.

This is muscadine's (and arbor's) killer feature. You can actually see the context for new messages that come in. If someone replies to a much earlier message, you can tell that they are doing so. This is a marked improvement over the current clutter that can build up during group chat sessions.

You may also notice the [join] and [quit] messages. Since Arbor does not track online users, Muscadine sends these messages to inform the chat of who is connected.

The very first line in the screenshot contains some extra information about the current session:

What's a Muscadine?

Muscadine is named after muscadine grapes, a wild grape native to the southeastern United States. This name was chosen because the initial developers live in the southeastern US, and because these grape vines are a climbing plant that is often supported by an arbor.

Install

The best way to install Muscadine is to head over to our Releases page and pick up the latest build for your operating system.

Build

If you'd like to build Muscadine, make sure you have Go and dep installed. Clone this repository, then run:

cd muscadine
./build.sh

Use

To join a server, run:

~/go/bin/muscadine -username $USER <IP:Port>

The keybindings are: