So it takes a year, and $2.5M, to do what should take 3 months and $300k.
* not saying this is the case at Slack, it’s just often the case at Everywhere. ;)
It's doable, but it's non-trivial, and probably only buys you the accolades of a small percentage of users on slower hardware. (And incidentally, almost every video chat app I use today runs the fans and slows down my system, but I can deal with it)
People shouldn't have to put up with the system crawl that ensues after firing up slack. It is absurd for the money they charge.
for VScode, there's Visual Studio.
And VScode isn't slow by any stretch. It does take a bit of memory (as expected of an electron app). But it's well engineered, and has very little slow laggy UI parts.
Edit: thought Skype wasn't in Electron, obviously I'm wrong: https://electronjs.org/apps/skype
The alternative for users is to go with a competitor that competes with everything Slack provides, in addition to improved performance. There are at least two such competitors out there, but people put up with Slack, even though they don't have to.
If you build it, they will come. Especially if they don't have a choice. So build the new, deprecate the old.
We're talking about a chat application for diverse corporate teams. If you don't have native apps for Windows/MacOS/Android/iOS at the get-go then you've missed the boat.
Sorry about everyone complaining about CPU, but Slack won the chat wars in part because they were early adopters of Electron, and got plenty of developer productivity benefits out of using the web stack to build on.
At another company, I watched an five person team, half of whom had related PhDs, the other half over a dozen years of video engineering experience, make incremental improvements to the WebRTC stack.
After a year, was it better? The metrics said it was somewhat better, but the customers still complained all the time.
But it's been done. Skype video calls worked on far inferior hardware and networks back in the day.
In my opinion, Google's expectation is that you run one instance of Chromium per machine. Electron wants to run one per application. Hence performance woes.
I rather like Slack, and have good reasons to use it (it's pretty central to Elixir's community, for one), but even on my relatively beefy MBP (2015) I actively avoid having the app open because it's a heavy Electron piece of shit.
While of course I might be a bit of an outlier as a developer with a preference for 'lighter' applications (and comfortable with CLI stuff), surely I'm not that much of an outlier...
In the case of the enterprise shop I work at, our revenue increases year over year, and so technical debt doesn't get addressed unless it causes such trouble that clients threaten to leave. Development gets slower and costlier over time as cruft builds up in the codebase, but that effect can't be measured, so it doesn't exist as far as management is concerned.
In Slack's case, their indicator of success is the giant valuation they just got. Their desktop app is an annoying resource hog, but hey, they have tremendous market share, so it must not really be a problem for users. And if it ain't broke, don't fix it.
Excuse me? You think 5 people can 100% replicate Slack natively within "a few months"?
But you also don't need to re-implement the entire client. You need to do a significant architectural change for performance improvements, not a complete overhaul. Reasonable people can disagree about whether or not that's feasible for five engineers already familiar with the codebase to do within a few months. Your incredulity at the idea is unwarranted.
Hell, throw a few million at it and I can't see why Slack can't be implemented natively on at least iOS, MacOS and Android (especially if parts can still fallback on webviews).
There is absolutely no way in hell that even ten engineers for a couple of months could replicate all of Slack's functionality. Even ten times that much would be a stretch.
They could maybe make a decent chat app prototype in that amount of time. If they are very talented, they might even be able to make a decent chat app MVP that would get some actual users, but there is absolutely no way that they could replicate all of Slack's functionality.
I agree it will take longer, but Slack owes it to their customers to hire people and put out a better product.
Even the most talented construction workers could not build the Empire State Building in a week. It's a little silly to think that these people are like magicians.
Have you looked at Slack's competitors? Slack is arguably the best chat app out there, especially with their UX and the quality of their integrations. It's so presumptious to then tut-tut them suggesting that they "owe their customers better". They're doing very well!
Guess which opinion is more popular.
Now think again about this "doing well to their customers"