
Braid – A team-chat app with a novel UI for better conversations - simonpure
https://github.com/braidchat/braid
======
rafd
Hey HN! One of the creators of Braid here.

We started Braid internally in the pre-Slack days (we were using HipChat
then), because we felt that "chatrooms" didn't promote good async team
workflows. They would lead to a lot of FOMO and constant checking, because if
you didn't participate in a conversation at the right time, the topic in a
channel would have moved on to something else. We liked the async nature of
email more, but, email has it's own baggage.

Our team has been using Braid internally for several years and we're very
happy with it. But, compared to Slack, it's best thought of as a prototype /
experiment / UI-proof-of-concept, because we don't have the polish and
maturity of features that Slack has.

We've had interest from some individuals who "get it", but it's often been
hard for those individuals to convert the rest of their teams. If any team
here is interested in the Braid concept and wants to give it a serious go, I'm
at your disposal, and I'd love to get your feedback so we can keep morphing
the product.

The use of "hashtags" in our demos is a bit overdone compared to what happens
in practice. It makes it seem like twitter #hastags, but, it's really more
like Gmail labels. Braid tags serve the same purpose as Slack's channels,
except a given thread can exist in multiple channels (ie. go to multiple teams
/ individuals) and tags can be added over time (ie. more people can be invited
to the conversation).

~~~
zerr
> lead to a lot of FOMO and constant checking

An alternative view - you just let go those conversations - saves time :)

Btw, can you please say a couple of words about the tech? (this is HN after
all) - I see it is Clojure (not ClojureScript) - so how do you use it for the
front-end?

~~~
rafd
Re: letting them go... I guess it depends on how you use chat. For us, most
conversations in Braid are bonafide work conversations that are important and
can't be skipped (ex. we run our board meetings asynchronously via Braid,
discuss major product decisions, etc.)

The way I see most Slack used most of the time, though -- as a digital
watercooler -- I can see why it's fine to skip most conversations.

Re: tech; it's clojurescript front-end; clojure backend.

------
sleepinseattle
I appreciate that the UI is fresh. I'm tired of the trend of desktop apps not
taking advantage of larger screens and instead just shoe-horning mobile "feed"
designs into a floating window.

Not convinced that tagging is better than channels for large teams. Seems like
there would be an explosion of tags to keep track of.

Disclosure: I work at Microsoft but not on Teams.

~~~
Jestar342
@mentions could include groups/teams, I guess. Not sure about Braid but they
are a thing in slack.

I think a conversation-first comms platform is a brilliant idea (though not
sure this fits Braid). Instead of channels that can languish and/or have
multiple conversations all jumbled up, you get a new window for a new
conversation, even if it's the same group of people. With easy searching and
archiving I think it could be great. If it isn't a thing in Braid or wherever
else maybe I should shut my mouth and start a product

~~~
rafd
"multiple conversations all jumbled up" is exactly what initially motivated me
to start hacking on Braid.

Braid's search is certainly something that can be improved. In practice, it's
actually pretty rare to have to fish for something in the archives, because
you tend to keep relevant conversations open until you're done with them. (We
also have "starring", like in Gmail, so that you can move conversations out of
your inbox, but still keep them easily accessible).

On a day-to-day, a good "search" experience might actually be more relevant
for slicing-and-dicing through your Inbox (ie. triaging the firehose of daily
messages), rather than digging up old messages.

~~~
Jestar342
I use searching in slack relatively frequently for things like snippets for
obscure (yet unexpectedly needed again in the future) shell scripts, or small
data items like email addresses or Ids that were sent in a message about a bug
or other support issue that my manager/colleague is now asking about 3 weeks
later.

------
gooseus
It looks like things would get hectic and cluttered pretty quick, is the UX
designed to use side-scrolling to move between open conversations?

The design seems to think that'll you'll be closing chats to keep things
uncluttered, but the chat just pops back up if someone else sends a message to
it, so I imagine this would turn communication into a game of whack-a-mole and
I'd guess that it would (d)evolve into a few relevant persistent conversations
pretty quickly.

Honestly it reminds me of GChat in the GMail client, except I don't get to see
my emails while chatting and conversations are cluttered with random hashtags.

~~~
throwaway55554
I think all these chat apps fail at UI. I think we need a chat app that uses a
mind map UI. As the conversations progress each thread forks off to create a
new node. When messages come in the appropriate node indicates there's a new
message. You click the node and a message box pops up to interact with then
disappears when you're done. It would be easy to recall items you want to find
in the conversation because you'd just look at the nodes.

------
NateEag
I've been dissatisfied with Slack for a long while, and feel something more
like a threaded forum that supports but does not require synchronous
communication would fit my mindset better.

