
Dropbox has open-sourced Zulip - joeclef
https://www.zulip.org/
======
kevinr
We've been using Zulip internally for a couple of years now. We've used IRC
and Jabber, looked at Slack and Hipchat and Skype and Lync, and somehow keep
coming back to Zulip. It lets us have real, ongoing, and substantive
conversations, with a large number of participants, without being overwhelmed.

I sometimes feel like Twitter is actually a better comparison for Zulip than
Slack---in Zulip like on Twitter, it's easy to watch and participate in
multiple conversations at the same time. Zulip's threading model exists
somewhere between Slack's rigid "rooms" model and Twitter's everything-is-
public model, so it's much lighter-weight to participate in multiple places at
once than on Slack but it's also easier than on Twitter to have the right
conversation with the right people without bothering others with something
irrelevant to them. And Zulip's threading model makes it much easier to have
multiple conversations within the same space without stepping on each others'
toes or getting distracted.

Our remote folks rely on it particularly heavily. When Zulip got acquired it
was our remote employees and their managers who were showing up outside my
cube with pitchforks when I breathed a word of turning it off. It gives folks
in other offices or working from home a watercooler and a way to virtually tap
a group of coworkers lightly on the shoulder when they need help.

Basically we can't live without it, so I'm super-excited to see it finally
open sourced. Thanks for making it happen. :-)

