12 ms·
Zulip – Open-source, threading-based Slack alternative
- skrik2049 8y agothread is a great way to organize message streaming.
- ofrzeta 8y agoOn the downside, if you are self-hosting, Zulip requires a dedicated server (or VM). There are some efforts to make it run in a container but nothing that works really well.
- lucb1e 8y agoWhat kind of kernel-level stuff does it do that requires you to use a full VM? Stuff like this should be an apt-gettable package, not something for a container or even VM...
- tonteldoos 8y agoI think GPs point was that it requires a full system/machine onto which you can install it, be it VM or bare metal (which doesn't look too involved, based on the documentation[1]), but that it won't work as/in a container. GP: Could you post some information on the issues with containers? [1] https://zulip.readthedocs.io/en/stable/production/install.html https://zulip.readthedocs.io/en/stable/production/install.ht...
- ofrzeta 8y agoWell, requiring a dedicated machine is what the docs say, and it's what the installer presupposes. Sure you could make it work on box that is already hosting other sites or applications but you might need to do a lot of stuff manually.
- tabbott 8y agoWe (the Zulip core community) recently adopted the main third-party Docker implementation for Zulip (now https://github.com/zulip/docker-zulip https://github.com/zulip/docker-zulip), and have been hard at work on cleaning it up and making its documentation high quality. It's not at the level of polish we want it to be yet (which is why we recommend the "dedicated machine/VM" installation flow, which is super polished). But we expect the Docker setup to be quite nice in a couple months.
- ofrzeta 8y agoThanks for the heads-up. I am sure this will help the adoption of your otherwise fine software. Keep up the good work! :)
- pritambaral 8y agoIt may not have a fully supported docker container, but it should work just fine in an LXD container. I think their installation instructions ask a dedicated machine only because their installer installs packages at the system-level.
- hkai 8y agoIf Slack could solve their persistent issues, I wouldn't necessarily spend effort to move to Zulip. Yet it seems engineering at Slack hasn't improved much over the last couple of years.
- colemickens 8y agoGoogle Wave was ahead of its time, and maybe needed a UX make-over, but still. I also think reddit taking a lot of traffic from classic "forums" was also an indication that people want proper threading.
- steve_adams_86 8y agoThis looks cool. I think it could resolve some of the noise at the company I work for. For example, a lot of #javascript-specific chat happens in the #developers channel, but we have a #javascript channel. This is actually really annoying. I think people would more easily recognize they should put the message into #javascript if they could clearly see the dev -> javascript stream structure. Hopefully anyway. There's no way our company would migrate to Zulip though. > Zulip has modern apps for every major platform, powered by Electron and React Native. I'm not sure the underlying technologies matter to most users. This might not be good marketing, but I don't know. I know someone could have chosen to use this language with reason but figured I'd put it out there just in case.
- tonteldoos 8y agoI've recently reconnected with some friends, by way of a slack channel. The channel is exclusively meant for idle chat, and even there, if I ignore it for a day, I come back to 200+ unread messages, including actually mildly important stuff that I missed lost in the noise (friend being in an accident). I can totally see how Zulip's approach can fix this... Regarding electron/react native - no worse than Slack, I guess (as far as resource usage, etc goes).
- theelous3 8y ago"no worse than slack" is a funny way of saying "unacceptably high".
- flaque 8y agoHow about no: https://i.imgur.com/pTMwFIZ.png https://i.imgur.com/pTMwFIZ.png
- dang 8y agoPlease don't post shallow dismissals to HN. This is in the guidelines: https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html.
- repsilat 8y agoCan anyone chip in with comparative experience between Zulip, Slack, Mattermost etc? Any subset will do. I'm not too interested in a "chat vs email" sort of discussion, just "If you've decided you want chat, which products are worth looking into?"
- Alex3917 8y ago> I'm not too interested in a "chat vs email" sort of discussion, just "If you've decided you want chat, which products are worth looking into?" There are a lot of hybrid products though that either integrate chat into email, or make products that feel like email but are really chat. Zulip looks like it has some overlap with the latter category. Redkix, which just got bought by Facebook today and shut down, is also in that category. That's actually a more interesting story than the Slack acquisition imho.
- jsiepkes 8y agoWe've used Mattermost for a small amount of time and then migrated to Zulip (company of about 50 people). Zulip's threading model is what sets it apart. It might take sometime to get used to but once you do you don't want to use anything else. Mattermost is primarily a Slack clone while Zulip is its own category. I think Slack style chat works best if everyone is working on the same thing; like a 5 man startup. However with more people working on all kinds of different things Zulip's model works better.
- jacinda 8y agoMy company has used Zulip, Slack, Mattermost and tried Ryver as well. Zulip has been by far our favorite. I listed some of my favorite features in the parent thread.
- jremmons 8y agoMy research group at Stanford uses Zulip for instant messaging. I like it A LOT more than Slack. I'll list a few of the features I think most contribute to why Zulip > Slack (IMHO). Also, I'm not affiliated with the maintainers of Zulip at all. I am just a big fan of their software :). - Zulip has something called a "topic" which is basically a Slack thread but with a name/subject-line. Unlike Slack threads though, every message you send has to be sent in a topic. Zulip makes it much easy to context switch between these topics too. Ever have a situation in Slack where two people are discussing something in a channel instead of using a thread or DM? That isn't possible in Zulip. - The Zulip UI offers a lots of nice features compared to Slack too. For one, you can see the number of unread messages in each topic directly from the main page. Zulip also supports multi-line messages so you don't have to send a bunch of message one right after the other to break up text, you can add line breaks directly to your message. - Zulip has a "message drafts" features which is nice when you want to draft a message (or multiple messages), but will send it later. Zulip will hang onto your drafts until you need it. - Zulip has full markdown support. You can format links, images, and tables (which are all especially nice when using bots) using standard markdown syntax. - Zulip has full color syntax highlighting when embedding code-snippets into messages! It has support for basically every programming language I can think of (including brain-fuck!). - Zulip has support for latex equations in messages. - Zulip is open-source! You can use the version of Zulip hosted at zulipchat.com or you can deploy your own Zulip server by grabbing the source code from github (https://github.com/zulip/zulip https://github.com/zulip/zulip). - In the time since I have switched from Slack to Zulip (about 1 years ago now), Slack has gone down 3-4 times and has had other connectivity issues; Zulip had maybe 1-2 minor interruptions that I can think of in that time.
- jacinda 8y agoOur team has been using Zulip since 2013, and I provided one of the testimonials on the site. I’m happy to answer any questions about our experience. Our engineering team tried alternatives to Zulip (Slack, Mattermost, and others) during the period when Zulip’s future was unclear and it was receiving very little support. We preferred Zulip enough to switch back to it even though the mobile apps were basically non-functional (they’re now supported again). The “killer features” for me were: - Topic-based threading, which allows multiple conversations to occur simultaneously without having to creat a new stream (Zulip’s equivalent to channels) every time. This also makes it easy for me to contribute to a conversation hours (or days) later and have everyone else understand what I’m talking about. - Relatedly, he ability to mute topics I don’t care about but see everything else within the stream. - An intelligent global view that makes following multiple conversations at once easy
- sydd 8y agohow is the experience on mobile? Especially Android?
- jacinda 8y agoI’m an iOS user so can’t speak specifically to Android. The mobile app experience isn’t as strong as the desktop browser experience but works reasonably well. I will say that the mobile app experience has been improving very rapidly so it’s going in the right direction. For a while the poor mobile experience was Zulip’s biggest drawback but they’ve made huge strides.
- kitcar 8y agoIt's unusable on Android. Messages arrive days late at time and other mission critical issues. I have contacted the Zulip team about it and they acknowledged Android app still needs work, web is most stable.
- Toa 8y agoThanks for answering questions. Our company wants to migrate from Skype for Business to either Zulip, Mattermost or Hipchat. As todays news hit, we removed Hipchat from out list. Our questions are: 1. Does the Zulip desktop app for Linux store messages for offline reading? 2. Do you use it on-prem or cloud based? (if on-prem did you by the enterprise support? 3. Do you have any video or screen sharing software in use with Zulip? We are looking into the recommended on-prem Jitsi. Also is doesn't offer much group/channel management beyond moderators and guests.
- jaytaylor 8y agoWasn't able to find link to source code on the website. https://github.com/zulip/zulip https://github.com/zulip/zulip
- Someone 8y agoFinally, people rediscover the UI of Usenet (https://en.wikipedia.org/wiki/Usenet https://en.wikipedia.org/wiki/Usenet) and improve on it, getting rid of bare text and adding ways to attend specific users with @JohnDoe. I think you could almost (Usenet doesn’t do closed groups) run this on NNTP, if you run some server that detects those @JohnDoe tags and creates messages in a “messages for John Doe” group, and write a client that handles Markdown.
- nsomaru 8y agoTried to convert some non-techie business types to using Zulip. Was really difficult to get them to understand streams and threading. Perhaps the project just needed more political will and buy-in, but ultimately the instance on DO ended up a ghost town. To be fair, these users don't use any of the alternatives, either. I was super excited to find out that it's built using Django. It wasn't too hard to get running on VM using the install instructions. edit: one downside with a self-hosted instance and the android app was that you need to send Zulip (the company/org) copies of your app secret to enable push notifications. When we were demoing, the way to do this was through an email(!) which seemed poor security, but it seems things have changed since then and there is now a Django management command to achieve this.
- rkangel 8y agoI've heard this difficulty a few times so it must be valid, but I find it really surprising. It's such a close analogy to email subject lines that I would have thought that most people could get their heads round it quite quickly.
- mightykan 8y agoAn alternative to Zulip is Twist - https://twistapp.com https://twistapp.com. (I'm not affiliated with them at all; just a fan.) They have a proper native (as in not Electron-based) Mac OS X app (probably other platforms, too, but I haven't checked), which launches almost instantly and consumes a very reasonable amount of RAM. It's definitely worth a look.
- Fedoranimus 8y agoI'm a big fan of Twist and most things that Doist does in general.
- piotrkubisa 8y agoIt reminds me the Zoho Streams [0] feature in their Mail service. 0: https://www.zoho.com/mail/streams.html https://www.zoho.com/mail/streams.html
- pritambaral 8y agoFor others like me: No Linux app.
- zmmmmm 8y agoDoes it support a full range of markdown or similar in comments? Slack's asinine take on Markdown [1] is one of the things driving me away from it. Our organisation intensively uses Markdown via Gitlab and other products and being stuck with the half functional version in Slack is extremely annoying. [1] https://get.slack.help/hc/en-us/articles/202288908-Format-your-messages https://get.slack.help/hc/en-us/articles/202288908-Format-yo...
- _Harshit_ 8y agoZulip supports Github flavoured msrkdown. Also you can include mathematical symbols, equations etc. in your messages using TeX syntax. https://zulipchat.com/help/format-your-message-using-markdown https://zulipchat.com/help/format-your-message-using-markdow...
- zmmmmm 8y agowonderful!That qualifies it for a deeper look for me then. Thanks!
- whateveracct 8y agoThe markup language should be pluggable -.-
- deleted 8y ago[deleted]
- izietto 8y agoHow to go to web client? If I visit the homepage and I click on 'Web' box it redirects me to Linux app :-/
- ciupicri 8y agoTry https://chat.zulip.org/register/ https://chat.zulip.org/register/
- aexaey 8y agoSince nobody mentioned Zulip's REST API yet, I'll do. There is one, and and it is really good. There are also native language-specific wrappers for that API, for example in python[1], which lets you write a bot in 5 lines: import zulip client = zulip.Client() def onmsg(m): print ("at %d, %s said: %s" % (m['timestamp'], m['sender_email'], m['content'])) client.call_on_each_message(callback=onmsg) [1] https://pypi.org/project/zulip/ https://pypi.org/project/zulip/
- tixocloud 8y agoIs Zulip embeddable? I’d like to add a messaging/commenting feature to our web app and this looks quite good.
- anotheryou 8y agoI whished it looked more sexy (that seriously helps with making others try it...)
- coderesearch 8y agoLast year I was looking for a tool where one team could provide chat support to customers - of course the customers should have their own space, in tulip this would be organizations. Zulip comes with some good UI ideas for a chat system, the multi-organization experience was not so great. Unfortunately it was not possible to have users take part in several organizations - so each support team member would need to have one account in each organization - that gets messy really quick. I do not think that this is a very edgy use case, but it is an indicator of some underlying design limitation. Having users limited to 'org' does not seem to make sense - instead it is obvious that one wants to have users and groups and some sane way to fine-tune rw permissions and visibility between groups and objects that groups create. I was wondering if such an obvious limitation in the basic design was somehow induced by the use of Django. A programmer with some DB design experience would have spotted that quirk in a very early stage. I understand that Django traps new users into these kind of constructs with its obscure db layer - this is the microsoft principle - 'hiding complexity' in the end leads to hiding knowledge and makes people produce problematic results. It is a good example of how the use of a framework can destroy a good software idea. Hopefully some people with good db knowledge can fork the frontend and build a better backend for Zulip - obviously Elixir would be a good fit with its soft-realtime channels for this kind of communication software. Zulip is still good enough for more simplistic use cases, but you could use any php chat system out there without the incredible installation and maintenance overhead that python brings in - absurd over-complication seems to be another symptom of the framework disease, people just do not seem to know that they are in the 'absurd zone' because they have never seen how it can be done in a much easier way. The tools you use make up your view of the world, so you can not understand what people with other tools are even talking about as long as you do not try them. A good lesson for every developer to stay open-minded and not let productivity pressure eat your learning and research time.
- sciurus 8y ago> Last year I was looking for a tool where one team could provide chat support to customers Although there's the superficial similarity that they both involve "chat", customer support is actually a very different problem to solve than what Zulip (and Slack and all its other alternatives we're talking about today) is focused on. It's no surprise that Zulip wouldn't have the features you need, and it's definitely not somehow an overarching indictment of the Python ecosystem.
- jlebrech 8y agowe have a stream with 200+ topics. topics can't be deleted
- aw3c2 8y agoDon't they collapse to like 5 visible topics by default?
- jacinda 8y agoYes, they do, if all the messages are read in the topics. Then it shows a "more topics" if you want to go back further. However, it will display all the topics with unread messages in them (even if this is more than 5). If you're ending up with a lot of unread topics you don't care about, the answer is to mute that topic (you can mute a single topic without muting the whole stream, which is awesome but a lot of people I've worked with didn't realize you could do this).
- erikb 8y agoDoes it also hold my chat history hostage? I can totally understand the business model behind it, but for me it's also really the most valuable component. I want full monopoly over my chat history (meaning also the the chat app developer doesn't get to see it).
- tabbott 8y agoYou can export your data in a nice JSON format; our exports are complete enough that you could fully migrate your organization from one Zulip server to another using them. And if you don't want to host the data with someone else, you can self-host.
- DyslexicAtheist 8y agoI'm using it in a startup after some great reviews here on HN. the ability to have threaded ("topics") is absolutely superior to Slack. We used slack in other start-ups before and it was always a leading to 'notification fatigue', as soon as the team grew to more than a few people, and even worse when non tech users were asked to all collaborate.
- rooam-dev 8y agoI love Zulip, the UI looks (to our biz team at least) less modern, but its productivity features outweigh this. So far main complain was not being able to create a gif custom emoji :)
- _Harshit_ 8y agoYou can create a GIF custom emoji in Zulip, you just needed to resize them correctly using some tool before uploading. There is an open PR that will eliminate the need to resize the GIF before uploading.
- rooam-dev 8y agoThanks a lot! I found the PR and as I was told I opened pandora's box... now our creative department will be resizing and uploading party parrots gifs :))
- unrealchild 8y agoI love slack, and I also love open source alternatives to services I value! It’s not likely we will move off slack any time soon...however I greatly appreciate having innovative options! Looks great, keep it up!
- filam 8y agoI used Zulip while at Akamai. At the time, Zulip was a Boston-based start-up and I believe some engineers at Akamai had a connection to engineers at Zulip. It wasn't used throughout the whole company, but it did have a significant user base and was growing. My experience was so positive that I've continued to evangelize it at other companies since then. The acquisition by Dropbox was definitely disappointing, but the fact that they managed to open source the code and have since started providing a service is very impressive. The most important feature of Zulip is threading. It doesn't make a big difference for a very small organization, but it is a huge win for larger organizations. Not only does it make it easier to organize information, it allows you to improve the signal to noise ratio by muting specific topics of conversation. I remember being both very excited for Slack's thread implementation and then soon after the release very disappointed. It feels like an after thought and doesn't improve a fundamental problem with Slack, the exponential growth of channels as new users are added. There is a little more upfront learning required to use Zulip, but it is vastly outweighed by the benefits. And don't forget that Slack has a learning curve too, especially for those that aren't as technically savvy (e.g. markdown, Slack commands, bots).
- rkangel 8y agoWe are getting enormous value from using zulip topics between just 2 people. Myself and my cofounder use Zulip effectively as 'WhatsApp with topics'. We can chat to each other on a variety of things, and they're easily retrievable, searchable and persistent. For example, one of our topics is 'interesting articles' where we send HN Links etc. that the other might be interested in. They can be separated from other conversation but it's easy to go back and scroll through them when you've got some time to kill.
- tjpnz 8y agoCan anyone recommend an alternative that does _not_ rely on Electron?
- ibrault 8y agoSeconded, went in thinking "please don't be Electron" and got to the "powered by Electron" section and groaned
- remram 8y agoZulip seems to be trying for "a better Slack", down to the (disgusting) pricing model centered around keeping your message history hostage. I have no need for a slightly better Slack. I can see how your topics make it slightly better to find message, but how do I find topics once there are hundreds of them? How do I find unrelated issues that popped up in a thread, like they tend to do in human conversation, and that people didn't bother to make into a new topic?
- perrylaj 8y agoIf you don't like their service model, just run your own host. Zulip is open source, apache licensed and available on github. I haven't tried it for a couple years, but it was easy to get running in a VM last time I tried.
- aero31aero 8y agoI think I should clarify some of the stuff you're saying: 1. Zulip has been in development since August 2012 (1 year before Slack was released), so is not trying to be a better Slack. 2. Anyone can host their own Zulip server, and have control for all their data. 3. For anyone wanting to migrate from the hosted instance to on premises (self-install) can easily get an export of all their data that they can directly import into their other instance. 4. This is anecdotal but so far, Zulip's full text search has worked well in finding messages from over an year ago easily.
- Fire-Dragon-DoL 8y agoAm I the only one who doesn't like threading at all? I found slack threads one of the most terrible things ever added