Live data from Hacker News

Is the madness ever going to end?

unixsheikh.com

331–340 of 629 posts

Re: Is the madness ever going to end?

#331

This is a bad article, but it's a great example of why tech like Electron have succeeded. This article is a long boring rant with zero insights, in which the author never thinks to ask why ... > Why in the world has this idiotic trend of abstracting everything away by layers upon layers of complexity gained such a strong foothold in the industry? Has everyone except the "unix greybeards" gone mad!? ... ok he does use…

> he's never had to mitigate XSS vulnerabilities in large PHP applications.

You can do this with ) ?>, where e is a function that escapes strings.

Is this more work than writing {{ }}? I guess, but this is what your template library is doing under the hood anyway.

Re: Is the madness ever going to end?

#332

The author is fighting a strawman. Rather than engage with the specific problems these solutions were built to solve they dismissively regard them as just flavor of the week trends purely for the sake of chasing newness. This is true of the entire post, but I'll tackle just one since it's emblematic of my issues with all the rest: The argument for Electron and React Native isn't "it's modern", it's "it's much cheaper…

I’m very critical when a company like Slack cannot find the time and resources to make native clients. I’m so #%^*ing tired of it taking three Mississippis to show a channel I click on. But on the whole, I don’t think the armchair critics truly appreciate how Electron reduces the cost by at least an order of magnitude. It’s a brilliant tool for shipping early and fast. My only criticism with these start-up use cases…

> I’m very critical when a company like Slack cannot find the time and resources to make native clients.

I think they could, but they've decided it wouldn't be a good use of that time and those resources. The Electron app was probably written when Slack was a much smaller company, with less time and fewer resources. Now that they have more time and resources, they can choose to spend that on adding features and acquiring more users, or they can spend it on rewriting their entire app three times (ok, two times; I assume if they decided to go native they wouldn't spend the time on a Linux app). And remember this entire app isn't the app they started with; it has a lot more features than that one did.

It frustrates me too; with the exception of Signal Desktop, I've banished Electron-based apps from my machine (if I had more time on my hands, I would write -- and then spend a ton of tedious, thankless time maintaining and updating -- a native Signal Linux app). I use the Slack webapp in my browser, and it works just fine. And that's also the weird thing: I don't get why so many people use the Electron-based desktop apps, when the webapp has all the same features.

Re: Is the madness ever going to end?

#333
post #123

Earlier quoted context omitted.

Usually they are websites. That's kinda the whole point... Spotify's desktop app is the same as open.spotify.com, Discord's is the same as discord.com, VS Code's is the same as vscode.dev, Slack is the same as.. something. But yeah, instead of those companies all needing 5 separate engineering teams (Web, Mac, Windows, iOS, Android, and you're joking if you think they'll make a Linux native app), they just make a web…

Slack isn't feature complete in their webapp if they even still have it. vscode.dev is new, the app existed for a long time. In practice, its the reverse; it allows you to turn an app into a website and add yet another supported platform.

> Slack isn't feature complete in their webapp if they even still have it.

It isn't? I use it daily and haven't noticed anything missing, except that voice calls don't work on Firefox, which is fine, because I never use them.

Re: Is the madness ever going to end?

#334

The author is fighting a strawman. Rather than engage with the specific problems these solutions were built to solve they dismissively regard them as just flavor of the week trends purely for the sake of chasing newness. This is true of the entire post, but I'll tackle just one since it's emblematic of my issues with all the rest: The argument for Electron and React Native isn't "it's modern", it's "it's much cheaper…

I’m very critical when a company like Slack cannot find the time and resources to make native clients. I’m so #%^*ing tired of it taking three Mississippis to show a channel I click on. But on the whole, I don’t think the armchair critics truly appreciate how Electron reduces the cost by at least an order of magnitude. It’s a brilliant tool for shipping early and fast. My only criticism with these start-up use cases…

  But on the whole, I don’t think the armchair critics truly appreciate how Electron reduces the cost by at least an order of magnitude. 
Compared to what? Java? Have you used c#.net, or for that matter Delphi or VB6 in their heydays?

To me, I look at electron and I would put it roughly on par with QT. Although, like the vb vs delphi argument, i think electron gives you a good initial boostrap and makes you feel productive, but then when you start to hit problems they are very difficult to solve. Vs QT which is harder to get started in, but once you have the core up an running its possible to bolt things on fairly rapidly.

I've not written anything in lazurus other than toys, but many of the problems I had with it just a couple years ago seems to be mostly fixed. AKA, its been quietly getting more robust everytime I install a new version..

So, I would be interested in a fair electron vs lazurus comparison from someone who has spent significant time in both.

Re: Is the madness ever going to end?

#335

Earlier quoted context omitted.

Well it's a net negative for the end user, which should have been the priority for everyone involved, and what you're describing sounds like a corruption of this system. So I wouldn't call it an engineering thing, it seems far more general than that.

Unless the product would have never been shipped if it could only be done natively.

Sometimes no product is better than a bad product.

Re: Is the madness ever going to end?

#336
Completely agree with the sentiment of the author my question is why is this happening? I see a lot of comments here mentioning things like groupthink or specialization as the reasons, but how can really smart people suffer from groupthink or how can generalist engineers not afraid to write sass/graphql/js all in the same line of their pure React component want to specialize?

I hope this thread doesn't turn into a shit show, but instead sheds some light on the real reasons.

Re: Is the madness ever going to end?

#337

Earlier quoted context omitted.

> The argument for Electron and React Native isn't "it's modern", it's "it's much cheaper". I'd argue it's not cheaper overall, just for the company choosing to do the development. What I mean is, the lost productivity of waiting around for slack to load a channel is essentially outsourcing this cost difference via poor performance.

And yet the market (the users) choose to use Slack over alternatives. If this lost productivity was a problem for the general market, Slack wouldn't have the market share it has.

From what I can see Slack's market share is dwarfed by Teams'[0][1] and similar to Discord's[2]. This is not strictly an argument against your broader point as I believe all these apps are essentially the same in technology stack.

Regardless, it's hard to look at that one feature and determine that conclusion from it. There's a of other pros and cons to be weighed when making any kind of decision like this. I'd suggest hosting, overall UX, and corporate support probably make up far more of the critical success factors for these kinds of apps than their older competitors. The lost productivity and poor performance are the cost of these other features, apparently. Perhaps in the future there will be a new disruptor to the market that will do this same thing but with a fully-native client application that is stabler and more performant than their competitors.

[0]: https://www.businessofapps.com/data/slack-statistics/

[1]: https://www.businessofapps.com/data/discord-statistics/

[2]: https://www.businessofapps.com/data/microsoft-teams-statisti...

Re: Is the madness ever going to end?

#338

Earlier quoted context omitted.

I think that's what's offensive to the purist engineer mind. These aren't engineering decisions, they're business decisions (or maybe the closest thing you could call them would be "financial engineering" decisions). The best thing, by pure engineering criteria, is not what gets built. The best thing for the business is what gets built. In that context it's a complaint as old as the hills. ...and not specific to comp…

Well it's a net negative for the end user, which should have been the priority for everyone involved, and what you're describing sounds like a corruption of this system. So I wouldn't call it an engineering thing, it seems far more general than that.

>> Well it's a net negative for the end user, which should have been the priority for everyone involved

I feel like you're missing the point. Let's say you are a product manager. Here are your options;

A) increase the product price so the budget can be bigger. Understand that increasing the price will lower customer numbers, but net inflows may be larger. (does this option prioritise the end user?)

