Incident at Slack
status.slack.com
status.slack.com
Like they used to.
Then it became just another crappy messaging app.
It's not like they're implementing thousands of native controls or user interface components - a listview with an edit box at the bottom...
Look at 1Password and the amount of shit they get on HN with the beta version. Rewrites are hard and they take a tooooooon of time to do correctly and require a lot of engineering work to keep the product consistent across platforms.
Do I wish that electron apps were better optimized? Yes, however, I also can accept the tradeoff for apps that need to work "everywhere".
For the most part, Slack works just fine. Their problems are less the UI/UX and more to do with infrastructure. Slack rewriting to a native app would have a tiny (if any) effect on these outages.
Really? One code base, one language, write features once. I think it's more about eng resourcing (headcount, onboarding, roadmap parity / feature drift, etc) than whether making a native app is hard.
Anecdotal, but I feel like the React Natives and Electrons have made it so you see less "Sorry we're only on Mac", and "We're only on Android, iOS coming soon!" from apps
There's the problem, nobody's sorry for offering only these static 100MB chat clients taking 2GB+ of RAM once launched. These apps are technically ridiculous, especially since all they do is embed a website. I mean, if all your company's willing to deliver is website, why even bother with the apps... But that's all fine right? We'll just upgrade to 64GB and 128GB machines soon!
If they've already got many JS developers onboard, it's normal that their opinion will be biased and they wouldn't want to switch to another language and essentially make their own job obsolete (except for the minority that also happens to be equally-proficient in whatever desktop programming language is chosen).
Everywhere I've been, we always "choose the right tool for the job". Recently, making apps that can run across every OS and in the browser, the right tool for the job has been JS (well, TypeScript these days, but same thing).
This is not true in any way. Slack also have workspaces, channels, notifications, video calls, file sharing, admin tools and probably even more features. It's not just IRC.
Maybe writing a web-based app is lazy... except when you have to write native apps for macOS, Windows, Linux, Android, and iOS, and some people still need access via a browser. And each one has different ways of displaying images and videos and doing calls and handling file access. Now you have 5+ apps that you're maintaining, each with their own dedicated team since each one is unique. Want to roll out a new feature? Cool, now you have to write it 5 times across 5 teams. Good look coordinating that.
I know there are technologies that let you share code across all of the different native clients. But a webview wrapped in i.e. Electron handles most of it for you! Why would you do it any other way except to appease people who complain about bloat?
Slack already has three different clients - a web one (which includes the Electron desktop wrappers), one for Android, and one for iOS.
They've already demonstrated that they have the engineering resources and coordination to develop and maintain three completely separate clients (albeit poorly) - so adding a fourth one (native C++ codebase using Qt that would work well on Windows, Mac, and Linux) would not be the Herculean engineering effort required to go from one to five, and your implicit assertions that (1) they currently only have a single client and (2) that a different client would be required for each of Windows, macOS, and Linux are simply false.
> But a webview wrapped in i.e. Electron handles most of it for you! Why would you do it any other way except to appease people who complain about bloat?
Because (1) performance (2) accessibility and (3) stability - the things that users actually need. Slack's performance is extremely bad and you get people constantly complaining about it; their accessibility is janky and suboptimal because they're reinventing desktop UI controls on the web; and their applications have repeatedly broken (such as the disastrous input box rewrite[1]) because they're trying to do things with the web platform that it wasn't meant to do. (in case you're wondering how using a desktop client would help - you expose a "lite" version of your functionality in the web application and put the full functionality in the desktop tool)
You're using "appease" as marketing-speak for "fix the very real problems with their web application that people constantly complain about". Slack should fix their application because it isn't serving the users well. Performance problems are functionality problems.
As it stands, Slack is showing us that they aren't even pretending to care about their users - they're just trying to make a buck selling to large organizations.
https://www.salesforce.com/news/press-releases/2021/07/21/sa...
These terms are not limited to cloud infrastructures and not new either. Computation clusters use these terms for at least 12-13 years (from my experience) or for even longer.
Multiply that out by 1000s of providers.
We deal with issues because something is screwed up with their APIs badly enough that service is degraded all the time.
I think it’s going to be the new normal
Have you read the status entry? Among other things, calls is also affected.
Could you be more specific? — "An incident at Slack"
Could you be more specific? — "An outage at Slack"
Could you be more specific? — "..."
Would rather see something more specific:
"File Upload & Emoji Service Degradation at Slack" ( — insert emoji memes ).
Arguably, title is a bit misleading whether it warrants front page news for this community.
Or might that be due to potential negative brand marketing that springs into existence when users see such a notice inside their application?
When Slack is down, Slack can't tell you when it is down. It's why status pages are often on other domains/systems etc, so the status page remains up while everything else is on fire.
If they have it on an API call to (making it up) api.slack.com/status it might very well go down when things go wrong, making it useless.
However if they physically host it elsewhere ideally on a different cloud provider, with a different domain, say, slackstatus.com/api-status that is completely separate from the actual services, which can both query the actual service with a call from outside and can be updated manually with physical persons at Slack, and the client checks that domain, I think it can work.
It sounds more like laziness than complication to me. But that typifies Slack dev culture—“just use duct tape”
And in an absolute worst-case infra collapse, someone there could manually edit/upload a new one...
/feed subscribe https://status.slack.com/feed/rss
Centrally controlled, heavy and bloated - nope, nope, it's just not it.
They just added voice calls via web UI. Not E2EE yet but if you're on an encrypted VPN then that's kinda moot anyway.
Seems to be more on the "glossy" and "web client" end of the spectrum in general but probably there is some reasonable compromise to be reached from the proliferation of different clients.
Big companies could pay monthly for "slack redundancy" from a third party.
So, when Slack is down, it's actually a nice "everybody is offline: either take some time off or work focused on whatever you need to work on"... which is a nice thing to experience from time to time during regular business hours.
Ideally you could discuss that the notifications are making you anxious and less productive and your employee could accommodate that. If your employer is not interested in helping you become more productive then maybe look somewhere else? You don't have to settle. Your mental health is paramount.
If I text someone and they reply within a day, that's fine to me, and it's fine to any of my colleagues. If it takes more than a day, I'll ping them again, and everyone can still chill.