Earlier quoted context omitted.
If there has been no real gain in functionality, then why is Slack hugely popular while IRC is used by almost no one? Perhaps you aren't giving credit to functionality that is important to people other than yourself?
Extra features aren't the reason why Slack is so huge.
When a rewrite isn’t: rebuilding Slack on the desktop
271–280 of 408 posts
Re: When a rewrite isn’t: rebuilding Slack on the desktop
#272Earlier quoted context omitted.
Thanks for the articles! We've been using Redux since August of 2016 at Groove. For us, we've found that Redux makes sense when you have state that needs to be shared. If you are dealing with some specific, tightly coupled component state, it sometimes makes sense to keep that particular piece of state local to the component (at least for our use-case). The biggest issues we've run into during our time with Redux hav…
Yep. The Redux "Three Principles" docs page [0] emphasizes the "single source of truth" aspect. It's a good selling point, but has unfortunately led to a lot of folks interpreting that as "you _must_ keep _everything_ in Redux". (Doing so is a valid design decision, and I've certainly talked to folks who deliberately did that to make everything trackable and time-travel-able. But, most UI state probably doesn't need…
After a couple of years working with Redux, I think my interpretation has settled down to:
Redux should be the single source of truth for the pieces of information you decide to put in there.
Re: When a rewrite isn’t: rebuilding Slack on the desktop
#273Earlier quoted context omitted.
If someone is running so much stuff that an app (or a few apps) using ~250MB of ram instead of ~100MB (or whatever) of ram is a huge problem they can easily spend $200 or so for an extra 8GB of ram. Ram is cheap. Usage at this scale just doesn't matter to the vast majority of users.
Yeah, yeesh. So I'm in the market for an ultrabook and eventhough I had 8 GB of ram in my desktop over a frigging decade ago there still exist laptops with less than 16 GB today. Not only that, the cheapest 16 GB model is over a $1000 more expensive because now I must have an i7 and everything else. And no, not even with 16GB will I tolerate what slack uses even with their new version. Yes, I do consider upgrading th…
Lot's more options in PCs obviously, but 2 minutes of googling found a 16GB XPS13 $580 more than the 8GB version. Again, not $1000. I'm sure with slightly more searching there are cheaper options as well.
Re: When a rewrite isn’t: rebuilding Slack on the desktop
#274Earlier quoted context omitted.
Yep. The Redux "Three Principles" docs page [0] emphasizes the "single source of truth" aspect. It's a good selling point, but has unfortunately led to a lot of folks interpreting that as "you _must_ keep _everything_ in Redux". (Doing so is a valid design decision, and I've certainly talked to folks who deliberately did that to make everything trackable and time-travel-able. But, most UI state probably doesn't need…
> The Redux "Three Principles" docs page [0] emphasizes the "single source of truth" aspect. It's a good selling point, but has unfortunately led to a lot of folks interpreting that as "you _must_ keep _everything_ in Redux". After a couple of years working with Redux, I think my interpretation has settled down to: Redux should be the single source of truth for the pieces of information you decide to put in there .
Re: When a rewrite isn’t: rebuilding Slack on the desktop
#275Earlier quoted context omitted.
Funny how a google images search for limechat fails to find a single screenshot with inline images. But I'll take your word for it. I guess that settles it. People will dump Slack and Discord on mass and move to the amazing IRC clients like LimeChat which are so much more efficient. it's well known that the number one thing people look at when choosing software is how efficient they are. Nobody cares about looks or f…
If people cared about looks or features, Slack certainly wouldn’t come out on top. No, what people care about are primarily network effects. They'll use whatever someone in the company decided to use (frequently Slack because it’s always been Slack since someone back in 2013 decided it was the hip choice, before it even had a desktop client), and they’ll put up with whatever dogshit client they’re served, because it’…
Re: When a rewrite isn’t: rebuilding Slack on the desktop
#276Earlier quoted context omitted.
There's this classic article on the topic: https://www.joelonsoftware.com/2000/04/06/things-you-should-...
Joel's article is the famous classic, but he proved himself wrong when his company, Fog Creek, built Trello from the ground up, sharing no code with FogBugz. Trello became a huge success while FogBugz languished. https://medium.com/@herbcaudill/lessons-from-6-software-rewr... (I think this article should be the new classic.) > My takeaway from these stories is this: Once you’ve learned enough that there’s a certain d…
Trello isn’t a rewrite of FogBugz. It’s a brand new product.
Re: When a rewrite isn’t: rebuilding Slack on the desktop
#277Earlier quoted context omitted.
Yeah, yeesh. So I'm in the market for an ultrabook and eventhough I had 8 GB of ram in my desktop over a frigging decade ago there still exist laptops with less than 16 GB today. Not only that, the cheapest 16 GB model is over a $1000 more expensive because now I must have an i7 and everything else. And no, not even with 16GB will I tolerate what slack uses even with their new version. Yes, I do consider upgrading th…
The difference between an 8GB macbook air and a 16GB maxbook air is $200, not $1000. Lot's more options in PCs obviously, but 2 minutes of googling found a 16GB XPS13 $580 more than the 8GB version. Again, not $1000. I'm sure with slightly more searching there are cheaper options as well.
For reference I bought 64GB for my workstation for less than $400 a few years ago. And that's with 25% sales tax.
Re: When a rewrite isn’t: rebuilding Slack on the desktop
#278Earlier quoted context omitted.
I’m still skeptical. The memory usage chart from the article shows only a slight (10%?) improvement for single-workspace Slack clients, now at around 250MB. Yes, getting a 5+ workspace client down from ~800+MB to 300MB should be applauded - but the 250MB floor is still too high. I want to know what’s in the 250MB it’s still using.
I checked in Firefox and a given Slack uses 200+MB at load and then optimizes down to 140MB at runtime for a given Slack, of which ~60MB is JavaScript and ~80MB is page elements. So if those numbers carry over to Electron-Chromium, then it's 100MB of "I'm a browser" and 140MB of "I'm a webpage full of dynamic and objects". They certainly will not carry over precisely equally, but it puts some scope on it to consider.…
You pick Gmail as another example. Gmail is a memory hog and fairly slow. For comparison, Fastmail (which company I work for) tends to use 10–15MB in Firefox for slightly different functionality (no chat, and I estimate the Hangouts widget to be about half of Gmail’s bloat, but on the Fastmail side you can load the calendars, contacts and settings modules in the same document comfortably without breaking 20MB), and is a good deal snappier. It comes of careful engineering with performance as a priority, and a small team.
Slack is simply atrocious in these regards. Painfully slow, utterly greedy for memory. I often run it in Firefox rather than standalone to keep its memory footprint down. Whichever way I do it I regularly find it to have crept up over a gigabyte of memory, on my single workspace.
Re: When a rewrite isn’t: rebuilding Slack on the desktop
#279Earlier quoted context omitted.
> no matter what OS you're on the desktop client is probably crappier than loading up the webpage I don't see how it could ever be worse than the webpage. And it gives you nice perks like notification badge integration, which for me personally is essential.
My web browser has windows and tabs and lets me open Slack in multiple places if I want to see more than one view of Slack at the same time. I usually don't need to do that, but when I do it's annoying that the desktop client prevents it. It's fine that my phone doesn't let me open two text conversations at once since that's all the space it has, but on a computer with a 24+ inch screen and multiple virtual desktop s…
Re: When a rewrite isn’t: rebuilding Slack on the desktop
#280Earlier quoted context omitted.
You could do a rewrite that takes into account the bad old database schema, but doesn't repeat the wrong code design choices based on it. Then, when that's ready and stable and working with the existing schema, it's way easier to do a refactor and adapt to the new schema too.
"Show me your flowcharts and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won’t usually need your flowcharts; they’ll be obvious. " -- Fred Brooks, The Mythical Man-Month Attempting a design re-write without changing the data structures will just result in the same design. And you can't change the data design without then having to change the code to match.