I've been curious about Zulip
([https://zulipchat.com/](https://zulipchat.com/)) for a while, but have yet
to use it for anything.

The fact that Braid explicitly calls itself an "email/mailing-list/web-
forum/chatroom hybrid" sounds promising to me. That's roughly what I'm wishing
for, and is how I've described what I want before.

Does anyone here have hands-on experience with Braid?

More generally, are there other tools you've used or heard of that might fall
into that category?

~~~
jamauro
we're working on what you're describing with pingpong
([https://usepingpong.com](https://usepingpong.com)). all conversations are
threaded, mostly geared for async but can be synchronous if desired. would
love to get your feedback on it.

~~~
rakoo
That looks very nice, but you probably should include a video of some sorts to
get a feel of what it looks like !

------
PStamatiou
This UI assumes I have infinite screen real estate. Slack is usually relegated
to a sliver of my screen on the side and gets out of the way for easy app
switching. This seems like it always needs the full space to work well given
the older style docked gChat/FB message design?

------
zarmin
>get shit done.

Call me prude, but this kind of copy turns me off to the product.

------
ctvo
How does this scale to larger teams? The problem with tags is they're free
form and up to users to decide what tags to use.

As teams scale, this becomes a process and enforcement issue. The video didn't
convince me trading memes for the headache of telling Steve to use this tag
hierarchy every time and to not snake case is a worthwhile investment.

~~~
rafd
I hear your concern. Would the ability to "disable auto-creation of tags"
solve your problem?

------
screamingninja
Their product overview video is almost four years old and the Github repo has
not seen a commit in almost 9 months. What's novel about this?

~~~
jstummbillig
Its relevance.

------
vasco
Seems like it requires a datomic pro subscription to run it. Interesting they
opted for a paid datastore as a backend to this, so you get the cons of having
to subscribe to this but then also run redis and the UI yourself. Could be
interesting to see a data store you could run yourself to back this up in the
roadmap but seems they're focussing on the UI/UX.

Since the UI/UX is the biggest innovation here, I somewhat understand the
decision but I'm sure it'll limit adoption by the majority of people that want
to host their own chat platform.

~~~
rafd
With "Datomic On-Prem Starter", you can run Braid for free.

[https://www.datomic.com/get-datomic.html](https://www.datomic.com/get-
datomic.html)

------
nolok
I've been looking for a chat application similar to the original slack
(prettified / integrated irc, no need for the various integration and all) but
free and self hosted or for a fixed sum rather than a sum per user per month,
but I have been disappointed in what I found.

The self hosted version of tools that offer a subscription service like
mattermost are very limited in search and archiving, the ones integrated in
hardware appliance like synology chat are very limited in admistration
capabilities (moderation, permissions,...).

Did I miss an offering somewhere or is this a still open area?

Main needs 1-1 chats, channels, permission per user per channel, full logs and
search, administrative view and archiving over all exchange

------
faitswulff
Card style chats feel a bit limited in 2020. I'd like to see full-window chats
with the conversations I've subscribed to in the left panel. Like Slack but
everything is a channel or a combination of channels.

------
Meph504
The concept is interesting to me, and I'm trying to watch the demo video
([https://www.youtube.com/watch?v=YeH-8_PUXPk](https://www.youtube.com/watch?v=YeH-8_PUXPk))
and the music is the background here seems like a horrible choice, starting at
about 19 seconds, that synth piano noise, is really not something you want as
part of a voice over.

I think its a novel concept, that needs a lot of polish, but that video ouch
that was rough.

------
x3haloed
I don’t understand... the novel UI here is multi-window chat?

------
ImpressiveWebs
The main website is not on HTTPS. That doesn’t exactly instill confidence in
the security of the product.

------
f055
This reminds me of TweetDeck, with many many streams opened at once. While the
concept sounds interesting, it quickly becomes very cluttered to the eyes. I
think the main problem stems from the necessity to monitor chats horizontally
but read each chat vertically.

------
osdiab
I always liked Twist and Spectrum for their threaded first nature. Is the goal
of this radical UI choice to make multiple conversations visible at the same
time or something else? It looks overwhelming to me while those felt fine for
most use cases.

------
dmitriid
That's Facebook's UI for chats. And it's useless IMO.

------
aantix
Voice with quality transcriptions is the future.

It keeps the nuance and emotion present, can be async (think leaving
voicemails) and is searchable.

------
xyst
I feel like “chat apps” have reached peak innovation. It can’t get any better
than discord/slack/mattermost.

Braid looks like it’s trying to solve a problem that doesn’t really exist. If
anything it adds more problems than it solves. Instead of navigating to a
general channel for “marketing”, now I have to remember some hashtag that an
intern created to recall that exact conversation.

This is no different than message threads within a channel and just searching
by keywords.

~~~
na85
I haven't used mattermost, but discord at least is awful. It's a battery hog,
the VoIP usually doesn't work, and I don't think the actual chatting
experience is significantly better than IRC except for inline images which is,
I'll admit, a nice feature.

Otherwise the only thing discord has going for it is the network effect.

If image support and emoji are considered "peak innovation" then MSN Messenger
beat them to it a decade ago.

~~~
pathartl
> the VoIP usually doesn't work

I don't understand this, Discord is one of the most reliable voice chatting
applications I've used. Honestly I wish MS Teams would implement voice
channels similar to Discord. It would be so much nicer to just drop into a
voice channel instead of sending out invites for a meeting.

~~~
na85
Are we using the same application? I've literally never, not a single time,
tried to use Discord's VOIP without either me or someone in the channel being
unable to broadcast/hear the others. We're all running bog-standard Windows 10
machines with USB peripherals.

~~~
pathartl
Apparently we must not be. I have an Arctis 7 headset and I can take the
transceiver and move it from my main rig to my work machine and even my
phone... it works straight away and I don't need to configure anything.

Not that I've needed to do it, but have you tried disabling all of your unused
audio input/output devices on your computer? If you don't use things like line
or mic in on your motherboard, disable them. It gives Discord less things to
try to bind to.

~~~
na85
Does it seem like "peak innovation" has been reached if I have to disable
audio devices on my motherboard the way I haven't had to since using the
original Teamspeak back in the early aughts?

It's not just me, either.

------
z3t4
As a teenager I played text based MMO and a clan could be several hundred
people, all organised via forum irc and IM...

------
arthurcolle
How do I get rid of the debug pane on the right? It’s a little intrusive when
I’m just trying to poke around.

~~~
rafd
Ctrl-H , or, in project.clj, remove the line ":preloads [day8.re-
frame-10x.preload]" and restart the REPL.

~~~
arthurcolle
Thank you, I'll try that. Appreciate the response.

------
qnsi
Looks like boosted upvotes here

Not really solving any problems I have with chat, seems it actually creates
more chaos than slack

