Arbor is an open-source chat collaboration system that thinks a little differently about conversations. Arbor captures more of the context of messages than traditional chat, allowing you and your peers to communicate more clearly with less effort.
An arbor is an artificial structure that supports the growth of climbing vines in a garden. Arbor is an artificial structure for chat that helps conversation flourish.
Arbor messages track what you were responding to when you wrote them. Every message explicitly has a
parent message that it is a response to. This allows Arbor to visualize the relationships between messages for its users in a way that other chat systems cannot. This makes your conversation history into a tree instead of a list.
If you think about it, most things you say in a conversation are a response to what someone else just said. Arbor simply captures that information and uses it to help you make sense of very large conversations. Ever get confused when many people respond to a message at around the same time? Arbor makes that situation coherent.
Note the flow of the conversation on the left and how it appears that Bob is saying he's looking to see if Alice squashed her commits. She then replies and says yes, she would love his feedback. Then Bob says that feedback is not always necessary and Charlie chimes in with a seemingly random reply at the bottom. Compare that to the view on the right where each message is a reply to another and it's much clearer that there are actually 4 conversations going on simultaneously: Bob looking at Alice's PR, Charlie asking if her commits were squashed, Alice confirming that they were, and Bob saying that squashing commits is not always necessary. Without the context parents and children provide, it's much more difficult to determine how a conversation actually played out.
If you're technically inclined, you may be interested in the more technical overview, which digs a lot deeper into the parts of Arbor and how they work.
Check out our getting started guide to take Arbor for a test drive!
Arbor started in February 2018 as a wacky idea. We implemented a proof-of-concept system that embodies chat as a tree over the course of the next ten months, and we were really pleased by the results. However, this system had some serious flaws due to its proof-of-concept nature. It had no security, and no good way to build security. We've started over, but this time we're building something serious. It takes a lot of work to build a secure communication platform from the ground up, so it's slow going.
For the new implementation, we have:
If you'd like to keep up with what's going on in Arbor or to help us build it, you can:
Come to our weekly Sync meeting! We meet every other Thursday (except some US holidays) at 7pm (Eastern US Time) on Big Blue Button. We get together to talk about project status and to give people a chance to ask questions. We're always happy to chat with new people! Check our mailing list to see whether it's an on or off week.
Join our mailing list
Subscribe,it will open an email client with a new message. Send literally anything to that email address and you'll be subscribed to the mailing list.
Check out our open issues if you'd like to help out, report bugs, or request features.
Who do we need?
The inspiration for the logo was a sketch by Katerina Waldon. Chris Waldon hacked together the current one in Inkscape.
When the project started, we didn't know sourcehut existed. We really like some of the ideas behind sourcehut, and we're trying it out for the time being as a possible permanent home for the project. We will try to mirror all of our code back to GitHub to make it all easy to find though.
Sure; there are hundreds of other applications that do chat, and many of them are very good tools. Arbor's goal isn't to replace them all, but to demonstrate that there are other interesting ways to build chat.
commit 34dece6c77833c5fba2dad338d9fb0360876aeef Author: Amolith <email@example.com> Date: 2020-06-30T11:22:25-04:00 add new diagrams and update docs I added the new diagrams and updated the docs to include them along with an explanation of what's going on for the simpler overview. I included the graphml files so they can be imported and edited/improve later on but I don't know how they'll work in other programs; I created them in yEd: yworks.com/products/yed The dark diagrams have transparent backgrounds so they should be suitable for any shade and the light diagrams are simply white. SVGs are including for editing colors and exporting at various sizes.