> we are ruthless in killing experiments early that do not prove valuable.
Ed Catmull of Pixar calls new ideas "ugly babies." Ugly because they're covered in warts -- aspects that are easy to change, but that doubters seize on because they destroy value. For example, the script for the first Bond film, Dr. No, had an intelligent monkey for a villain. Babies because they don't have value in their current form, they need more work and iteration before they have value.
How does slack identify technologies that don't have value now, but whose problems are superficial and fixable?
I very much disagree with the fads vs. revolutions division in this article, or rather - I find it unfair. A certain technology succeeding often has a lot to do with its quality, but it's impossible to ignore all the complex social processes happening around it.
Sometimes great solutions simply arrive at a bad time, or don't have proper funding, or marketing, etc. It definitely makes sense to be on the lookout and try to improve your chances of identifying the winner early on for business reasons, but that doesn't mean the winner is always the best.
Once you're as big as Slack, you might even be actively harming others by doing that - i.e. a better but less popular technology might have won in the end, had they backed it.
I can't fathom why slack is so slow, on MacOS i see a channel that is white, new messages await. I click it, and honest to God sometimes seconds pass while slack loads the _text_.
How can this be? How could my slack client with a 30 Mbps connection have received the signal that there was a new message but also not downloaded the few bytes of text as well. Maybe it did but a MacBook pro from 2018 takes seconds to render text? AOL or MSN didn't back in the day.
> Server-side, we’ve been migrating from PHP to Hack since 2016
A 3+ year migration of the bulk of your codebase is sort of intense. Though the Hack team at Facebook has made some great tools to ease migration, their fairly aggressive sunsetting of PHP features in Hack has presumably made this job a little harder.
Also notable: Slack is the only equivalent company (outside of Facebook) that uses Hack, at least that I know of. I wonder if that makes Slack a more likely acquisition target.
> Microkernels; EPIC architectures like IA-64; object request brokers; and 1990s’-style neural nets are gone, and will not return.
I am not entirely convinced that they are gone:
- Xen is essentially a modern microkernel. The most popular "microkernel" from the 1980s, Mach/BSD, evolved into Xnu/Darwin which powers macOS and iOS. L4 and other microkernels still exist.
- VLIW lives on inside GPUs as well as x86-compatible CPUs
- ORBs turned into microservices
- Neural Nets turned into Deep Learning
I don’t hate slack but I’ll share my least favorite parts In the hope someone will see these good ideas and fix them
1. The rich text editor (thankfully you can turn it off — I am very sad for non savvy users who don’t know this)
2. The UX of snippets - I paste something long into a code fence — fine its too big and you need to send it very a different mechanism — just di that please don’t ask me and make me click around - ideally you’d see the big text blob inside the code snippets and just extract those into something the reader on the other side can click - this way I can provide exposition and give the reader the option to get more details if I’ve convinced them there’s something they should look at. Present options all require me to either lose formatting of my exposition or manually copy stuff out if the message and into one or more snippets
3. Link unfurling - yes I can turn it off for me but the readers not for readers on the other side ... they are less likely to engage properly with what I write because of this crap and I can’t fix it for them ... would be great if I can turn it off for messages I send and receive ...
Is Slack known for their good engineering practices?
If Slack uses Slack it's amazing they do any work at all.
Aren't people starting to use microkernels for virtualization hypervisors?
And people still sometimes use non-deep neural networks because depth can increase overfitting.
This is a great policy. I appreciate that they provide a roadmap for engineers to propose and explore technologies, as opposed to most places (in my experience) that have a blanket diktat of the allowed technologies, and any evolution has to happen in the shadows, guerrila-style.
It's nice to see a company factoring in the evolution of technology in their product, for a change.
The crossed out parts of failed revolutions of tech migration was brutal to read. It really underlined the article's message.
> The new type annotations also caused some problems along with the bugs they were catching, and a canonical static vs. dynamic typing debate unfolded and ran its course. Through debates and accumulating experience, a rough consensus emerged that increasing type coverage would do more good than harm, and a majority of teams elected to use types.
I went through the exact same thing (word-by-word) at my last team and we came to the same consensus.
I caught a bug in our custom made static type checker for Python and argued that all type annotations should be dropped :D but they argued that there are more benefits, mostly because it is easier to understand code in isolation so we kept it and invested in even more type-annotation throughout the whole code base.
> Microkernels; EPIC architectures like IA-64; object request brokers; and 1990s’-style neural nets are gone
As someone who uses #1 and #3 every day, I wonder what it is like coding in the 21st century :/
> Most new things in technology turn out to be fads: [...] Microkernels [...] are gone, and will not return
Uh... What about Zircon[1]? It powers Google's new mobile operating system: Fuchsia[2].
Ironacally, Slack IS using at least couple of fads on a product-defining level: Hack is dead by PHP 7 and PHP 8 will dance on it's grave this year. Electron is awful when used atop of big JS framework-based apps (it is more or less okay with nicely crafted Vanilla JS).
And at the same time it is a great commercial success. This last one I cannot understand.
i really wonder why the C++ lib was discontinued. The explanation was a bit short unfortunately.
How do commercials keep getting posted here?
FTFY: How to make a chat room app sound complex and difficult
Slack is one of those few platforms, where their success makes no sense to me at all. I hate using it, I hated their bloated desktop apps, I hate the separate passwords/emails for every location you log into. I hope to one day understand the magic behind Slack, Salesforce, Sitecore and a few other huge tech successes, that have subpar tech.