B) spend all your budget on platforms with the most usage. Ignore less-used platforms completely, but deliver the best possible for your selected platforms. So 100% spend on the Windows client - - and of course ignore Apple and Linux desktop. (does this prioritise the end user?)

C) build a cross-platform solution that is sub-optimal on all platforms, but targets multiple platforms on a limited budget. This reaches the most people, but the experience from an engineering point of view is less than ideal for all of them. (does this prioritise the end user?)

How you answer depends on who you consider the end user to be.

If you see them as "people who have bought our system on our preferred platform" then option B makes the most sense.

If you see them as "people who could use our system to improve their lives" then option C makes the most senses.

If you see them as people who can afford fine engineering then go with option A.

On the up side, no matter which one you choose you are prioritising the end user, so it fulfills your premise.

Re: Is the madness ever going to end?

#339

The author is fighting a strawman. Rather than engage with the specific problems these solutions were built to solve they dismissively regard them as just flavor of the week trends purely for the sake of chasing newness. This is true of the entire post, but I'll tackle just one since it's emblematic of my issues with all the rest: The argument for Electron and React Native isn't "it's modern", it's "it's much cheaper…

I’m very critical when a company like Slack cannot find the time and resources to make native clients. I’m so #%^*ing tired of it taking three Mississippis to show a channel I click on. But on the whole, I don’t think the armchair critics truly appreciate how Electron reduces the cost by at least an order of magnitude. It’s a brilliant tool for shipping early and fast. My only criticism with these start-up use cases…

IMO OS vendors could create an electron detection mechanism and start making electron instances use shared libraries and memory for their browser instances as part of a swap in the kernel. When you remove the "virtual OS container" that come with every electron app (their browser instance), you remove a significant amount of resource waste they have. Then they're pretty much QT apps written in python in the level of performance and memory they use.

It's kind of a shame that chrome apps didn't become a thing and electron app installers would detect if you have chrome and just install themselves as chrome apps vs an electron app. That would've been another legit alternatives.

Re: Is the madness ever going to end?

#340

Earlier quoted context omitted.

I’m very critical when a company like Slack cannot find the time and resources to make native clients. I’m so #%^*ing tired of it taking three Mississippis to show a channel I click on. But on the whole, I don’t think the armchair critics truly appreciate how Electron reduces the cost by at least an order of magnitude. It’s a brilliant tool for shipping early and fast. My only criticism with these start-up use cases…

But on the whole, I don’t think the armchair critics truly appreciate how Electron reduces the cost by at least an order of magnitude. Compared to what? Java? Have you used c#.net, or for that matter Delphi or VB6 in their heydays? To me, I look at electron and I would put it roughly on par with QT. Although, like the vb vs delphi argument, i think electron gives you a good initial boostrap and makes you feel product…

There's still a huge advantage for Electron - it's still fundamentally the same tech underneath - HTML, CSS, JS. Any semi-competent web developer can use Electron and ship cross-platform apps with it, and heck, lots of code can be shared between Electron apps and the web "app". None of the other options provide these facilities.
Post reply on HN