Slashdot Mirror


Electron and the Decline of Native Apps (daringfireball.net)

SwiftOnSecurity, regarding Microsoft's switch to Chromium as Windows's built-in rendering engine: This isn't about Chrome. This is about ElectronJS. Microsoft thinks EdgeHTML cannot get to drop-in feature-parity with Chromium to replace it in Electron apps, whose duplication is becoming a significant performance drain. They want to single-instance Electron with their own fork. Electron is a cancer murdering both macOS and Windows as it proliferates. Microsoft must offer a drop-in version with native optimizations to improve performance and resource utilization. This is the end of desktop applications. There's nowhere but JavaScript. John Gruber of DaringFireball: I don't share the depth of their pessimism regarding native apps, but Electron is without question a scourge. I think the Mac will prove more resilient than Windows, because the Mac is the platform that attracts people who care. But I worry. In some ways, the worst thing that ever happened to the Mac is that it got so much more popular a decade ago. In theory, that should have been nothing but good news for the platform -- more users means more attention from developers. The more Mac users there are, the more Mac apps we should see.

The problem is, the users who really care about good native apps -- users who know HIG violations when they see them, who care about performance, who care about Mac apps being right -- were mostly already on the Mac. A lot of newer Mac users either don't know or don't care about what makes for a good Mac app.

