Story of Mattermost: Open-Sourced Competitor to Slack
breakoutstartups.substack.com
breakoutstartups.substack.com
Mattermost (and specifically their CEO, who is vigorously replying to messages on this thread, but probably won’t engage with this one) haven’t responded positively to requests to include these basic features:
https://github.com/mattermost/mattermost-server/issues/6320
https://github.com/mattermost/mattermost-server/issues/5935
As far as I’m concerned, Mattermost isn’t any kind of a competitor to free-tier Slack until these issues are resolved. This exact thing has turned more than one team I’m on away from Mattermost.
Folks have different perspectives on Open Core. It's definitely a lot better from a freedom perspective than proprietary software, so I don't want to be too down on it. But it isn't really FOSS, and I think the difference is important, which is why Zulip is following the commercially more difficult path of 100% FOSS. Even obviously enterprise features developed entirely by our paid team, like SAML authentication are FOSS, and our plan is for it to remain that way forever.
It's commercially more difficult because it means right now we have users at governments and Fortune 500 companies and whatnot who've reached out to tell us they how much they love Zulip, but nonetheless aren't paying us anything. On the flipside, Zulip has been very successful in building a large community of volunteer major contributors (some handy stats are in our release blog posts, e.g. last week's https://blog.zulip.org/2019/12/13/zulip-2-1-released/). I don't think that would have happened had we taken Mattermost's aggressively Open Core approach..
(I lead the Zulip project and company)
Zulip is one of the few pieces of software that I think are unquestionably worth their price (some others being Gitlab and some sort of SIP provider, e.g. OnSIP).
Thanks for the feedback, replies on both issues posted:
https://github.com/mattermost/mattermost-server/issues/6320
https://github.com/mattermost/mattermost-server/issues/5935
Please let us know what y'all think?
The password policy was added to Team Edition back in June, 2018.
>Mattermost isn’t any kind of a competitor to free-tier Slack
Mattermost isn't intended to compete with Slack's free tier.
The open source version of Mattermost is focused on software builders and operators who want a flexible, open, collaboration platform that works with their tools and workflows. Here's more on Mattermost Chatops as an example: https://mattermost.com/blog/introducing-mattermost-chatops/
Very often we're deployed in high security environments and private clouds where internet-based services can't easily go.
I don't really feel like reading all that just to figure it out.
Did you resolve both of the issues brought up by OP or not?
(Answering: "The password policy was added to Team Edition back in June, 2018.", isn't the same as answering, "the free tier allows passwords of length >5 characters.")
1) Enforcing password requirements for end users was put in free tier last year - Here's why, with a link on how to use it: https://github.com/mattermost/mattermost-server/issues/5935#...
2) Non-admins are still able to archive channels they belong to but did not create - Here's why: https://github.com/mattermost/mattermost-server/issues/6320#...
3) I need to work on speaking more concisely, here is another version of #2 from an HN user who puts things more simply: https://news.ycombinator.com/item?id=21824219
Does this help?
I'd love for there to be a viable alternative to slack that is more (if not entirely) open.
It seems to me this is the point of free/open source software: anyone can improve it and make it more functional and distribute those improvements. The first logical improvement, to me, is removing the unnecessary license checks that disable useful features of the software.
https://github.com/mattermost/mattermost-server/blob/master/...
I run a mattermost server for a Free Software project. We have over 2000 users, but around 300 monthly active users, 100 daily. I worry about it sometimes, but trolling in our community is pretty rare.
Aside from being wrong, this seems needlessly argumentative and rude.
Thank you for calling me on it.
(As an aside, this is one of my highest upvoted comments ever, which perhaps says something about what gets internet points on HN.)
That’s my take on the market at least. I’d buy stock in it if I could.
Deploying Mattermost is not ideal, as the server requires write access to its JSON configuration file and will overwrite it from time to time, which makes using any configuration manager pointless: after upgrading mattermost you have to fetch the "updated" configuration file from your server and import it back into your configuration manager (and since it's JSON you might get different key sorting and indentation offset).
Despite the above I like Mattermost and I've been regularly using it for more than 1 year, basically for free.
It doesn't really have a place even doing open source works (no real controls), nor in the corporate world... unless you pay.
I have to agree with their assessment of demoware.
use sso/ldap/ad (paid?) etc
Potentially controversial opinion: This isn't really open source. When major features like permissions and access controls are stripped from the "community" version of a software package, it starts looking more like a feature-limited demo.
I often say "We don't have (or use the) locks on our doors at our physical individual offices, but that doesn't mean any of us would go into someone elses office when they aren't there and trash everything on their desk. And it's not a problem. What makes electronic resources different?" [I know HN audience will now give me an exhaustive list of what makes electronic resources different; please don't bother; I know this approach doesn't always work. With physical offices either].
But I agree with you that that level of feature-crippling makes me want to all it more like demoware than open source.
For communities, especially those that are open, this model often fails as soon as one bad actor comes along because there’s often no recourse against bad behaviour.
Unfortunately for Mattermost, it’s communities that are less likely to be able to pay, and more likely to be affected by this policy. That just feels like poor policy making.
Until one day, when you have some sort of incident, and it will have become very worth your while to "deal with" access control.
Laptops and physical property are one thing. But your digital empire of customer data is another. Encryption, MFA, inactivity based locking, access controls, and the principle of least privilege helps ensure that when something inevitably does happen, the blast radius is contained.
I don't really care if someone were to smash the hell out of the office. Laptops are locked. Data is encrypted. That's why in fact we have insurance.
But a disgruntled or even careless employee could irreversibly damage an enterprise by letting happen (or deliberately causing) a data breach. All because the org didn't want to bother "dealing with" access controls.
It's also way easier, cheaper and practical to prevent the first example than the second one.
I know you were looking for this but I don't agree. Let's remind that Open Source fundamentally means _no expectations_. No expectations of support, no expectations of features, not even expectations of goodwill. Whenever a company complains that this or that open-source software doesn't work as expected and should do this, we all shout in chorus "this is open source, take it or leave it". This is exactly the same case here. I know it's frustrating because the feature exists in a fork that happens to be run by the same people, but that is exactly what is permitted by this license.
Does anyone here complain that SQLite isn't _exactly_ open source because they don't ship their full test suite in the open source package (https://www.sqlite.org/th3.html), even though each release passes it ?
No. Open Source, as defined, is about what the end user is allowed to do with the code they have. That’s it. What you describe is common, but not inherent. There are plenty of exceptions, like if you get Red Hat, you’ll get to have plenty of expectations, and Red Hat is still Open Source.
Please stop the ancient FUD about Open Source means having no support.
You want support! Great, it exists and can even provided by multiple different actors, with or without expected quality of service, and that's great! But that is not included in the license, you have to find another arrangement on the side. Maybe you can ask nicely and they will do it for free, maybe they'll ask you to pay them in beers, maybe they'll ask for a specific contract detailing everything. Same goes with features, you can ask for new ones but that is not part of the license. That's it, that's all my message was about.
No license includes anything like that. That’s not what a software license is.
I think it's a clever way to support free and open source projects. Free edition is for everyone, trials, demos, etc. Paid enterprise version is for companies that are happy to pay to get some extra value. Build it yourself enterprise version is for people who don't want to pay, people that get less value from the product than the price, hobbyists, etc.
Caddy (a web server) used to do something similar.
The usual term for it is “Open Core”, and is a legitimate, if frowned upon by many, practice:
The right way is to release an open source product that is full-featured and robust, and upsell things like support, managed hosting, and the kind of plugins and addons that primarily appeal to enterprise customers (although increasingly the latter are indistinguishable from advanced small users).
demoware
Thanks for highlighting this. It's a ticket from two years ago and this thread is a good opportunity to share more of the context and intention of how we think about Team Edition vs Enterprise Edition.
I've shared a reply on the ticket here: https://github.com/mattermost/mattermost-server/issues/6320#...
Also, I don't know if the ticket title is highly accurate--a non-admin can't delete any channel:
1) There is no "Delete Channel" in the UI only "Archive Channel"
2) A non-admin cannot archive any channel, only channels of which they are a member.
3) A non-admin archiving a channel they created is not really an issue, so this ticket is really about a "Non-admin can archive a channel which they are a member of but didn't create" which we've seen can be more helpful than harmful--when someone leaves a team and their out-of-date channels remains anyone can go and archive them without having to find an admin and make a request.
The current wording sounds like non-admins can delete private channels, channels on different teams, channels they're not part of, etc. and in my mind it's not the case. But perhaps other people have a different read?
What controls are in place to prevent this from happening in the Team Edition?
There's also a CLI command to restore the channels. While this won't keep it from happening it should get things back to normal fairly quickly.
It seems to me that "open source" is now being used as a marketing label for what used to be known as "shareware" or "trial". You get a trial version of the software (but where you can see the code) and the big essential features you need to pay for.
Open source no longer means what it used to mean.
And for the CEO to join in that ticket discussion and say "yeah it's a bug - there shouldn't be channel admins at all in the free version" basically confirms this.
Don't complain it's missing features! Make them yourself ... but we'll just steal them if they're better than the paid version because hey, open source!
> Team Edition is "virtual office" where a team works together as trusted colleagues. It means people can walk anywhere they want, and move the furniture if they choose.
> I need to ask this ticket be closed since it's not a bug
> You're of course more than welcome to fork as well.
Open source is only as powerful as the community's willingness to maintain a fork.
Where either of these what you were interested in?
You guys might consider Mumble/Murmur integration, I think it could be a great addition, as it was my favorite voice app before Discord took over everything (still is).
Fantastic! Thanks for sharing back--comments like this are super motivating for everyone working on the project,
I'll add that the only issues I came across were from a few users who didn't like the mobile client as well as Slack. I would chalk most of that up to them simply being used to Slack.
But I think Mattermost could still use a little bit more polish (as pretty much all software could) when it comes to the clients. I hope you guys don't lose focus on that. I would much rather have a progressively better user experience than one more widget integration that most won't use anyway.
All but my employer would be in great shape to switch to Mattermost but it's just not possible. Some have switched to Discourse but it's not great for real-time communication and people have a hard time with the UI.
Anyone interested in contributing to the work, we’d welcome your help
On hiring, yes, we're hiring too, that's perhaps the most committed route to take: https://mattermost.com/careers/
It is very polished, functional and easy to write extensions for! It is slightly annoying that I feel like none of these will last a decade and wonder why we couldn't have stuck with XMPP or an extended standard and figure out federation, privacy and enterprise.
Unfortunately, outside of tech, everyone is moving to Teams!
Alternate perspective: they never left Lync/Communicator - it's just been rebranded.
I do miss GIFs, but eh.
When you chat on a channel (Slack, Mattermost) and people start fragmenting the discussion into several topics that interlace... Ugh! I yet have to meet people that would at last utilize Threads.
Slack threads are an utter abomination. I'd rather they removed the feature entirely; they're harder to keep track of than the linear stream of a channel (which is saying something, because the chronological, linear stream is already pretty bad for ongoing discussions)
And if you're really sure you don't want to use topics, you can always just make a single "general" topic in your stream.
I had no real concerns with Slack from a development perspective. We simply wanted to try a unified messaging platform for the whole enterprise (our non-developers much prefer Teams/Skype for some reason). That experiment failed for our developers, so we now maintain 2 stacks - Teams for company-wide communications, and Mattermost for developer-intensive communications (or anyone else willing to teach themselves how to use a new thing).
Mattermost has proven to be an incredible solution for our development duties. I just installed it directly on a EC2 t3.small instance and we've been using it for about 9 months now without any pain points to speak of. I literally haven't touched that machine since I turned it on day 1. To be fair, we are <10 developers, but we get pretty heavy with the screenshots and json/code dumps throughout the day. We did make some compromises with authentication in favor of expediency of deployment, but it's really not a big deal for our developers to keep track of their LDAP vs their mattermost credentials. If someone complains enough I'll spend a few hours to hook up LDAP too.
That's interesting. I'm a developer but I find it easy to empathize with non-developers because I hate any tech orthogonal to the actual task at hand that requires a learning curve. I usually find that other things have pushed that thing out of my brain by the time I have to use it again.
Unlike most developers I'm no fan of Markdown (I can manage links and list formatting in a WYSIWIG editor without needing to reach for the docs. I hate reading docs).
I've got the hang of Slack but I tire of teaching new adopters the correct etiquette and usage that means they don't overly interrupt those of us that have tuned their notifications. Or teaching people how to ensure their messages aren't missed entirely.
Learning markdown is pretty easy for many developers, and for some it becomes 2nd nature when typing into things that support it on a regular basis: Git[Hub/Lab], Slack, Mattermost, WhatsApp (partial support), etc. The value-add as you put additional markdown-enabled platforms into your workflow is pretty substantial. I don't have to do a mental context switch every time I go between editing a GitHub issue comment and typing some code block to another developer in Mattermost.
You can create some really nice looking README.md files if you spend a little extra time with things like headings and quote/code blocks. I believe there are several options (one hosted in GitHub's API if you prefer GFM) for taking MD files and generating high-quality HTML or PDF output.
I'd conclude by saying that markdown documents are much easier to source control. Taking a diff of a docx or a pdf is going to get you nowhere. A diff of a markdown file might as well just be a diff of any arbitrary plain text document. The syntax itself has a very small footprint, so you are looking at mostly just plain text minus 5-10% overhead on the markdown.
only if you haven't tried slack.
Awesome work on raspchat! And thanks for the kind words.
Often we see users and customers have both Microsoft Teams for Office365 users and Mattermost as the "developer's choice" given the open source code base and flexibility in high security environments.
Per the article, the market is very large, and there's many different user segments to serve. Therefore there should be multiple winners here, in my mind. I think this category is only just starting.
I really dislike teams.
Mattermost is already certified on Aurora, we work with S3, it's available in AWS Marketplace--if there's a dev team at Amazon interested in an open source alternative to Slack that runs natively on AWS infra--potentially connects with Chime for voice/video/meetings/screenshare it's potentially a healthy thing for everyone.
20+ years ago corporate IT was concerned about the phone on my desk (how quaint).
They put one there on the back of a PBX.
They put in a system that was LOCAL for local needs and accessed the public network when it needed to.
It worked because it was built on the back of a proven standard (telephone).
We don't have a working chat standard, and it shows and we need to fix it.
IRC works pretty well.
The only thing I sometimes miss is history, but... in some ways that's not a bad thing, and could be added without too much trouble.
Slack has history because Slack wants you to live in it. No history emphasizes that chat is ephemeral and something to tune in and out. Use email or something else for more permanent discussions.
I don't actually agree with this. Email has hefty overhead per message. Chat allows for faster and easier communications, which does NOT mean you can't have a history. Indeed, history and search is the real selling point of Slack for me. Everything else Slack has over IRC is trivial and not worth abandoning the standards.
Whenever I used a native desktop software, like Thunderbird or Opera Mail, I was able to have conversations with people as quickly as in a chat client (and faster than texting, because of a real keyboard)
I'm not sure I understand. Are you talking about the SMTP/LMTP format, or clients or what? If anything email lacks overhead - a proper thread meta data field that actually works across implantations (in-reply-to is a start, but not enough).
It's not like "xmpp overhead" made gräll unusable, is it?
I don't think that poster was talking about protocol innards, although kudos for you for having that knowledge, but perhaps they were, but in terms of user experience, slack/group chat is very low cost in terms of requiring any sort of mental pause before sending the message, specifically as a cost for the message itself. So much so, that a type of usage of verbal diarrhea can occur, so as to caution oneself against such usage, a little bit of thought before sending messages is always advised.
Specifically, if I can echo the primary differentiation, all you need to initiate a chat communication is a name and a message, that simplicity works a lot for people. I've used both e-mail and Slack, and a combination of both is great in my opinion, but the comparison can seen by an example message in my workflows (I don't use Slack anymore though):
Slack: 1) Find user/group by name lookup 2) Hi X, QUESTION_TEXT. 3) When done conversation, write outro
E-mail 1) Find user/group by name lookup, if user is not encoded in e-mail alias, query relevant databases 2) Write subject 3) Write intro, message, and outro
From my experience the reply from Slack 2) vs. E-mail 3) is much faster in the former case.
Which is much harder to both do in parallell and concurrently when busy with more than one snowflake problem at a time.
I'm sometimes shocked at how slowly things get done now, compared to when I worked a support desk in the early 2000s. But mostly I'm just a little sad at the overhead generated by chat.
I think the crap is related to the amount of effort put into the message vs the medium. Making it easier/harder to send a message MIGHT change the quality, but I'd argue the decay of email over time was due to people failing to put in any effort DESPITE the minimum required.
I recall a coworker back in the late 90s talking about their usenet program, that made them click through a "Warning: What you are about to send will be read by thousands of people. Are you sure you want to send it?" message (paraphrased from memory). He found it daunting and therefore bad, I thought it was properly daunting.
[0] https://slack.com/help/articles/203457187-Customize-message-...
Email was fine, nay, great, for people to have extended group discussions in, so long as everyone was willing to follow some rules. Then Outlook plus the Eternal September came along and now everyone is reinventing quoting repeatedly (and poorly). Branching is a whole thing (or mostly, not a thing when it needs to be a thing). And we don't even need to discuss what happens to HTML in emails.
Chat allows for fast questions, fast responses. This makes it harder to have lengthy or broader discussions in. Neither of those, however, says that chat has to ephemeral while email is lasting, which was the point I was responding to. If you want chat+history, you can't swap out chat with email and say "there, now you can have a history" - you just changed a LOT of things.
That assumes that every discussion which eventually is important enough to be made permanent starts out that way. One of the nice things about a history-keeping chat is that the barrier to starting conversation is low, and the barrier for preserving that conversation is also low (i.e. nil).
That has a double benefit - anything that becomes important is automatically preserved, so you could have tuned it out at the time and later be able to come back to it. There's no need to always focus on a chat if it's guaranteed to saved for later, unlike with IRC, which you can't always risk tuning out.
I don't quite understand why history is such a big deal for US-based enterprise chat, when the consistent US trend has been to nerf internal communications history.
Not that I agree with this nerfing. It just causes people in my observations to inefficiently store and retrieve items of interest to them elsewhere, mostly into files.
The Linux Kernel was built via email.
You can say you don't prefer it, but plenty of people have built some very big, complex projects via email.
All are way easier to set up local instances of than setting up a PBX. The difference is that there was a whole lot of money to be made by installing and maintaining PBXes.There was no good way to monetize phone services by advertising or privacy violation. The equipment and trunk lines simply cost too much. Every PBX had proprietary phone sets, but the companies that made them could not get around the fact that the phone trunks were standardized by what was in the end a government enforced standard. So it was an example of forced federation of proprietary systems. It is interesting how well that worked.
We have a weird situation right now where the cheapness of communication is inhibiting standardization. Everyone can afford to do their own thing and fund it using super marginal revenue streams.
Email is really a simple form of messaging, where you put some content and expect the chain to route it to your destination; pretty much any IM system can emulate it, and XMPP goes a little bit beyond in providing the bits that different an email message from an IM message.
Very straightforward and easy to set up.
Plus I have a simple traefik + compose setup so I can easily have it all automatically routed with a subdomain and https.
I might recommend something more robust for businesses in production but man is it easy. Want to try node-red? Done. Want to destroy - and it's gone, no need to futz around with dependencies.
As an example, when we were starting the Mattermost open source project we were considering a few options for different reasons:
1) Erlang - Real time properties made it nice for a high scale collaboration platform. The trade-off was that it's a really specialized language and there aren't that many people excited to learn Erlang.
2) C/C++ - Really powerful language and can compile to binary format, making install and upgrade easier for admins who don't want to be managing interpreted languages. Trade-off was it was an older language and there's fewer people excited about writing for it, and there can be a fair bit of nuance.
3) Python - Really popular, easy-to-read. Trade-off is things could get tricky as performance and scale needs increase. Also, doesn't support binary format, so more complex install and maintenance options would need to be used.
In the end we used Golang because it had many of the positive properties of Erlang, Python and C/C++ (compiles to binary, easy-to-read with gofmt, real-time support, etc.) and the trade-offs were fewer.
While they may offer some higher-ups some benefits I don't see anything I'd miss if we moved to IRC, quite the contrary — I could maybe even reclaim some of my RAM and get to choose a client to my preference (which is not an Electron app).
For small communities, I recommend Mattermost or Rocket Chat. I used to be a die-hard fan of irssi inside tmux, but seeing how tiny usability issues can really cause adoption issues, I wouldn't even recommend riot.im to less technical people.
I've heard this so many times I'm surprised nobody has done it yet.
You'd need a client-proxy, or server extension to detect idle desktop clients so you can route messages to a mobile device, for maximum "life work balance."
Isn't Mattermost fundamentally the same thing, architecturally, as Slack? Slack has one of the industry's stronger security teams. I don't see the differentiator here.
By way of comparison, I will indulge in a shameless plug for Webex Teams: our customers have the option of hosting their own key server, on-premise, under their control. We have no ways of seeing any content in messages: payload and title are encrypted and participants are IDs that are usually federated with their own identity provider.
Decryption happens locally in the desktop/mobile client, after obtaining the right keys. Yes that's more computationally expensive and carries some complexity. But it's a very different model than just building a single big vault of data. And it also works when users in 2 different companies talk to each other, both with their own key servers.
https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cloudCol...
There is development in progress to let you jump directly to new messages when you land on the oldest unread message in a channel. This lets you get directly to the latest message.
I'm not entirely sure if this is the same use case you have, but if you're open to testing the new development and share feedback, we'd love to hear!
Pull request with an open test server is available here: https://github.com/mattermost/mattermost-webapp/pull/4132#is...
Opened a ticket here: https://github.com/mattermost/mattermost-server/issues/13422
p.s. we haven't run into the issue 6320 (users archiving channels), for exactly the reasons @it33 described in the issue report. He didn't explain it well, but permissions is a complex rathole, un-archive is a simple workflow for admins and if there's continued abuse, just ban the user.
Neat that both Mattermost and Slack have the same origin story of game developers building an internal chat app and then pivoting to that.
[EDIT] In short, I guess, the nice thing about running services written in go is that, unlike a lot of other popular ecosystems, you actually can forget about what it's written in, more often than not.
Mattermost is being trialled now, pasting code doesn't seem a lot better, but the overall experience is.
As a place that likes Go/Docker it has potential for us.
Would love to squash the bug for you, open to filing an issue?> https://github.com/mattermost/mattermost-server/issues/new
We used to send bug coins just for release candidates, but if you find a bug in production you get one too now: https://www.youtube.com/watch?v=7D6FJsdE_aY
Best regards to the team.
It's unfortunate that there's a specific terminology conflict in this case.
Not entirely accurate. It's was bought by Slack, and then shut down.
It seems their ultimate goal was to shut down a competitor, so, with the result being the same, I suppose the specifics matter very little.
I'm a programmer with experience in backend development and security and would be willing to donate some time to work on developing a stronger community implementation of Mattermost - only I'm not sure what the legally correct way is to go about it. What I'm hoping to find is a FOSS sherpa to help me navigate setting up a new project.
disclaimer: co-founder of cloudron.io
Now, do you REALLY need end to end encryption to protect yourself from a person running your team chat server?
easy. they didn't:
https://twitter.com/msquinn/status/1179874609899827200
https://venturebeat.com/2019/11/21/microsoft-teams-giddy-gro...
MSFT decided that one clear way to increase their share price is for their new product to run at all times for everyone.
That’s why we recommended Slack for the next workplace. No chance to get anything wrong, and no need for backups either.
Those eligible for a nonprofit license can also get the benefits of E10 offering (including LDAP) with special pricing https://mattermost.com/nonprofit/
It has been standard practise everywhere I've worked that in business-to-business relations, people have to create accounts for each other's Slack networks.
That is ridiculous. Imagine having to sign up for separate email accounts on the email servers of all of your customers. It just wouldn't be acceptable other than in extreme circumstances; you already have an email account -- why shouldn't you be able to email with your customers/suppliers/vendors from that?
But we accept it with IM because we're so jaded by now. Though if federation was a more well understood concept, I'm sure multiple of the companies I've worked at would jump at the chance of not putting its business relations through the pain of registering dozens of accounts to IM with different people.
So I'd question the intent behind this particular project. For those who don't care about openness (like Slack), I'd expect such behavior. But for open projects - not really.
I'm not surprised, it's a garbage product.
We use it at work since it's bundled for free with GSuite
But - The name is just awful, you can't even find it in Google's search since the previous (still live) Hangout chat app overshadows all search results - Integrations and ecosystem around it is non existent - App doesn't see any meaningful updates - The Android app is so crappy I don't even know when to begin. Try initiating a conversation with some person by searching them. Or try sharing something from Android to a channel only to realize you cannot search for the channel in the list - Api to write bots is pretty badly designed - When you edit your message you cannot mention people anymore - Deleted GSuite users just keep floating around as ghosts
I give this product a year top before it is canned
I find Apple's interfaces confusing because I've been a Windows developer for 20 years, but at least they seem to stay consistent. Microsoft is in the middle of completely revamping their settings UI, but I agree with the forgot they are going on and they at least didn't delete the old UIs. WTF is wrong with Google?
The really goats part is that the engagement levels that Google considers to be "crap" would make any SV startup a darling Unicorn in their next funding round. But compared to making money hand over fist on click-fraud-plagued ads, it just can't compete.
Not for long, as it's been killed and is now moribund.