What Slack might learn from its Open Source alternative
mattermost.org
mattermost.org
they need to fix their feature set for pricing. For example, Google Apps Signon is pretty basic - but it is only available at the "Enterprise E20" level... where you have to actually call for pricing.
Slack's free tier only allows you to keep a history of something like 500 messages, which makes sense because storage and indexing of the message history are what cost money for the provider.
This product let's you store all you want for free (seems like a bad idea to me), while things with essentially no cost per user once they have been developed (like google auth) are the things they make you pay for.
Details: Regarding "storage and indexing of the message history are what cost money for the provider," this is often not the case. Although at extreme scale (like any AWS product), it's absolutely true, for a typical Web app, the difference between, say, 5 and 50 MB of chat history is not what costs money. 2 things do:
1. Paying developers (that is, adding features). As you note, they have no cost per user, but they have a huge onetime upfront cost. Just because a feature doesn't have a variable cost doesn't mean that the cost isn't real and isn't distributed among n users[1]. Ideally, that cost should be covered by those receiving value from it.
2. Support and operations. Depending on scale, quality, and so forth, assume 10-30% of your payments go towards answering emails and keeping the service operating. Offering a feature like Google Auth does have a variable cost when, say, 30% of those who use it are going to ask a question, and answering that question well is going to cost $25 in time. Sure, a service could say "We don't offer support for free plans," but some services rightly don't want anyone to get stuck, even if they aren't paying. It's also harder to do thoughtfully than it might seem, since many customers who will eventually pay ask questions before they're receiving enough value to upgrade.
[1]: Again, a few services operate at such large volume that the implementation and support cost is a minuscule percentage of revenue. That's relatively few Internet services, though, mostly very high volume hosting. For other products, even all but the largest PaaS/IaaS offerings, the items above are substantial costs. Some services which would otherwise be lower-volume use this as a differentiator ("Everyone gets all features"), and that's great, but there's no reason to expect it universally.
S3 is a cent a gigabyte at scale, three cents when you're starting. sc1 drives on EBS are two and a half cents. Storage is a cheap, solved problem.
You make people pay for what's important to them.
I get Hipchat for free because I'm a bitbucket customer ($1per month) and I get Google Auth as built in. Most startups are using Google Apps.. But very few would use LDAP (which is indeed available in the 20$ tier)
So yes - I believe for the demographic I represent, their pricing needs to be fixed.
Look, I understand your desire to pay less for a service, but insisting that pricing needs to be fixed simply so that you pay less is still absurd.
You said "they need to fix their feature set for pricing."
Not "improve."
"Fix."
That's the word you used. And it directly implies that the subject it is referring to (the pricing) is broken.
I'm willing to pay their 20$ thing - but the features they include in that price is weird for the segment on HN. And for the features people like me would really pay for... there is no pricing (so I dont know whether its broken or not).
I dont want them to lower the pricing - I want them to rearrange it... or atleast talk about it. I dont know how much to pay to get the Google Apps feature.
The raison d'etre of pricing tiers is to charge a different price to different customers. Having to pay extra to get extra features is the point, not a bug that needs fixing.
Mattermost team here. Thanks for your feedback,
While pricing is set that way for a purpose, we are always looking for ways to improve and we're keenly interested in what everyone has to say.
Our focus for Enterprise has been large organizations with sophisticated needs and it's important for us to have conversations and demonstrations with the people doing the evaluation so they fully understand what we're offering.
That said, there are people who use our free Team Edition or have read through our docs that just want a "buy" button for E20.
I'll bring this up and see what we can do.
PS: Regarding the word "fix", my personal view is that it's okay for a commercial product, because people are buying it as a customer. Enterprise Edition is a commercial product.
That said, many open source communities are adopting a principle of "kindness" and having feedback phrased positively where possible. People work hard to make open source software and give it away, and if conversations started on a positive note... well, why not?
So at no point am I implying that you should release it for free. But I do believe there are some features that should ideally be in the 20$ tier rather than the "call-us" tier.
Now this may completely be how your demographic falls, but generally speaking a small company buying 2-10 licenses would usually not have LDAP... but most likely will have Google Apps. And that's pretty much the gist of my comment.
I'm not very sure why people have caught on to the word "fix" - but IMHO i used it in the way that most people talk on these forums ("your website font needs to be fixed", "the copy needs to be fixed"). So I'm not sure if the word was offensive, but it was not intended to be.
Also wanted to mention that I was looking at your offering as a customer with a genuine interest to buy. We use Hipchat and their mobile app needs to be "fixed".. so I was in the market for alternatives.
P.S. also didnt realize you were YC. That usually doesnt happen.
Definitely hear your feedback on the custom tier, we'll try to figure something out this next week.
I'm all for criticism being constructive and polite, but in my experience fix is a neutral and common word in design and development discussions.
Open source + charging the enterprise a lot for customized solutions and/or paid support is a fantastic model and I wholeheartedly stand with your model.
(N.b., marketing strategy -- capitalize off the fact that everyone's data is being tapped now - e.g. Dianne Feinstein, in charge of the Senate Intelligence Committee's, had her staffers machines hacked - Apple is 100% hackable too (see: the San Bernadino FBI debacle) and offer secure comms at Blackberry Enterprise licensing pricing. I'd estimate > 95% of F500 is MS based/LDAP based on my experience. They're used to paying tons of money for Remote Desktop/AppX/Citrix/Exchange/whatever seats. You could easily get away with $60/user/seat + install fees + 50% for platinum support.)
Full disclosure: my company has been using Zulip since before it was F/OSS.
I'm a reluctant and weak (opposite of power) user of IRC and Slack and though I understand their great architectural differences, as a user they feel very similar. Surely I'm missing something.
We promise that we will not enforce the copyleft provisions
in AGPL v3.0 against you if your application (a) does not
link to the Mattermost Platform directly, but exclusively
uses the Mattermost Admin Tools and Configuration Files, and
(b) you have not modified, added to or adapted the source code
of Mattermost in a way that results in the creation of a “modified
version” or “work based on” Mattermost as these terms are defined
in the AGPL v3.0 license.
Note that the two conditions necessary to receive the exemption are connected by "and", not "or". The second condition is that you not create a modified work or a work based upon the program as defined in AGPL v3.0.But by the terms of AGPL itself its copyleft provisions are only applicable to modified versions, so it doesn't appear that there are any circumstances where Mattermost's exemption will actually exempt you from anything.
Highly appreciate your feedback.
Our intention is that 99% of people use Mattermost Team Edition under MIT.
You're right about that trademark section under MIT, that is weird, we'll remove it in the next release.
For the 1% of people who want to modify the core /platform, we're just asking they share back to the community.
Here's a summary of our licensing and philosophy: https://www.mattermost.org/licensing/
The golden nugget with these kind of projects, from these kind open source-minded companies, is that being a paying customer contributes greatly to a better and healthier product with regular feature additions. Compared to the more frequently found companies that is closed source, commerical-only and only provide bugfixes I think that it is perfectly fine that the LDAP-feature is behind a paywall.
Let's not fool ourselves, there is no such thing in these companies and products that appeared during the last few years. There is no free/open-source spirit, it's open-washing and the model usually get more closed and more closed year after year (going through an incredible variety of licenses, market segmentation and other marketing & sales tricks), following the evolution of the owners' greed.
It's a regular business that is freemium-minded, period.
Could you share an example of what you went wrong?
The Mattermost server has around 59% automated test coverage, our community does over 120 hours of manual testing prior to each monthly release, and we're constantly striving to improve.
Here's a recent review of Mattermost's quality levels, from someone who left Mattermost and then returned, concluding Mattermost was the leading solution: http://www.akitaonrails.com/2016/08/13/choosing-mattermost-o...
If your experience is different, we're highly interested in knowing how we can improve.
So far, we ranked #1 is Mattermost and other is Julip.
Did you want to turn off smiley-to-emoji conversion for your own view, or on how others view your messages, or as an admin feature for the server?
There's an upvote and discussion thread on this, would welcome your input: https://mattermost.uservoice.com/forums/306457-general/sugge...
We are 40+ years olds, coming from the text terminals era, so emojis is really just some cutesy-girly thing that teenagers use :)
The Slack client regularly pauses for me while I am typing, randomly refreshes, and generally feels sluggish. Those aren't things I associate with Go. That said, I think this particular implementation's client is also written in Javascript, so I don't know that it will have a particular advantage there. But an open source implementation at least won't block alternative clients (e.g. https://www.kickstarter.com/projects/2137936555/taut-the-fas...), in a way that the Slack Terms of Service would seem to do.
"reactjis" are one of the worst offenders -- I've had a channel open with some people messing around with them, and it'll be casually consuming 30% of cpu and 3 gigs of ram on my top-of-the-line macbook.
I would have long since deleted an IRC client that was such a poor performer, but unfortunately there's not any good/complete 3rd party slack clients.
I still hesitate to even consider deploying rails or node.js applications.
It's just too many things to learn and keep up to date with.
Of course if you already develop in rails or node.js or run some other services already that might not be an issue.
But to me - unless it is apt-gettable - a standalone binary (typical go), war or jar file has a huge advantage.
If you think they're all the same, then maybe you need to get some more real world experience.
1) For End Users and Developers, Golang can mean fewer bugs
Golang is a "type-safe" language, meaning that all the programming code is written to be explicit and consistent, versus "untyped" languages like PHP or JavaScript, where programming is more implicit with many different ways to say the same thing.
It's easier for software tools to automatically analyze type-safe languages and find bugs. And those languages are also easier to read and review--since there's only one way to express something--and that helps too.
2) For System Administrators, Golang means easier install and management
Golang is a "complied language", meaning that after the programming is done, a single file is produced. So a System Administrator just installs one file and Mattermost works. To upgrade, they just change that one file. Easy!
Languages like PHP and JavaScript are "interpreted languages", meaning that a System Administrator would need to download lots and lots of files, install one or more programs to interpret those files, and hope that nothing breaks. When it's time to upgrade, she's got to make sure all the files and interpreters on her server are exactly the right version. It can be a nightmare to maintain.
3) So what's the trade-off?
The trade-off with Golang is that it takes more work to learn than PHP and JavaScript. The programming language isn't as forgiving to new programmers. You need to say things exactly the right way or the program won't even start, whereas PHP and JavaScript if you say things "kind of right" and things will "kind of work".
Does this help?
https://mattermost.atlassian.net/browse/PLT-48
While we're not in the biggest rush to move to Mattermost, it does seem to offer more than Slack right now.
For me the biggest feature Mattermost has over Slack is that you can host Mattermost yourself.
If you use GitLab or want to consider using GitLab, its omnibus package comes with Mattermost included. A really nice combination.
That's just one of a couple issues I have with the app (push notifications not really working, the chat taking 15 seconds to reload everything upon switching back to the app, etc) that have basically made it useless to me.
Would highly appreciate your feedback on notifications and load times as well.
For the sake of replication, my keyboard is "Hackers Keyboard", running on Android 5.1.1 (specifically OxygenOS 2.2.1) on a OnePlus 2.
The iOS app is a feature rich experience similar to web and desktop apps, so when I travel and am on a slow connection it doesn't perform as well.
Here are our current mobile performance benchmarks so you can decide for yourself: https://docs.mattermost.com/deployment/push.html#mobile-perf...
There's work underway to get the mobile apps working better on slow connections.
This is not true. Mobile app performance over slow connections is determined by app/server architecture, payload efficiency, caching strategy, etc.
There are many examples of feature rich apps performing well on slow connections, and many simple apps performing poorly over a normal connection.
Then it would be a recipe for endless sub-discussions diverting from the topic, and disaster...
The difference I mentioned wasn't one of occurring or not, but one of degree of occurrence.
>hreaded messaging makes it easier to ignore those sub-discussions...
Not as much as it makes it easier to start and digress into endless sub-discussions.
I love Slack, but some of my gripes with Slack:
* I can't spell check from a Post in Slack. Posts would be great for taking notes, but they lack order. It doesn't have to be full-on Confluence / Wiki style, but being able to add some classifications to Posts would be helpful. And in-line spell check... Every other tool everywhere supports this, but not Slack Posts.
* Posts and Chats use different formatting markup. Why not just use Markup for both?
* Channel names being forced into lower case and very short character counts... Why can't I use a longer name for a channel and just wrap the name in the display? Why does it have to be all lower-case without spaces? Why isn't there a folder structure to the channels to keep all my clients / focuses grouped?
* Slack forces me to put Bots and People in the same channel and it gives them both equal visibility. I should be able to add a #bot or something and have those messages be something I can search for, or something that shows up in the sidebar, but not something that talks over people. Their current work-around is to use two channels, one for people and one for bots... but making sure your team is added to every channel... it sucks. FlowDoc does a better job of this, and if it was built the way they do it I wouldn't have to search multiple channels to find the info I could just search one place.
* File storage in Slack is a nightmare. Try finding a file again a month later. If I upload the same file name why can't it just version the file like Box or RedPen does? Nope, it just uploads the same file again... tagging a user or # doesn't actually tag the the file the way you want it to... so I can't even really search by those things.
* When you click "Open" a file you have to log in again? That's so busted. I can download a file, but if I'm on a phone and I click "preview" it prompts me to sign in -- extra tedious for users who enable 2FA. Security doesn't have to be that tedious, just let me open files without a login -- if I can download them but I can't open them directly it's not security, it's just an annoyance.
* The default integrations in Slack kind of suck. I know that's not 100% Slack... but why can't I get updates when someone makes a change to a Google Drive file, or creates files in a Google Drive / Box / Dropbox folder?
* Hashtags are busted. Why don't # work like they do in Twitter where I can search for them after? Having # be rooms isn't good. Nobody gets that to start... I'd so much rather be able to tag a conversation (oh and have a threaded conversation) around a # and then have that # show up in the channel column...
* User management is lame. As the administrator, why can't I go into a user's profile and add them to multiple rooms at once? Or why can't I add a bunch of people to multiple rooms at once? Also why can't I lock down user names -- I don't want my users to change their user names to political statements or stupid handles, if I set it First.Last I want it to stay that way. The last thing I want is for one of my developers to rename himself @ZombieGoatMaster4DonaldTrump and have that be something that is shown to a client.
* Mobile isn't consistent with Desktop. Why don't the channel lists in Slack sort the same way on Desktop and Mobile? Why does the + sign mean join a channel on Mobile, but create a channel on desktop? It's so inconsistent it's like they don't even bother having their different product managers talk or work with the same UX team.
Anyway really glad people are producing alternatives to Slack. Going to check this out, thanks!
we're looking for a self-hosted alternative. tried hipchat, and it was worse than slack in the areas you mentioned. mattermost has been a ray of sunshine, so far, relatively speaking. still testing it out, but they are super responsive to their users and community, between github, their forum, their pre-release server (https://pre-release.mattermost.com/core ), etc... they also seem to be aggressively adding new features and fixing bugs.
I realize I probably sound like a shill, but it just has been that much of a positive experience so far.
EDIT:
Your site doesn't share correctly.
I went to share this on LinkedIn:
* What Slack might learn from its Open Source alternative | Mattermost || https://www.mattermost.org/what-slack-might-learn-from-its-o...
And I see this:
You're using WordPress so you can check out:
* Yoast SEO — WordPress Plugins || https://wordpress.org/plugins/wordpress-seo/
This will add the right meta tags to make the thumbnail and image and description show up through shares with minimal effort on the part of the content creator.
The problem with Slack & Discord that Mattermost addresses is the ability to host it yourself, which means that you're in control of the data. Not everyone needs that, but there are companies and especially government-owned institutions/companies that do require that.
Yeah, we love using threads to keep discussion on track.
It took a long time to design. We weren't able to find anything like it, and had to design through a lot of corner cases.
We're still working on making it more discoverable. Once you use it, it's hard to go back, but it takes a while for people to discover the "Reply" button on messages.