~~~
new299
I'm sure it's a great communications tool, however since Rice joined Dropbox's
board ([http://www.drop-dropbox.com/](http://www.drop-dropbox.com/)) I'd have
severe concerns using anything released by Dropbox. Even if it's open source.
And while I apologize for a tangential comment, people should be aware of the
politics promoted by their software vendors.

Hopefully if it's a truly valuable tool it will be forked and audited.

~~~
dave_sullivan
I agree in principal that the politics behind a business matter. But why focus
on Dropbox? Rice teaches at Stanford too, why not boycott Stanford and
anything coming out of it?

~~~
CydeWeys
There's a big difference in scope and impact between merely teaching somewhere
and being on the Board of Directors and running it. It's not equivalent.

~~~
andreyf
She was Provost there from '93 to '99, which is a little more than teaching
[1]. I think that while her willingness to go with the Bush administration's
extremist positions (on torture and surveillance, especially) are a dark mark
on her career, Dropbox is worth dropping for wholly different reasons (e.g.
technical incompetence [2]) than who is on their board.

1\. "As the chief academic and chief budgetary officer of the University, the
Provost is responsible for administering the academic program, including both
instruction and research, and for the coordination of the administrative and
support functions of the University with its academic purposes."
([https://provost.stanford.edu/](https://provost.stanford.edu/))

2\. [http://www.eweek.com/c/a/Security/Dropbox-Accidentally-
Turne...](http://www.eweek.com/c/a/Security/Dropbox-Accidentally-Turned-Off-
Passwords-on-File-Storage-Service-655206)

~~~
CydeWeys
To be fair, though, her provost tenure there was before her tenure in the Bush
administration, where her most egregious acts took place. You can't blame them
retroactively for not knowing what a monster she would reveal herself to be in
the future.

~~~
plonh
It isn't about punishing monsters , it is about not trusting our personal data
to someone who has professionally committed herself to stealing it.

------
tbingmann
Slack, Zulip, this feels like we are back in 1999, when the internet was
divided by ICQ, AOL Instant Messanger, Windows Live Messanger, and Yahoo
Messanger. (Instant/Live was a plus back then). And the only innovation over
IRC was a backlog and buddy list. I wonder when the Trillian of Slack+Zulip
will come out. I hope Trillian (which still exists) is already working on it.

~~~
JoshM33k
Those types of fragmentation issues never went away, they just changed focus.
Whether it is Slack vs. Hipchat vs. Zulip, or WhatsApp vs. iMessage vs. text
vs. Hangouts... more options means more (and easier!) ways to contact friends,
family, and coworkers, but also means that you have to memorize a "best way to
reach me" chart for each individual person.

~~~
shanemhansen
Every week I have to use a Cisco jabber client, Hipchat, Slack, and Hangouts
within the same company.

I know it's got less of a "cool" factor because it wasn't invented last week,
but I soooo wish everyone would just use IRC. Use irccloud if you want some
nice apps and picture embedding.

~~~
rikkus
Is it possible to get what Slack provides using IRC? I mean the whole package,
not just the text chat. Consider enterprise-friendliness, excellent mobile
clients, zero-setup required (no separate keep-you-online relays), really easy
integrations, etc.? We are adopting Slack because it's great and I'd have
loved to make a case for IRC but I wouldn't know what server to recommend (we
don't really want to install it, but we don't want to use a public server),
where I can get commercial support, if there's a nice client (like irccloud
is) for mobiles - there's a long list, unfortunately.

~~~
inopinatus
Also in-client searchable archives, media handling, history editing. All
require going outside the IRC protocols.

IRC was designed by hackers, for hackers and it shows. Twenty years ago, IRC
was my talk destination of choice and I operated a server within a major IRC
network; these days my startup uses Slack which I determined to be the "least
irritating" of the 21st century options.

I had high hopes for Google Wave but it was sadly stillborn.

~~~
e12e
Much of that can be had with a IRC bot. That doesn't include media handling,
but you could do search via 1-on-1 /msg (query) with a bot. Then it'd truly be
"in client" search.

Most would probably prefer a web ui, with search -- but recording chat could
still be done via a bot.

I wouldn't say you could get _most_ of the _whole_ slack experience with just
IRC, and you'd probably have to do some work (if only configuring
channels/bots/find a web ui etc).

~~~
inopinatus
This doesn't resolve the multifarious issues with identity, reliability,
scalability, federation, standardisation &c &c that further rule IRC out from
being the universal panacea.

~~~
voltagex_
It doesn't have to be. Go help with IRCv3 -
[http://ircv3.net/](http://ircv3.net/). Almost everything that's in Slack and
Zulip would just be a capability extension.

~~~
inopinatus
I stopped reading when the charter said "we are not working on the server
protocol". The server protocol is the limiting factor in IRC's architecture.

My interest is in federated, reliable, ad-hoc messaging and IRC's acyclic
forwarding graph and lack of any inherent identity model make that impossible.

------
krig
"You can install a Zulip server on a system with 2G of RAM, but for production
use we recommend a system with 4GB of RAM or more."

Something has gone horribly wrong when a chat server can barely run on 2G.

edit: As a frame of reference, here's what Inspire IRCd needs:

> A network with 3000-4000 locally connected clients and 10000 open channels
> experiences a constant 1-4% CPU use with 70MB of RAM use. This won't go up
> drastically, but it will go up. Around 40000 local clients means you'll be
> expecting some 500MB of RAM. [1]

[1]:
[http://www.inspircd.org/wiki/FAQ.html](http://www.inspircd.org/wiki/FAQ.html)

~~~
tabbott
See
[https://news.ycombinator.com/item?id=10280246](https://news.ycombinator.com/item?id=10280246).

Historically most users were using the single cloud installation at zulip.com,
and so having this significant fixed memory overhead wasn't a problem.

I expect someone will do the work the fix this before long; it shouldn't be
hard.

~~~
krig
Thanks for the explanation! I take it that the open sourced zulip is very
close to what zulip.com runs, then?

~~~
tabbott
Yes, it's in fact exactly what's running on zulip.com.

puppet/zulip_internal in the server repo even has the zulip.com puppet
configuration (sans secrets).

------
on_
Smart play. If they can lock people in to their free chat client they can get
a stronger foothold into enterprise and servicing smaller start-up/SMB
companies. This is what Paul Graham talks about building an e-mail client,
just call it a todo list.

This is a storage application front-end. Slack and hipchat charge the money
for secure storage, file transfer and data. That is Dropbox's competitive
advantage and a great way to break into the market discreetly.

Client looks cool, I will be downloading it.

~~~
eric-hu
For others who didn't get the PG reference:

[http://paulgraham.com/ambitious.html](http://paulgraham.com/ambitious.html)

~~~
on_
Yep. I like his talk at Pycon in 08, where he talks about building a better
email client[0] but it is also noted in your link. Thanks, I switched back
from mobile and meant to post it.

Incidentally, if anyone has seen his Pycon talk, one of his ideas is "Bring
Back the Old More's Law", and if you are curious it is ~2-3 minutes here[1]. I
have always been wondering what he means when he says a "sufficiently smart
compiler is a byword for impossible" is this an AI reference or a deeper
computer science theory that I am missing. Always been really curious.

[0][https://youtu.be/R9ITLdmfdLI?t=7m40s](https://youtu.be/R9ITLdmfdLI?t=7m40s)
[1][https://youtu.be/R9ITLdmfdLI?t=21m38s](https://youtu.be/R9ITLdmfdLI?t=21m38s)

~~~
sitkack
"Sufficiently Smart Compiler" refers to something which has been hand waved
away as a "Simple Matter of Engineering" or an "Exercise for the Reader" as to
be impossibly difficult. Compilers are already very smart, usually the
sufficient part of the SSC is a tongue in cheek Spock like sufficient. See the
failure of Itanium betting that it could produce the SSC to create fast code.
It was never built, the performance never matched expectations and it failed.

------
SwellJoe
I was just about to try out Mattermost for our company communications. It
integrates with a few things including gitlab, but Zulip seems to have a
larger number of integration options, which is awesome. Anybody tried both and
have thoughts on them?

I still prefer to host my own infrastructure, and I want to be able to archive
and categorize a discussion (after it's happened) for searchability, but a
couple of our people want an alternative to email and Google Hangouts for
communications, and are pushing for Slack or XMPP. I've never been a big chat
user and another of our people doesn't do chat at all (so we'd likely need
some kind of email gateway for him). I'm not convinced anything exists that
answers all these needs, but maybe I'm just way out of the loop.

Also, do any of these integrate with XMPP? Googling is inconclusive, but it
seems neither connects to XMPP directly, which is unfortunate. I'd like to see
an open standard backing whatever chat we choose.

~~~
proksoup
I think HipChat might be the only one backing the XMPP horse still.

A timeline [1].

[1] [https://cdn.sameroom.io/chat-timeline.pdf](https://cdn.sameroom.io/chat-
timeline.pdf)

~~~
SwellJoe
HipChat, while providing the XMPP backend, and a self-hosted option, isn't
cheap, and doesn't seem to provide the extensibility that an open source
option would. But, it's certainly closer to the right thing than Slack (at
least, from a surface level examination).

I guess it doesn't even need to be XMPP, specifically. But, some open standard
and some level of interoperability would be nice. In googling I came upon
matrix.org, which also seems promising, but has the same problem XMPP has of
not having great clients (though I also found Kaiwa, which looks like a pretty
good XMPP client with Slack-like features). Maybe one of these open source
projects will formalize their protocol, and we can all move forward on interop
with _that_.

~~~
ara4n
[Matrix lead here] The open source clients for both Matrix and XMPP are
improving a lot currently. On the Matrix side there's vector.im; on XMPP
there's Kaiwa and Conversations.im. If you want to help break the
fragmentation and have an open standards based approach please run the clients
and help us make them better - it is open source, after all!

~~~
hobarrera
Something really missing about matrix (at least last time I looked) is a
hosted option with my own domain.

I don't want to use the domain you provide, because I'm tied to a provider
forever. I don't want to set up my server right now, because it's just too
much work to try something that I may end up dumping (because nobody else I
know uses it yet).

The overhead to get it is too high, when you're just betting it'll prosper.

~~~
ara4n
Yup, agreed. We're planning to provide domain vhosting (ie point the SRV for
your domain to matrix.org and you'll get your own server instance) which
should help a bit, although doing that for free could start to get uneconomic.
We also need to work out a nice way to let users migrate between providers.

~~~
hobarrera
Free for "2 users per domain" might catch on for those of us who use our own
domain for email/im. Not _the_ most common thing in the world, but probably
quite common amongst your potential early adopters. All while keeping away
domains with hundreds of users that would cripple your servers.

------
jonathanwallace
No plan9?!?!? I'm disappointed. :/

[https://www.zulip.org/clients.html](https://www.zulip.org/clients.html)

~~~
benbristow
Is it me or does the font on that page suck for readability?

~~~
0x4a42
Yup, it's terrible (Firefox 42 / Windows 8.1).

~~~
hobarrera
Gathering from what I've seen on the comments, it seems to be a windows-
specific issue.

------
manigandham
Side note: Please STOP using tiny font weights. Text becomes ridiculously
hard/painful to read.

There's no reason to use a font-weight of 200 (or anything less than 500) on
body text, save that for the headlines.

[http://i.imgur.com/r7a794n.png](http://i.imgur.com/r7a794n.png)

~~~
mikekchar
There is something wrong with your rendering. What system are you using? It
looks to me like the hinting and/or sub-pixel rendering is wrong. I had a lot
of problems with this when I moved to Arch Linux because Debian had done some
default setup that I needed to figure out in Arch. Here are my xresources for
xft if you are using Linux (probably formatted badly, but you can get an
idea):

Xft.autohint: 0 Xft.lcdfilter: lcddefault Xft.hintstyle: hintslight
Xft.hinting: 1 Xft.antialias: 1 Xft.rgba: rgb Xft.dpi: 96

It will give you a place to start, anyway. Main things you will want to change
are the rgba and dpi depending on your monitor. The filter and hintstyle
depends on your preference. Just make sure to turn autohinting off.

If you are using something else, then I'm not sure how to fix it, but I can
tell you for certain that it is broken ;-)

~~~
CydeWeys
Enough other people (who can read other websites perfectly fine) are
complaining about breakage that it's pretty clear this site is doing something
wrong. "You had one job ..." applies here. Body text on a webpage should be
readable on all platforms.

~~~
mikekchar
Well, it's up to you if you want horribly mangled text rendering ;-) I won't
make a judgement call one way or another on the font weight on the site. I'm
just telling you that your font rendering is misconfigured. This is why you
can't read that text.

Even for higher font weights, the rendering in your example is atrocious.
Compare the sibling post's thicker fonts to yours. Notice how yours are fuzzy
on the outside? His are crisp. Now, pick a website with a font you like.
Shrink the page down so the characters are really small. Look at the
characters closely. Do you see how it looks smeared and how there are pixels
of different colours (not just black and gray)? This is the result of the
misconfiguration. Good hinting will allow you to shrink the font to a very
small size and still have good anti-aliasing. Without playing with it, I don't
know if it's just that you have the DPI set wrong, or if you have auto-hinting
turned on (which you should never do now that the hinting algorithms are no
longer patented), or possibly something else.

If you ever decide to look into it, probably the best keywords to search for
is "anti-alias" and "hinting". It seems silly to me to put up with such awful
rendering just because you are too stubborn to consider the possibility that
you are wrong.

~~~
CydeWeys
Well you're responding to a different person, and my font rendering is fine
(and I would fix it if it weren't). I'm just pointing out that if a lot of
people are having problems reading a site for whatever reason, the site should
probably be doing more testing on different configurations, and not be doing
such fancy things with font weights. Another common complaint I have is sites
using gray text on darker gray backgrounds, which can turn into an unreadable
mess on lower contrast or lower brightness displays (like a mobile phone with
the screen brightness set lower to save battery).

And FWIW, I'm on a stock MBP, and I just revisited this site and disabled the
font-weight: 300 rule on the body text, and everything became a lot more
readable for me (if less "stylish"). I think the site might simply need a
slight design tweak for readability.

------
mansilladev
So, if you're going to tool around, and think, "Hey, I've got an Ubuntu/Debian
box laying around" \-- you best just follow the repo README advice and do this
on a virtual box. The server install scripts have some heavy dependencies
(puppet, django), if the "sudo -i" wasn't a clue enough. Also, if you are
doing this, /root/zulip/scripts/lib/install's wgets need some "\--no-check-
certificate" flags. When I get zulip server stood up I'll post my IP.

~~~
tabbott
Yeah I'm hoping that the community will do some work on simplifying this --
our focus on the installation process side was to make there be at least one
installation process for the two use cases that works completely
automatically.

FWIW at Zulip we usually did our development environment on our laptop not
inside a VM; it's not that hard to do, but the nice thing about the Vagrant
setup (written as part of the Hack Week project) is that it's for people with
no familiarity with the software to get to a running environment.

It should be feasible to make a Debian package for it that plays nicely; as
you can see most of the dependencies are already packaged.

Everything scripts/lib/install downloads via https has a valid cert; I suspect
the issue may be that we should bundle the verification chain.

I'd love to see notes on whatever issues you encounter in a github issue or
sent to the mailing list so we can make things smoother.

------
jnpatel
I haven't yet tried Zulip's threading model, but I can certainly say I'm not
pleased with Slack's.

It can be very frustrating to try and trace a conversation backwards in a
crowded Slack channel. I haven't used IRC in a while, but at least my client
had a feature to toggle highlighting on a back-and-forth conversation, but
that wasn't perfect.

------
dang
See also
[https://news.ycombinator.com/item?id=10279743](https://news.ycombinator.com/item?id=10279743)
and
[https://news.ycombinator.com/item?id=10280146](https://news.ycombinator.com/item?id=10280146).

------
sinak
My one big question is: does Zulip support push notifications to the next
version of the mobile app if you self-host the server?

I'm not exactly sure how that'd be possible, but I wonder if they've managed
to figure it out somehow. It's the one big problem with self-hosted chat apps
like Rocket.chat and others - APNS and GCM are both centralized, and it's hard
to federate them to provide push services for self-hosted instances of open
source projects.

~~~
tabbott
I think there are two approaches one could take for doing this:

* It seems like one way you could make that possible would be to make it really easy to do white-label builds of the Zulip mobile apps. E.g. the "Zulip for example.com" app. Would be more overhead than is ideal for smaller deployments.

* It should be possible to have APNS/GCM traffic go through a central community-hosted service that dispatches the messages on to a set of configured Zulip servers.

We actually had functionality based on a similar concept for the Zulip desktop
app login process, where it would query a service on zulip.com with e.g.
"example.com" and that would return the URL of what zulip server hosts
example.com, so that users don't need to fill that out in the login process.

For the open source release, we replaced this with in an explicit "what server
are you doing prompt" but it would certainly be technically possible to go
this route.

~~~
sinak
Hey tabbott, I'd love to chat about this more if you're interested, it's
something we've been particularly looking for. My email is sina@eff.org.

White-label builds of Zulip apps would work, but at least in our case wouldn't
be ideal. Having a central community-hosted service would be much better.

~~~
tabbott
Sounds good, pinged you off-thread.

------
paste0x78
2015 The year of the chat clients

~~~
burger_moon
?->building facebook clones->building twitter clones->building slack clones->?

This does look like a good product though. Personally I like the style of this
more than slack at first glance. Running your own server and being open source
are awesome. I can't wait to see what people build on it.

~~~
nailer
Isn't Slack an IRC client with some project management features?

~~~
zyxley
No, Slack is an IRC alternative (you can connect to it with an IRC client, but
you lose many of the features) with assorted bells and whistles (emoji, adding
reactions to posts, easy management of private rooms, etc), a bunch of
integrations with other services, and persistent and fully searchable history.

That last one is really the key feature to me.

~~~
nailer
Sorry, I don't mean IRC client as in uses the same protocol, but rather that
it primarily does what an IRC client would. I think it's great they've found
success though.

------
stepmr
Any idea why this uses a forked version of Django? I read through docs and
skimmed the repo but couldn't find anything that speaks to this...

~~~
acrefoot
That one is my fault. The main reason is a performance patch that we made to
django, which I wasn't as diligent as I should have been in getting merged.
The relevant pull request is
[https://github.com/django/django/pull/5166](https://github.com/django/django/pull/5166),
so it will continue to be forked until I get that merged and we update our
django version.

------
gregwtmtno
For those wondering, it's Apache license.

------
tracker1
I'm curious on the separate uses of Redis, RabbitMQ and Memcached... it seems
these uses could all just use Redis. And have a lower overall memory/cpu
footprint to boot.

~~~
tabbott
Zulip use RabbitMQ for passing messages where persistence is desired; last I
checked Redis didn't support persistent on-disk queues.

Zulip's use of redis right now is basically just for the API rate-limiting; it
could be easily removed.

~~~
tracker1
Redis does have persistence options... I was just thinking Redis is often used
as a more advanced memcached, while also supporting pub/sub channels and
acting as a mq broker with a frontend... was just thinking in terms of
reducing the requisite services, since rabbitmq requires erlang and it's own
services as well as memcached.

[http://redis.io/topics/persistence](http://redis.io/topics/persistence)
[http://python-rq.org/](http://python-rq.org/)

~~~
latch
In fairness, your parent introduced the word "persistence" to this discussion,
but I think you're misunderstanding queues if you think the two are
interchangeable.

Two things you often want are at-least-once delivery and the ability to queue
messages without requiring the consumer to be connected. It requires a fair
amount of work to get this to work in Redis. It's not simple configuration.

~~~
tracker1
I believe that you can already do this with python-rq, I understand what
persistence means in terms of message queue patterns. There are several
persistent queue systems that build on top of redis as a backing store... I
was mainly questioning the use of 3 different servers, where 1 would be able
to handle the workload.

------
cdixon
Commoditize the complement:
[http://www.joelonsoftware.com/articles/StrategyLetterV.html](http://www.joelonsoftware.com/articles/StrategyLetterV.html)

------
muyuu
"The Zulip desktop app is a C++ application written with the Qt toolkit. It is
a lightweight wrapper around a Webkit web view: it loads the zulip webapp as a
single page full-screen webpage. The desktop app provides some native
integrations: tray icon and Dock support, notifications, and more."

Wouldn't it be better if the multi-platform wrapper for Webkit web view was a
separate project? Should be useful, if it doesn't exist already.

~~~
acrefoot
I believe that Atom Shell/Electron fills that use case today. I think when the
Zulip Desktop app was started that Atom shell wasn't available or maybe not
quite good enough.

------
dingdingdang
Would be really interesting if one could program a secure way for the
individually hosted servers to hook up with each other and verify the
correctness of one another while at the same time keeping the messages secure
(I guess bitcoins come to mind here..). Up until something like this happens I
guess centralized social networks are going to rule the roost since the value
of networks is almost always in their reach/size.

~~~
coldtea
> _Up until something like this happens I guess centralized social networks
> are going to rule the roost since the value of networks is almost always in
> their reach /size._

This is a group chat. It's value is in being restricted in reach and/or size
to the group (team, startup, enterprise) deploying a version of it.

~~~
SwellJoe
There's no benefit to it _only_ being able to reach some small group of
people. There is benefit in being able to include only a small group of people
in a particular conversation, but that does not require no interoperability,
only a concept of groups and permissions and access controls. In fact, it is
completely orthogonal to the lack of interop.

~~~
coldtea
> _There 's no benefit to it only being able to reach some small group of
> people._

If something can just be locked to only talk inside the intranet/VPN it's
better from something that can talk to arbitrary people the world over and is
only configured not to via its own groups and permissions inside.

~~~
SwellJoe
I thought we were talking about Slack, and several other hosted services,
which don't fit the description you've just given, at all. But, for a self-
hosted chat service, then yes...that's a benefit.

------
bachmeier
Looks wonderful, but am I the only one that thinks the recommended 4 GB server
is a lot?

~~~
tabbott
See
[https://news.ycombinator.com/item?id=10280246](https://news.ycombinator.com/item?id=10280246).

~~~
bachmeier
Okay, then given that it's open source, hopefully we'll see a smaller version
soon.

~~~
kevinr
Just don't make the mistake I did of running with less than 4 GB and then
having a flash crowd show up. You really want the RAM for acceptable
performance with a reasonable number of concurrent users.

------
tommoor
Dropbox has great designers, surprised they couldn't have found a few hours to
spruce this up in the year and a half since it was acquired :)

~~~
robotnoises
My thoughts exactly. It's not awful by any stretch of the imagination, but
Dropbox has traditionally set itself apart on design.

------
e12e
A couple of Zulip questions:

1) Is there any support for federation? At first glance it looks like every
installation might have multiple servers, but more for balancing load, than
federation?

2) How well is the protocol specified? How hard would it be to par down the
requirements to eg: just python and sqlite/lmdb _or_ redis (or zodb...)? Say
if one wants to support just ~100 users or so?

~~~
tabbott
(1) Not currently, though you can certainly imagine doing it and having it
work well; the core data model doesn't change very much over time.

(2) There's a reasonably well-specific API, and you could imagine building an
independent implementation that fit that API and feeling good about doing so.
But I feel like that would probably be a lot of work and you could probably
much more easier achieve whatever your actual goal without paring down the
dependencies very much.

E.g. the relatively high minimum recommended RAM for a Zulip server is mostly
due to running 20 Python processes for all the queue workers, most of which
are idle all the time. If we wanted to decrease the memory requirements,
there's a variety of ways to solve that problem directly that are a lot easier
than doing a rewrite :).

------
zobzu
It looks cool that said as usual its "hey I dont like <insert some chat
program> so im just going to code my own incompatible one".

In the end im happy with IRC. Its not the greatest but its the one that just
works: Its the one everyone who's an engineer in the business knows how to
use, bots work, automation work, and irccloud works if you like webuis.

------
darkarmani
Wow. Good luck installing this. I'm not touching it. It needs to do all sorts
of hokey things to work. It needs puppet and git to work? You can't just
install python packages, it installs them from a ppa. Deployment is a huge
mess. It doesn't have to be this hard.

~~~
lwf
Thanks for the feedback. We prioritised getting this into a state where it can
run in dev and production based on the existing deployment processes we used
in our own environment.

I'm working on a Debian package[1], and we expect to iterate on the deployment
process in general.

1: [https://bugs.debian.org/cgi-
bin/bugreport.cgi?bug=800052](https://bugs.debian.org/cgi-
bin/bugreport.cgi?bug=800052)

------
ctingom
No mention of Skype? It seems like every one of my business contacts is using
Skype to chat.

------
pjtr
What do Zulip / Slack / Hipchat / IRC / ... people do for screensharing and
(group) voice calls?

We'd love the chat improvements, but without screensharing and voice we're
stuck on Skype. :(

~~~
loosescrews
There is also Chromebox for Meetings[1]:
[https://www.google.com/work/chrome/devices/for-
meetings/](https://www.google.com/work/chrome/devices/for-meetings/)

------
alkonaut
Has anyone switched workplace chat from skype to something else? I don't much
like the chat bits in Skype but on the other hand the voice bit is fantastic.
I can't imagine having to manage two separate contact lists for chat and
voice, so I'm reluctant to switch to something that doesn't have good voice or
integrates with something that has (e.g. launch group call from a chat
conversation).

------
aikah
Nice, it looks like an excellent Django app to study.

~~~
tabbott
If you're looking for interesting elements, the REQ framework for doing
argument validation I'm pretty happy with and have been thinking would be good
to try to extend to be part of Django upstream.

------
mrmondo
Good to see it be open sourced. I'm disappointed there's no XMPP gateway, OTR
chat encryption or Gitlab integration however.

~~~
tabbott
There's a Git integration that you can use with GitLab or anything else that
supports post-receive hooks. But it would be cool if someone contributed a
more slick GitLab integration :)

Also there is a beta XMPP gateway at bots/jabber_mirror.py that can mirror
traffic with an XMPP setup. It's beta because it's kinda annoying to setup;
feel free to reach out on the development list for help if you have issues
setting it up.

One note is that the a key feature of Zulip is thread-level topics which
aren't really supported by XMPP; see
[https://news.ycombinator.com/item?id=10280817](https://news.ycombinator.com/item?id=10280817)
for more discussion of this.

~~~
mrmondo
Ah good to know - thanks for the info.

I just spotted this though: "Currently, the automated Zulip server
installation process only supports Ubuntu 14.04 Trusty"

Not at all keen to run Ubuntu, if it was available on CentOS 7 or Debian I'd
give it a go but I guess I'll hold off for now.

~~~
tabbott
Yeah we run Debian Wheezy in production, so it's definitely possible, just I
don't have a nice automated install process handy -- there's a thread about it
here:

[https://groups.google.com/forum/#!topic/zulip-
devel/8iz25Ad-...](https://groups.google.com/forum/#!topic/zulip-
devel/8iz25Ad-Kiw)

------
lisianne
Wow. Great news. Very good alternative to slack.

------
mnx
The 'Or use the web app' link on the frontpage links to the list of desktop
clients instead of the web app.

~~~
tabbott
Thanks for pointing this out! Will fix.

------
Drdrdrq
No linux client? That's a deal breaker for us right there... Pity, looks
interesting otherwise.

~~~
tabbott
There is a Linux client! You can build it from source right now, and prebuilt
binaries will be available in a PPA soon.

Prebuilt binaries aren't available quite yet because it's a lot easier to
submit to a PPA once you're already open source :)

~~~
Drdrdrq
Thanks, will check it out!

------
taesu
is this something like slack?

~~~
simonswords82
yep - very similar but with an emphasis on self hosting.

~~~
themodelplumber
Would nice if it were easier to self-host. Requiring Ubuntu 14.04 with 2GB RAM
minimum...not terrible, but could point at a lot of work to be done to broaden
the appeal. (Edit: And of course, a thank you to Dropbox for releasing it,
this does look like a nice little setup)

~~~
tabbott
Zulip doesn't have a strong dependency on Ubuntu 14.04.

It would be less than a day's work to have it support any additional version
of Debian or Ubuntu (precise/wheezy would be quite easy since we've run both
in production). It's probably also not hard to support something RHEL-based
too but that'd be a bit more work.

RAM usage could also be brought down a lot for smaller environments with a bit
of work; most of it is the fact that we run a set of like 15 queue processing
workers that each import the entire application.

~~~
spb
>we run a set of like 15 queue processing workers that each import the entire
application

Where would one start if they were looking to disable that?

~~~
tabbott
Posting this in a few places since it came up N times on this thread: I opened
[https://github.com/zulip/zulip/issues/32](https://github.com/zulip/zulip/issues/32)
to track improving the worker setup.

If you're interested in helping I'm more than happy to give you a bunch of
pointers for how to do it :)

------
mapletune
Does anyone know if Zulip has support for directory integration? whether it's
OpenLDAP or MS AD. Hell, even RADIUS would be ok by me... @@

~~~
lwf
LDAP is supported:

[https://github.com/zulip/zulip/blob/b69c6228af03634061cba29f...](https://github.com/zulip/zulip/blob/b69c6228af03634061cba29f3aa7200c14e7c626/zproject/backends.py#L130)

Also, generic webserver-side REMOTE_USER authentication is supported.

~~~
mapletune
thanks~! Going to try it out then =p

------
BradRuderman
Why did Dropbox build this? Why didn't they just use Slack? What were the
features slack was missing or were there other business reasons?

~~~
duskwuff
They didn't build it; they acquired the company that built it.

~~~
BradRuderman
Oh, I'm interested in the business decision behind that. For example why
didn't they just buy (not acquire) the slack product. What were the reasons to
host it in-house and manage it themselves.

~~~
obrajesse
They got the team behind it, who now work on other parts of Dropobox

~~~
BradRuderman
Right by why maintain the chat app? Why not just buy slack.

~~~
BradRuderman
I mean the slack product!

~~~
rrdharan
BradRuderman you are conflating two different things that are not necessarily
related:

(1) How Dropbox chooses to satisfy internal requirements/demand for a group
chat solution

(2) Why/whether Dropbox should have acquired/acqhired the Zulip team

~~~
BradRuderman
Yea my point of the comment was (1). I didn't even know it was an acquisition.
I am shutting up to prevent loosing any more minimal reputation.

------
jayzalowitz
#googlewave

------
reeboblue
Anyone have recommendations for a free SSL cert provider so that I can test
this out?

------
moreorless
Those bastards!! Got me all excited with the Plan 9 tease. ;(

------
ausjke
indeed a great move, the part I don't get is that why dropbox acquired it then
opensource it? what's the logic behind this...

~~~
tkinom
I have the same questions too. Acquihire?

Also, how is zulip compare to slack in term of features, stability, pro/con?

I tried search youtube for any zulip demo/screencast, can't find anything -
very strange.

------
orliesaurus
No one mentioned gitter.im, weird...

------
nornagon
Reminds me of [https://euphoria.io](https://euphoria.io)

------
benwilber0
who cares. seriously. group chat is a solved problem.

------
misiti3780
looks like a great codebase, both django and ios!

------
relaxitup
LDAP support?

~~~
lwf
We have an authentication backend for that:

[https://github.com/zulip/zulip/blob/b69c6228af03634061cba29f...](https://github.com/zulip/zulip/blob/b69c6228af03634061cba29f3aa7200c14e7c626/zproject/backends.py#L130)

------
mahouse
Someone should tell those web developers choosing those fonts that not
everybody has a damn Mac.

[https://i.imgur.com/MciirNR.png](https://i.imgur.com/MciirNR.png)

~~~
tabbott
It looks a lot better on my Linux laptop! We're investigating.

~~~
mahouse
I have found bugs on that installation guide. For example it tells you to
install the certificate chain to

/etc/ssl/certs/zulip.combined-chain.crt

But nginx looks for it in

/etc/ssl/certs/zulip-combined-chain.crt

Also during your installation you download this deb file to

/root/zulip/python-django-guardian_1.3-1~zulip4_all.deb

But the script then tries to install it from

/root/python-django-guardian_1.3-1~zulip4_all.deb`

~~~
tabbott
Thanks for reporting! Both of those are already fixed in the latest tarball on
the website.

------
vegabook
Is it possible to have secure chats that the server cannot read?

------
kirmerzlikin
cool