38 of 328 comments (clear)

  1. Wha?? by Dan+East · · Score: 4, Insightful

    I feel like I just walked in on a conversation between two people about a topic I care nothing about. Should I care, or maybe do I already care? Possibly, but I have no idea what they're talking about to know.

    --
    Better known as 318230.
    1. Re:Wha?? by 110010001000 · · Score: 4, Insightful

      Sounds like the webapp hipsters are upset about something. Not sure what. WTF is "Electron"?

    2. Re:Wha?? by Entrope · · Score: 5, Informative

      Electron is an app "platform" that basically involves installing an app-private copy of Chromium, a node.js webserver, and running the application's logic mostly in Javascript between the two.

      To paraphrase Churchill, Electron is the worst architecture for desktop applications, except for all the other ones that have been tried.

    3. Re:Wha?? by 110010001000 · · Score: 5, Insightful

      We call them "programs" not "apps". Stupid hipsters.

    4. Re:Wha?? by wierd_w · · Score: 4, Interesting

      No, It's a native app greybeard, and a "TRUE apple hipster!" that are upset about something,

      That something being Electron, which from the sound of things, is a solution looking for a problem. (Or a problem pretending to be a solution? Hard to tell anymore.)

      Basically, somebody got the bright idea that thin clients were awesome, and are trying OH so hard to drag the world back into that dark and dismal corner. The sensible native app greybeard says "Uh, that's retarded." and the "TRUE apple hipster" goes on some tirade about how Apple was supposed to save us from this horror, but True Apple HIpsters are rare now, because apple became popular, and no longer hip.

    5. Re:Wha?? by tepples · · Score: 4, Informative

      Chromium is Google Chrome with the few proprietary components (mostly Adobe Flash Player and video DRM) stripped out.
      Node.js is Chromium's JavaScript engine repurposed as a server-side language.
      Electron, an application framework that Microsoft acquired when it bought GitHub, is a way to build a copy of Chromium hardcoded to one website, possibly bundled with Node.js. This allows a developer to ship a web application that can be installed as a desktop application.

      Electron shares many disadvantages with the web platform. But one significant advantage of Electron is that you're less likely to get "Sorry! This application is not yet available for your platform. Subscribe to our mailing list to be the first to know when the crowdfunding campaign to port this application to your platform begins."

    6. Re:Wha?? by 110010001000 · · Score: 3, Interesting

      Are there actually any "Electron" apps anywhere?

    7. Re:Wha?? by 110010001000 · · Score: 4, Insightful

      So you ship a web browser, and a client, and application logic and call it an "app"? That explains a lot about 2018.

    8. Re:Wha?? by tepples · · Score: 3, Informative

      The two alleged problems that Electron solves are 1. ability to hire from the web application programmer labor pool, and 2. less work needed to ship an application across four desktop/laptop platforms (Windows, macOS, X11/Linux, and Chrome OS).

    9. Re:Wha?? by acroyear · · Score: 3, Interesting

      Electron's issue is that it can't share resources. If you are running 2 electron apps, you're basically running two wholly independent instances of Chrome and node.js, in addition to everything else.

      Chrome's PWA support alleviates that because it runs the PWAs basically like a tab. The bulk of the browser engine exists in a single memory space.

      So given that Microsoft was already starting down the PWA path in Edge + Windows 10 (plus Windows store), it makes me wonder why Electron is even relevant. Proper PWA support makes Electron most irrelevant - a stop-gap transitional measure to show there was an audience for that sort of thing.

      Electron is still useful for apps that have to read-write from the local filesystem (editors), as a way to package relatively simple Node.js apps with a GUI attached, but one must accept the resource hogging that goes with it.

      Things will change again, but often you can't know all the problems a particular architectural approach (like Electron) will have until you do it. Then use that to come up with something better.

      --
      "But remember, most lynch mobs aren't this nice." (H.Simpson)
      -- Joe
    10. Re:Wha?? by 110010001000 · · Score: 4, Informative

      Real greybeards call them "programs", because believe it or not everything that runs on a computer is a "program". I know, hard to believe, but computers still work the same way they did since the 1950's.

    11. Re:Wha?? by Red_Forman · · Score: 3, Insightful

      Apple is no longer hip because since Steve Jobs died there is no one left at the company who can say "NO" to stupid decisions. Why that fucking butterfly keyboard was ever approved and is now in its third revision is beyond belief. Apple did correct their mistakes a few times in the past, such as putting the click wheel back on the fourth-generation iPod shuffle, but since Tim Cook probably uses a butterfly keyboard maybe once a month at best, he's not even aware of how terrible that keyboard is and how prone to failure it can be (even with that stupid condom that will trap the dust under the keys thus making sure it will fail at some point.

    12. Re:Wha?? by ShanghaiBill · · Score: 4, Interesting

      That explains a lot about 2018.

      It says a lot about the human condition. We have a terrible habit of settling on suboptimal solutions.

      It is great to have a single cross-platform standard. But really, JavaScript? We could have done far better than that.

      As nerds, we have collectively failed humanity.

    13. Re:Wha?? by 110010001000 · · Score: 5, Insightful

      I think the nerds have all retired at this point and the industry is being taken over by people who are used to closed systems like tablets, phones, etc. They don't understand the concept of "personal computing".

    14. Re:Wha?? by nine-times · · Score: 5, Informative

      I'll give a simple explanation, as best I understand it:

      In order to make it easier to build applications that work on Windows, Mac, and Linux without completely rebuilding it for each platform, a lot of developers have resorted to basically building web applications, and then making them available in a specialized web browser called "Electron". Electron is basically a stripped down browser that allows the web application to behave more like a native application. So you might care at least a little bit, since it's possible you're already some of these Electron applications and not know it.

      So that's kind of a good thing, that developers can more easily make cross-platform applications. The problem is, if each application is running its own web browser, then you end up installing and running a bunch of web browsers simultaneously. That ends up being a bigger drain on system resources than if they were native apps, or if you just had them all running on the same web browser.

      Microsoft wants to fix that problem, for Windows at least, by working on how all these Electron apps integrate with the operating system's built-in browser, so that they can manage those resources better. There's a big problem with the idea: Electron doesn't integrate with their own built-in browser. Electron uses Google Chrome, and Microsoft can't easily make the apps use their own browser instead. So instead of trying to make these Chrome-based apps use Edge, they're rewriting Edge to be based on Chrome. Once that's done, they can work on getting the electron apps to use their own built-in browser, and then they can work on that browser to improve performance of those apps.

    15. Re:Wha?? by Anonymous Coward · · Score: 3, Interesting

      You should not be knocking on JS. It's a perfectly fine, sophisticated, expressive language

      JS can get things done that all other languages have failed at over multiple-decades of trying. .

      As evidenced by the existence of Electron. The only existing, drop dead simple, way to make cross platform GUI apps.

      Yes, you nerds failed. Younger nerds have succeeded.

    16. Re:Wha?? by _merlin · · Score: 4, Insightful

      Nope, I always notice because I wonder why the app is such a resource hog, then I find out it's one of these Chromium things.

    17. Re:Wha?? by nctritech · · Score: 4, Insightful

      "App" is a short name for "application" and "application" in computer terms is just a synonym for "computer program used directly by the user." GUI interfaces are not required. Text-mode DOS programs were also referred to as "applications." While they are not 100% synonymous (the Linux kernel is not an "application," for example, nor is a system service such as a print spooler or database engine core) they are synonymous when referring to programs that are directly utilized by the computer's user. grep, sed, perl, Word, iMessage, and Firefox are all categorizable as both applications and programs, or just "application programs." The most correct term to exclude non-GUI software would be "desktop application" which implies a graphical "desktop" environment is required, though in the age of smartphones the desktop paradigm is not always part of a GUI anymore.

      tl;dr: all apps are programs, not all programs are apps, GEOS is better than Windows 10

    18. Re:Wha?? by shess · · Score: 4, Interesting

      Electron is an app "platform" that basically involves installing an app-private copy of Chromium, a node.js webserver, and running the application's logic mostly in Javascript between the two.

      To paraphrase Churchill, Electron is the worst architecture for desktop applications, except for all the other ones that have been tried.

      This is bad because it's the developer offloading their problems onto the user. The user can just download the 100M zip file which is a 40-line shell-script wrapper, the user can just easter-egg hunt to figure out the UI, the user can just pull the web platform into their local domain and hope for the best as far as security, etc. Since the app is based on 96 third_party dependencies, the user can also pay the price nine months later when the app stops working because while the OS developers are paying attention to not breaking their exposed APIs too badly, nobody can really maintain that amount of API surface coherently.

      Basically, Electron is Flash.

    19. Re: Wha?? by reanjr · · Score: 3, Interesting

      You can do it that way. But you can also just ship the JS/HTML/CSS in a bundle and rely on the client to already have the required electron libraries installed.

      You know, like every other piece of software in the world. Your feeble attempt to make this somehow new and weird and bad is pathetic.

    20. Re:Wha?? by Megane · · Score: 3, Informative

      Back in OS X 10.4, Apple came out with the Dashboard, which let you create applets that were written in HTML/CSS/JS. Except they didn't require you to bundle an entire fucking web browser and support library into each one. But they did that mostly by making it use the WebKit library to become the web browser, which came from KHTML. Since it's a system-common web browser, only one copy needs to be shared among the entire system. I wrote one once, and I liked the DHTML in a single web page model of programming, but had no time to dedicate to doing more.

      On the other hand, it uses something like the Windows 8 mobile style applets, where you go into a special screen mode to run them, rather than letting them behave like regular apps. This sort of worked okay with its intended use as a new kind of desk accessories, but didn't go all the way to making something that behaved like a fully independent app. If it is possible, I'm not familiar with anything built that way. And of course it would surely be a Mac-only thing, because Apple so often gets a bit ahead of the rest of the world sometimes, comes up with its own way of doing something, then the rest of the world does it differently, orphaning Apple's earlier work.

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    21. Re:Wha?? by smoot123 · · Score: 4, Interesting

      It is great to have a single cross-platform standard. But really, JavaScript? We could have done far better than that.

      As nerds, we have collectively failed humanity.

      s/JavaScript/x86/g

      Thing is, as an app developer, I really don't want to write a separate app for iOS, Android, macOS, Windows, and Linux. We've been trying for years to develop platforms to abstract away the GUI from the platform to solve this problem. I've seen at least a half dozen come and go. They all are great in some ways and all suck in significant other ways.

      You'd think by now we'd have found a good compromise. But we haven't. We're still exploring human-computer interfaces and it seems we still keep finding good but mostly incompatible ways to interact. And about the time we figure out we don't care about fighting GUI wars any more, we'll have to worry about writing cross-platform skills for Siri, Alexa, Cortana, and Google.

    22. Re:Wha?? by smoot123 · · Score: 3, Insightful

      To me "GUI" still spells "child's toy" most of the time.

      That's fine but enjoy your increasingly isolated part of the IT world. The vast majority of users use GUIs. For system level work, CLIs still rule, but that's a tiny fraction of the people.

      Even if you're working on back end systems, there's likely a GUI on the front for non-techies to use the system. It's useful to be at least a little empathetic to how they use it so you don't screw them over.

    23. Re:Wha?? by spongman · · Score: 3, Funny

      Shhh. He likes his rock. Don’t disturb him.

    24. Re:Wha?? by sfcat · · Score: 3, Informative

      I spent many years building cross-platform applications using this new-fangled thing called Java.

      Then, someone decided it would be great to build web applications in Java. Oh, and use XML as the communications protocol between server and clients. Oh, and transfer not just data, but objects over-the-wire. Then Spring came along to make things "simpler". Like hell.

      Node.js, JavaScript (TypeScript if you prefer) and now Electron are all bringing us back to cross-platform nirvana, only this time using the browser/server interface properly, without a bunch of ill-fitting preconceptions carried over from native desktop applications.

      Firstly, cross-platform Java GUI apps never really took off (and I say that as someone who paid his rent in 2002 writing one). The Java as the web server/app took off rather quickly and the Java GUI's always looked terrible. Spring and Hibernate did improve things on the server but they should have shipped a default setup so things like transactions got intercepted and handled properly OOB and that never happened. XML was unnecessary but getting network ops to be happy with 20 custom network protocols probably wasn't a good idea either. But it wasn't that hard to get up and running and the web was still very much a moving target in those days. And those were also the days of IE6 so there was that making life hell.

      However, moving Javascript to the server is the stupidest idea ever to come out of a human's mouth. I've never seen a node.js app that wasn't total shit and I've never seen someone who wrote a node.js app realize how shitty they app was while the ops get paged for the 74th time this week because his app fell over again.

      Electron on the other hand is about client side caching in web apps. This is probably a terrible idea given Google's track record but it does make some mobile interactions easier. And there are better tools for the graphic designers to use to design the GUI when you are doing a web app. But this isn't about the user. This is about saving some hipster JS programmer some actual programming at the expense of your phone's battery life. Sadly this is exactly what Java was supposed to be good at. Unfortunately Java didn't fix its GUI toolkits until far too late (and many say they still haven't). Even C++ has a better GUI builder in Qt than Java has which is pretty sad.

      --
      "Those that start by burning books, will end by burning men."
    25. Re:Wha?? by nine-times · · Score: 5, Informative

      why does Microsoft care enough about the desktop experience to bother doing this?

      Well there are a lot of complicated issues in play. Again, to try to keep it simple:

      Their vendor lock-in on the desktop is not what it once was, and you see them moving increasingly into web applications and services, open source, and cross-platform projects. They're foreseeing that, even if people continue to use their operating systems, they won't be able to rely on vendor lock-in to force people onto the OS.

      They're already knee-deep in this "Electron" stuff. They already have applications on Electron (e.g. Skype, Teams, Visual Studio Code), and I think their "Modern" applications work in a similar way. I would bet that in the coming years, you'll see more and more applications move to being web applications in a wrapper. We may even see them eventually get their Office web applications in this form as a replacement for the existing native apps. That would remove the need for them to duplicate their efforts in making a separate Mac version, and they could even support Linux without extra effort.

      Even if they weren't doing this themselves, you have a bunch of developers doing it, and it's going to continue to be a thing whether Microsoft likes it or not. If they want to stay relevant and keep people on their platform, they need to try to be the best platform to run these kinds of applications on.

      Aside from all that, it really makes more sense at this point for Microsoft to use Chromium instead of continuing to build their own browser engines. They lost the browser wars. For most web developers, Chrome is their target browser. Safari and Chrome, and therefore pretty much all mobile browsers, are based off of the same code base. They can spend a lot of time and money trying to build something that works just like Chrome, or they can just use the existing open source code.

  2. Business as usual by zmooc · · Score: 3, Interesting

    It's inevitable. As the open runtime of the web becomes better and better, it will take over everything else. MSIE, Real video, ActiveX, Flash, they all died because of this unstoppable train. And everything else will die too, including all native apps. Native apps used to have a performance edge, but that pretty much only remains for hard realtime stuff and it's just a matter of time before this web runtime takes that over too. It's a pity we ended up with JavaScript, but it's still a million times better than writing your app twice only to have it run on a fraction of platforms. The last major hurdle we need to take, are the platform specific app stores that still provide their owners with a reason to keep favoring their platform specific solutions over a more open approach, but eventually those will die too. It's inevitable.

    --
    0x or or snor perron?!
  3. HIG violations by DontBeAMoran · · Score: 3, Interesting

    ...users who know HIG violations when they see them...

    You mean like the fucking idiots who don't put the cancel button on the left like they should?

    --
    #DeleteFacebook
  4. What a load of shit by _merlin · · Score: 3, Insightful

    The problem is, the users who really care about good native apps -- users who know HIG violations when they see them, who care about performance, who care about Mac apps being right -- were mostly already on the Mac. A lot of newer Mac users either don't know or don't care about what makes for a good Mac app.

    No, some time around 10.3 Apple forgot what made for a good Mac app. They went for skeuomorphism where it wasn't useful, per-window brushed metal appearance, non-standard UI widgets all over the place, etc. They deprecated actual useful UI features like drawers, and violated their own guidelines left, right and centre. Then they decided they needed to remove "Save As..." at some point, only to bring it back later with different behaviour (making it save at the old location before also saving at the new location).

    Sure I dislike apps that don't feel right. I never liked how Qt applications always felt not-quite-native on OSX, and the same with Firefox where menus don't quite feel right because they aren't native. I dislike the situation Linux inherited from UNIX where every UI toolkit has a different look-and-feel so it varies from app to app. Microsoft is a big mess, too. It's probably best demonstrated with settings, where you have classic control panels that open in their own windows and behave like regular Win32 apps, sort of web-like control panels that open in the "All Control Panels" window and can be navigated with back/forward buttons, MMC snapins inherited from WinNT and things that mimic that approach, and then the flat-look touch-optimised Metro-style settings. Nothing's unified at all.

    The OS vendors/distributors themselves aren't providing coherent, unified UI language, so how do you expect third-party app developers do do so? Everyone's bundling frameworks with apps now since Apple made it the trendy thing to do (just include the frameworks inside the app bundle), Microsoft made it easy (use WinSxS so you can have per-app versions of DLLs), and the Linux distros jumped on the bandwagon (Flatpak? Snap). Electron may be a particularly heavy-weight framework, but it's definitely not the only one that gets bundled with applications. But this has lead to a vicious cycle where apps bundle frameworks to avoid incompatibilities, so the frameworks are emboldened to make incompatible changes on minor releases, necessitating the bundling. It isn't an option to use a system-wide installation of a lot of frameworks, because they don't maintain compatibility.

    Even if MS manages to make a single system-wide instance of Chromium for running Electron apps, it's not going to solve bloat issues with duplication of the JavaScript frameworks used by the apps themselves. You can't use a single instance of them because of incompatibility between versions, and the fact that JavaScript lets you inject members into any object. You'll still have the bloat of loading, JIT-compiling and caching the JavaScript frameworks for every app.

    The trouble is, we've reinvented Java but it's worse in almost every way. We're running JIT-compiled code from untrusted sources on a sprawling runtime with vulnerabilities discovered regularly. But now every app also pulls in a huge pile of dependencies, bloating it further, and greatly increasing the number of third parties you need to trust when you run the code. I don't see how this is any better.

  5. Discord, Slack, Skype, and Visual Studio Code by tepples · · Score: 5, Informative

    Discord (desktop version), Slack (desktop version), Skype (desktop version), and Visual Studio Code are all made with Electron. But the differences between Discord (desktop version) and Discordapp.com are quite minor: the option to let others know what game you are playing at the moment, system-wide push-to-talk in voice channels, and video chat capability.

    1. Re:Discord, Slack, Skype, and Visual Studio Code by jittles · · Score: 4, Interesting

      Oh, huh. That is pretty cool. I am not sure what those are, except for Skype, but sounds very good. I can feel my ironic beard growing.

      What Tepples doesn't point out is that Slack, a simple IRC style chat interface, can easily consume multiple gigabytes of RAM and the more instances you have your slack client connected to, the higher the GB consumption soars. Discord also causes performance problems on my gaming PC when certain things happen. I'm not sure what event is causing it, but it temporarily hangs games while playing some sort of chime over my headset. And that's with a very high end gaming PC.

    2. Re:Discord, Slack, Skype, and Visual Studio Code by ShanghaiBill · · Score: 4, Insightful

      Oh, so it sounds like Java apps again.

      No. This is much worse than Java.

      Java was designed by professionals, like James Gosling, who knew what they were doing. In theory, I was a great solution. It was only when corporations started subverting the ideals and trying to lock in incompatibility that the dream died.

      "JavaScript on the desktop" is completely idiotic, even in theory. It is an absolutely horrible thing to standardize on.

  6. Money by Luthair · · Score: 3, Funny

    People are coming up with all sorts of contorted logic about the switch when there is an easy answer - it costs a lot of money to write and maintain a browser engine. So why not re-use the open source one that has the widest usage at a fraction of the cost.

  7. Apple aside... by Dasher42 · · Score: 5, Insightful

    I'm not an Apple user anymore, but I completely feel that Electron is the software engineering equivalent of flinging poo.

    Let's just look at the minimum requirements to run Atom, an Electron-based text editor with IDE extensions

    Processor - 1.8 GHz or higher Pentium 4 (or equivalent)
    Memory - 2 GB RAM (minimum 1 GB dedicated to Atom, Molecule node, or Cloud Molecule)
    Hard disk - 50 MB for run-time and configuration, 10 GB for data archiving

    Are you freaking kidding me? For a text editor? I don't care how much bling it has, that's inexcusable. All this engineering we've done, all the rare earths we've mined, all the research on battery life has to go down the toilet because we're sending Javascript developers to do a systems programmer's job? My phone's battery has to go to shit for Slack, and my laptop has to overheat and stay on a power cord for Atom?

    That's freaking irresponsible. There's little these apps do that vim and emacs and IRC haven't done for decades for a tiny percentage of these requirements.

    Cross-platform development has been done way better than this already. but the training wheel languages have got to go.

  8. Re:Why not just use IRC by nctritech · · Score: 3, Interesting

    Uh...what part of "-style chat interface" did you not get? They didn't say it was IRC full stop, they said it's a chat interface in a similar style to IRC. Does storage and forwarding of messages and files while you're offline require a full web client and server packaged together as client software? Does voice chat? Does a membership and permissions system require that? None of what you're saying addresses the complaint being made regarding extreme resource usage for relatively simple software.

    Remember that Skype supported chat, voice, and offline messaging even in the mid-2000s. It was built to work even on old Windows 2000 machines and in 2005 when even cheaper new machines were shipping with 512MB standard, it required that the machine have a minimum of 128MB of RAM for Skype plus the entire OS and other running software. Meanwhile, the post you responded to complained about multiple GB of RAM used by Slack a single application that doesn't do very much more than Skype from 2005 did and offers a proprietary system only instead of a universal standard like IRC or XMPP.

  9. Does this explain app-ification? by mpercy · · Score: 4, Insightful

    A number of the website that I have used for a long time seem to recently have taken a HUGE turn for the worse when they unveiled new "app-ified" look and feel and operational flows. These are not widely-used sites, things like the tee-time scheduler at my favorite golf course and the portal site my employers contract with for unified benefits access.

    These sites used to be pretty well done, and even as a professional software developer (albeit one who mostly does radar signal processor development) I had few complaints. But over the last year or so, all these sites trashed their old implementations for new ones that look like they've been slapped together by tweens on crack who's only test platform is an iPhone. It may look fine on a phone to have 20mm by 20mm buttons to touch, but those huge buttons mean nothing to my desktop. Having to run through 15 different "next" screens because you can only fit just so many 20mm x 20mm buttons on a phone screen and still present any meaningful information or functions is NOT an improvement when I've got three 27-inch monitors hooked to my desktop.

    And it's pretty clear none of the developers have actually USED these appy-apps, even on their phones because they just freaking don't work. For example, the legacy golf course website let you setup "buddy lists" so if you were reserving a foursome (or 2), you could just click 3 or 7 buddies from the list and bam you're done. The new appy-app preserved the buddy list, but it takes two clicks to access, and you can select one and only one buddy per access...each time to click a buddy he is added, but you're also dropped immediately back to the top menu and and you have to continue and make those multiple click for each person. If any of them had ever used the app, they'd realize immediately that "hmm, maybe we can allow multiple selections here before dropping back"...but they didn't have any more room for yet another 20mm x 20mm button...

  10. Re:CGNAT, offline, IP exposure, and five platforms by nctritech · · Score: 3, Interesting

    I don't know who those people are, nor do I care who they are or what their opinions are. IRC sucks and always has. An assertion of "inferior" always seems to be missing important parts of the assertion: to whom, for what purposes? Forums and mailing lists are objectively better than any chat application for situations where clearly thought out and sometimes very detailed responses that can be skimmed at the reader's leisure are desirable. I can subscribe to a mailing list or read a forum without a site-specific account; I can't do that with proprietary IRC on steroids clients like Slack and Discord. If I need to discuss in near real-time, chat makes a lot more sense and mailing lists and forums are unnecessarily slow and frustrating.

    Microsoft centralized Skype for data siphoning and control; everything else is a side effect. Skype has also been absolute trash ever since they did so. P2P Skype worked just fine when both people were behind NATs; it's called UDP hole punching and it is quite effective for the type of NAT that is in widespread use in homes and small businesses. I'd hardly call Electron a native application; if anything, it's more of an elaborate emulator.

  11. Yes, but... by SuperKendall · · Score: 3, Funny

    So you ship a web browser, and a client, and application logic and call it an "app"?

    Yes, but it's not as performant as you make it sound...

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley