18 ms·
The web is swallowing the desktop whole (2017)
- mohanmcgeek 5y agoElectron apps are still desktop apps. The web however did eat the desktop: everything other the browser and the text editor is now a web app. I have literally 4 apps that I use on my machine: terminal and postman in addition to the above. I am wondering why mobile apps too haven't entirely been replaced by Web apps
- AussieWog93 5y ago>I am wondering why mobile apps too haven't entirely been replaced by Web apps Harder to track people and feed them ads.
- xfer 5y agoNo it isn't, even the govt apps in my country have ads in them. With firefox i can easily block them, for apps this becomes much harder, if dns blocking isn't sufficient.
- AussieWog93 5y agoYep, that's exactly what I was saying!
- scns 5y agoWhat The Flying spaghetti monster?
- Razengan 5y ago> Harder to track people and feed them ads. In native apps, you mean?
- AussieWog93 5y agoIt's not about whether they're native code or using a cross-platform API, but the fact that they're not web pages running in a browser. This allows them to "phone home" even when they're just running in the background, push notifications and bypass certain types of Adblocking (such as uBlock in Firefox). There is a good reason why so many websites push you to use the apps on mobile.
- scns 5y agoOn Android you can block every app with relatively fine grained control via TrackerControl [0]. Sometimes a little fiddly but worth it IMHO. You can download directly from the site, use the official client or use the much snappier Foxy Droid [1] that lacks features but i still recommend it. [0] https://f-droid.org/de/packages/net.kollnig.missioncontrol.fdroid/ https://f-droid.org/de/packages/net.kollnig.missioncontrol.f... [1] https://f-droid.org/de/packages/nya.kitsunyan.foxydroid/ https://f-droid.org/de/packages/nya.kitsunyan.foxydroid/
- AnthonyMouse 5y ago> Harder to track people and feed them ads. This is it. And it's really the app stores that make them so. On desktop, people are wary about installing programs, because they can pretty much do anything. So you can get people to visit your website who would never in a million years install your app on their PC. With app stores, people assume that apps are safe, because that's what they were promised. But then the apps are hoovering up all their personal information, even more than they get from a web page on a desktop. And the app stores that claim to be constraining bad behavior don't kick them out for it because huge social networks are some of the few companies with enough market power to divert their users to another phone platform.
- pantulis 5y agoI dont think parent was refering to web as in "web sites you can open in Safari", but apps built with web technologies, as in Ionic or similar.
- blub 5y agoYour comment can be interpreted in two opposite ways, but it seems you meant that native apps allow the better tracking and ad delivery. While mobile apps are quite awful from this perspective, you must consider that the web is by far the most efficient platform for ad delivery and tracking. It's the web which has cookie pop-ups with dozens and dozens of companies that want to track you. It's the web which led to the development of ad blockers. It's the web where an app developer has full access to your data on their servers. It's the web where an app developer can at any time flip a switch and turn on telemetry, ads, etc.
- linguae 5y agoTwo words: app stores. While this is less of a concern for Google (the Android supports alternative app stores, and Google would love it if we all used Chrome), switching to mobile apps will deprive Apple of a significant source of revenue derived from the App Store. Thus, it is in Apple's best interest for developers to continue writing iPhone/iPad apps and Apple receiving a chunk for each sale than for developers to write Web apps and Apple not receiving a cut.
- TeMPOraL 5y agoYup. This bears repeating. Desktop got conquered by web tech because OS vendors had no moat around third-party software. Smartphone OSes managed to create app stores before web technologies got to the point of competing with native, so mobile OS vendors have both leverage and strong business incentive to keep apps native to their platform.
- irrational 5y ago>I am wondering why mobile apps too haven't entirely been replaced by Web apps Apple has made it so that every browser on their mobile devices is basically really Safari under the hood. And they have purposefully crippled Safari to push developers to the lucrative app store. Nothing is going to change until this changes, either through consumer behavior or through legislation.
- Razengan 5y agoWeb apps purposefully cripple mobile performance, battery life and accessibility. Nothing is going to change until this changes.
- smackeyacky 5y agoNot to mention device level access like Bluetooth integration, making phone calls, using the camera etc. Mobile apps are hard to do as web apps if they are anything more complex than a front end for some web system.
- toastal 5y agoYes. We had to do native because there are no Push Notifications on Safari mobile. I understand people hating the permission pop-ups on marketing-saturated blogs and other places that don't need it, but that's the whole purpose of a web app is to be more app-like and less static-website-like.
- 5e92cb50239222b 5y ago>I am wondering why mobile apps too haven't entirely been replaced by Web apps One reason is we don't have unlimited energy sources on mobile devices. I am yet to see a non-trivial "web app" that can run fast without drawing kilowatts from the outlet.
- esalman 5y agoI use VScode for code and text editing (mostly Latex etc.) which is also Electron. Also, I don't really use mobile apps for most social media which have working mobile web pages.
- speedgoose 5y agoYou don't have a lot web apps on mobile because the mobile web browsers provide a worse experience compared to native applications, unlike Electron or Chrome on Desktop that provides a much better experience in general (unless you have a 10 years old hardware with very little ram or are into old school GUI I know). The companies making web browsers and mobile operating systems are the same companies making native applications stores and requesting 30% of the revenue, so they don't have any good reason to make web applications better. They are not non profit.
- vmladenov 5y agoElectron’s user experience is atrocious even on recent hardware. It falls right into the uncanny valley of superficially appearing native and while not behaving natively.
- gobookdev 5y agoVS Code is my fav piece of software of all time, it's an Electron app
- jamil7 5y agoAgreed it’s an excellent editor however it has a lot of engineering resources behind it and still suffers from sluggish performance, especially on startup.
- speedgoose 5y agoIt starts quickly on my laptops. What kind of hardware do you use ?
- jamil7 5y agoBoth an Intel and an M1 mac, it's especially noticeable on the newer machine as native apps open instantly, even Xcode, which is a pig seems to open quicker. Like I said it's a great editor and I use it when I need to do some Python or JS work (remote/ssh development functionality is especially nice) but I don't think it's immune from the resource argument against electron.
- PaulDavisThe1st 5y ago> everything other the browser and the text editor is now a web app video editing, DAWs, music notation, CAD/CAM, 3D modelling (think Blender), compilers, linkers, IDE's other than VSCode, local photo management, media players, messaging services (telegram etc), device management ... these and many more called and laughed at your claim.
- tephra 5y agoIIRC you can use fusion 360 in the browser now? WhatsApp is of course available on the web. I'm a regular user of play.spotify.com, works great. Figma is a great design tool available only on the web. I do get your point, but there are more and more things moving to the web as more and more standards are being published (if you think this is a good idea is another discussion). Modern html and CSS is by far the least complex GUI framework I've used. And it is (somewhat) cross platform.
- bsenftner 5y agoWow, if modern html and CSS is the least complex GUI framework you've used, you need some exposure. That combo is uber-complex, and the tool sets are college degrees all by themselves. It is a flat out joke how the developers of today have added complexity everywhere they could.
- CodeArtisan 5y agoAn electron app is not necessary SaaS but it is still a hidden web browser running an application built on web technologies (Essentially HTML5 which is html+css+javascript).
- mlang23 5y agoMost web apps are an accessibility disaster compared to their native counterparts. I guess that is not the main blocking factor, but not being native has subtle disadvantages all over the place. I remember there was actually a time where web apps were a trend, but most vendors stopped doing that since they just couldn't provide a really smooth user experience.
- lewisjoe 5y ago> I am wondering why mobile apps too haven't entirely been replaced by Web apps Simple equation. Efficiency of a mobile device is directly proportional to the efficiency of the runtime the apps are running on. For example Objective-C / swift has a GC-less memory model which just means we get to do more with less memory. This is how iPhone typically ship with lesser RAM than Android phones, yet do everything that Android phones are capable of surprisingly well. Desktops/Laptops have no need to worry about extreme memory efficiency. They are always/usually connected to a power outlet. But mobile platforms on the other hand need extreme memory efficiency to get by with battery power. If you do the math, the abstractions that the web provides comes with a huge cost. A virtual rendering engine, a programming runtime that is notorious for bad memory management and all this on top of a huge VM called the browser. It doesn't scale.
- EvilEy3 5y ago> For example Objective-C / swift has a GC-less memory model which just means we get to do more with less memory. This is how iPhone typically ship with lesser RAM than Android phones, yet do everything that Android phones are capable of surprisingly well. You forgot CPU that's light-years ahead of anything that Qualcomm or Samsung have. But, please, keep thinking that it is about Swift/Objective-C, lol.
- nineteen999 5y ago> everything other the browser and the text editor is now a web app. The media creation community is looks at the web programming community and wondering what the hell you are talking about, and why your view is so narrow. Blender, ZBrush, Unreal Engine, Visual Studio, ProTools, Reaper, Substance Suite etc. etc. the list goes on and on. These kind of applications often have extremely heavy system requirements and are often extremely sensitive to latency, and are just not going up and "migrate to the cloud" anytime soon. Embedded programming is another example. A lot of developers work in this space. > I have literally 4 apps that I use on my machine: terminal and postman in addition to the above. Your personal requirements, as lightweight and easily offloadable as they are, do not represent the wider community. I am constantly astounded by how blinkered the web community appears to be about this.
- evilos 5y agoVisual effects artists and embedded programmers are very niche communities (former embedded SW engineer here). Probably something like 90% of people just need a browser 90% of the time. It's kind of a no brainer from a business point of view. If your app can be browser based and still functional, it should be. Of course there are drawbacks but the economics are in the browser's favor.
- nineteen999 5y ago> If your app can be browser based and still functional, it should be. We can choose to disagree on this point, however... >> everything other the browser and the text editor is now a web app It is a long way from the parent's comment (above) to "if your app can be browser based and still functional, it should be". Maybe it should, maybe it shouldn't, but that doesn't contradict my point that the parent is incorrect in that "everything other the browser and the text editor is now a web app". You're arguing a different thing. There are plenty of apps, as I described above, that don't have functional web-based equivalents, and probably will not for a very long time to come. There are enough niche industries with such requirements that combined, they will act as a counterweight to the push for everything to run as a web app for quite some time.
- 5y ago
- deleted 5y ago[deleted]
- Semaphor 5y agoMusic player, video player, password manager, messenger, IDEs, Nextcloud Sync, phrase replacer, search, file explorer, 7-zip, backups, REPL, budgeting, office suite, texteditor and terminal. And those are just the non-electron, non-web-frontend apps I regularly use, and still excludes games.
- WA 5y ago> I am wondering why mobile apps too haven't entirely been replaced by Web apps There are many Cordova/Capacitor-based web apps in a Webview shell with access to native APIs.
- lenkite 5y ago> I am wondering why mobile apps too haven't entirely been replaced by Web apps Isn't this obvious - the web is deliberately crippled on mobile platforms like iOS.
- hyperhopper 5y ago... "And nobody noticed"??? Gsuite, office365, etc, offer this as a _feature_. People have noticed. Even as far as election goes, tons of people complain about the higher ram usage, bloat, etc. Sure, non technical users may not know why, but technical users do, and almost everybody notices a difference in some form or another.
- MattGaiser 5y agoI’m not sure that is the point of the article. Gsuite and Office 365 run in the browser, so people know that those are web apps. How many people would know that Slack and Spotify are basically just web apps too?
- TeMPOraL 5y agoFor people well acquainted with computers, it's obvious in every little UI interaction. Web views feel different to native toolkits. For everyone else, all doubt is removed when the app presents you a 501 or 404 error.
- deleted 5y ago[deleted]
- hexa22 5y agoPeople complain 50x more when there is no mac or Linux version. There is no realistic solution that suits everyone.
- hresvelgr 5y agoWeb still has by far the best developer experience + cross platform stability, not to mention the lowest barrier to entry. I would be really interested to see what happens with Tauri[1] as that looks like a more promising alternative to Electron. I do want to see a return to native apps but there are no worthwhile incentives to do so outside of "our customers demanded a native app." [1] https://tauri.studio/en/ https://tauri.studio/en/
- smackeyacky 5y agoIt doesn't help that for the major consumer platform (Windows), Microsoft can't make their mind up about how to replace Win32 or WinForms. It seems like every other week there is some new framework announced, so even if you have a need to make a native app, choosing how to do it has become near impossible. Is it .NET Maui? Should I try Electronize? or take a huge punt on Avalonia? It's easier just to wrap up a web app and hand it over. Sure, that is kicking the can down the road a bit, but until Microsoft can manage to provide something other than vague, half finished plans we're all in limbo.
- jeswin 5y agoThat train left long back; nobody wants a Windows-only app when half the management are using Macs. Unless of course you're taking about pro apps like AutoCad or Photoshop; but they have never been electron and unlikely to ever be.
- creshal 5y agoWe have plenty of Windows-only customers. We're still giving them wrapped web apps when they ask for desktop applications. Because even if the customer is all-Windows, developers sure aren't (unless you're a C#-exclusive sweatshop, maybe?), and stuff like Bootstrap+jQuery is more stable than Windows GUI toolkits these days. Lower development costs and lower ongoing maintenance costs, win-win.
- selfhoster11 5y ago
- bsenftner 5y agoEven for 2017, this is extremely late thinking. Back in '10 it was clear the consumer desktop was dying a rapid death. Now professional and business software are going the same way, and it is no wonder because nobody respects desktop development anymore. The advent of tools like Cosmopolatan libc are looking too late and too "hard" for new developers to catch on, so far...
- d3nj4l 5y agoRe: cosmopolitan libc: As cool as it is, I don't think the barrier to widespread adoption of C as a greenfield language for application development was ever that things didn't run cross-platform, it was, you know, the footguns and complexity of building anything significant in C.
- PaulDavisThe1st 5y agoI don't know how old you are, but at 57 and having been "computing" for 35 years, I'd say that this is wrong, on two levels. 1. C has been the green field language for application for decades. 2. The major obstacle is precisely cross-platform development; without a fairly thick layer to abstract away the OS API/platform, it's very difficult. In addition to those two, there's the detail that lots of development projects want in-browser capabilities, and that essentially rules out compiled languages (ignoring the developing options for webasm, even though they still do not take it as far as native C/C++).
- dannyw 5y agoI'm a developer in my mid 20s with a few friends who are software engineers. None of them worked with C for years. The jobs here are JavaScript, Java, Python, etc.
- jcelerier 5y agoDepends on where you live I guess ? When I was in Bordeaux there were almost as many c/c++ jobs than java/php/js jobs, and more than Python jobs.
- mastrsushi 5y agoThere’s nothing wrong with the industry wanting to switch to layout engines for desktop applications. The problem is that this type of runtime environment is still fairly new. Desktop OS’s should have HTML/JS runtime built into the application layer, maybe even deeper. It’s such a dominant user functionality these days. Instead we get a bunch of headless chrome instances. There needs to be an engine that maybe isn’t as performant as Electron, but is much smaller in memory and can handle these apps like Discord.
- vbezhenar 5y agoChrome is not memory-hungry. Webapps are.
- mastrsushi 5y agoI didn’t think of it that way, It’s probably a tug war
- TeMPOraL 5y agoChrome has stellar engineering work done on it. It'd bet it's in the top 10 of the most optimized pieces of software ever. It's because of this work that modern web applications are even possible. The consequence - perhaps unintended - is that the web application practices all settled around extremely wasteful but "fast enough" patterns. It takes extra work and going against the grain to make web applications performant, and rarely anyone bothers.
- imbnwa 5y agoIn my experience what you're describing is true. JIRA Scrum is abused by businesses to implicitly blackmail teams into delivering ASAP, that means shortcuts and dependencies to "get shit done". All else is secondary. Tech debt? Put it in the backlog. "Good enough" is king. Every fault attributed to "stupid web devs" is just a projection to mask the true anxiety that the market has deemed expert, artisanal engineering irrelevant to profit and success. A comment above was lauding a fork of an open source electron app for implementing a C++ backend: good luck convincing a business to do that. Microsoft probably does this for VS Code precisely because their demographic are people who profess sensitivity to these types of details, but the broader population is not.
- ChrisArchitect 5y ago2017? Anything new since then on this you think?
- jillesvangurp 5y agoYes, WASM is happening and slowly creeping into the web. The web five years ago was basically dom trees and javascript. Flash had been marginalized by then. HTML 5 + javascript was basically the only way to do web applications. Now we have web applications like Figma that are part written in C++ that have elements in their UI that are rendered in a canvas. Another one is Miro. The next big leap here is WASM progressing to the point where e.g. garbage collection work is finished, which will enable a whole range of languages to easily target WASM as well (without having to bring their own GC). For example, Jetbrains announced a few months ago that they are working on a WASM compiler for Kotlin that will rely on this. MS has been targeting WASM as well with blazor. This will likely take another few years to mature. Other trends are reactive frameworks like jetpack compose and swift UI slowly creeping into the mobile space. Jetbrains is actually working on web and desktop variants of compose. So cross platform UI development might become a lot easier. I expect that there will be multiple reactive frameworks for different languages available for use with wasm in browsers in a few years. Right now, it's mostly C/C++ and frameworks like QT and GTK being used for that. More choice might change a few things.
- MisterBastahrd 5y agoThe Linux desktop finally succeeded even though nobody is running Linux on their desktops. Hooray indirect wins!
- soniman 5y agoHow so?
- degurechaff 5y agobecause those web apps run on linux webserver
- pjerem 5y agoBecause now you can have the same (web)apps than everybody else. (And you have games, too)
- asperous 5y ago40 million Chromebooks will be shipped in 2021!
- junon 5y agoThis comment saddens me.
- TeMPOraL 5y agoWhen I see Chromebooks being mentioned, I always think about "One Tablet Per Child" charity from Person of Interest show. (Slight spoiler for season 4) Giving every child in the country a free tablet with Internet access, loaded with quality educational software sounds like a great good, but is it so good if it also comes loaded with surveillance equipment and is controlled by a malicious AI attempting to control human society? (Chromebooks aren't free and Google isn't an evil general AI, but it is a multinational adtech corporation, which is as close as you can get to amoral GAI in the real world today.)
- preommr 5y agoEveryone noticed. What was less obvious was that electron would grow this big and still be this bad. How is the memory usage still so inefficient?
- crazy_horse 5y agoDid you see that the top post on HN for a decent chunk of yesterday was celebrating that they were getting 200 rps? 200 rps was not something to brag about to your parents 15 years ago, but half of HN seems to have never heard of serving a static file through Nginx. I don't want to be overdramatic but it confused the hell out of me and it made me worry about the industry. How can you have all these people cargo-culting into frameworks and languages and they don't know the fundamentals?
- laumars 5y agoFrameworks are there to make development more accessible. So I can completely understand how one might trade on a framework without understanding the fundamentals.
- 1vuio0pswjnm7 5y agoWhats Nginx. Is that AWS. (Kidding) As has been the case since the emergence of MicroSoft, companies in software/internet rely on general ignorance of users/developers for their business plans to succeed. Making people smarter and more self-reliant, running their own software for themselves, is not part of the plan. Making them reliant on someone else is the plan. Desktop has too much potential for user control. Web is safely under the control of a handful of gatekeeper companies. Earlier HN submission today was promotion of a book by Microsoft Chief Legal Officer about how people are not competent to run their own software and should therefore let companies like MS run it for them in the cloud. Foreward written by Chief Marketing Officer, Microsoft. (Kidding again)
- azangru 5y ago> Whats Nginx. Is that AWS. Nah, it's Kubernetes
- rowanG077 5y agoHonestly I can't fathom the same company that made vs code which is really snappy for an electron app made Teams. It's almost like the best electron app vs the worst electron app.
- GreenWatermelon 5y agoProbably different teams and a cast difference in developer experience. MS likely didn't care that much about teams.
- rowanG077 5y agoThat doesn't show from how they use Teams. It's literally integrated into Windows 11.
- whywhywhywhy 5y ago> MS likely didn't care that much about teams. If you’ve ever had to work with MS recently it’s honestly all they talk about so I don’t think that’s the case. Think it’s more a case the VS Code team are probably passionate VS Code users so care about what they’re building.
- SPBS 5y agoWhy would anyone use Hyper? It's not like there aren't better terminal emulators out there for each platform. Using Electron to emulate a terminal is plain insanity to me, you are trading off performance and system resources for the js hype.
- crazy_horse 5y agoIt feels like some point within the last few years tech became a place where you are identified by the tools you choose (ok, vim and emacs have been around). Not just that, but you sell your project based on those tools. So you can have that revolt app that showed up yesterday that for some ungodly reason disabled text selection on their website (user hostile as fuck) but it was getting advertised because it was Rust. The top selling point was theming via Electron. They have to sell the project before it's actually ready. Blog posts like this are very thinly disguised advertisements for people like this guy who tweet all day about what tools they use. Which, he's successful, and more people are aware about this stuff than before. It used to be bad form to quote yourself, but tweet yourself? That's content. I blame a big part of it on YC and the VC ethos of big big big instead of better better better.
- capableweb 5y agoSame reason Rust people use a package manager made in Rust, JS people use a package manager made in JS and Java people use a package manager made in Java, because it's close to the context you're already in and if you need to extend/modify/remove something for your own use/for the community, you already know how to do it. I myself would never use Hyper, but I can see why people would. If there was a comfortable terminal in/for/with Clojure, I'd at least try it.
- hdjjhhvvhga 5y agoIt is exactly the failure of Microsoft and Apple to propose any meaningful cross-platform API. Both are fighting to increase vendor lock-in - it is in their best interests that apps written on Windows don't work on macOS/iOS and the other way round. Linux/OS folks themselves are unable to solve this problem on their own and it becomes a mouse-and-cat game. The popularity of web apps helped to reduce the problem, but it still exists. Electron is only half a measure because the technology used is inefficient resource-wise and a platform optimized for the desktop would do the job better. If someone cared enough, they would allocate the necessary resources to minimize this problem (I don't believe solving it is effectively possible because of the complexity and bloat of current web technologies).
- spaetzleesser 5y agoMicrosoft has destroyed the Windows desktop singlehandedly on their own. Since Win8 and “Metro” they moved away from having consistent UI widgets like it was in Windows 2000 or XP but instead made the Windows desktop a Wild West if different UI paradigms. Even the ribbon introduced a new UI paradigm that wasn’t available to third party devs. If even MS themselves doesn’t bother to be consistent then developers certainly won’t. I am a long time Windows desktop dev but all my new projects are either web or Electron. I am done with the mess in Windows.
- hdjjhhvvhga 5y agoI'm in the same boat. I was asked recently to develop a small custom app for a library that would need to be maintained for decades. This left me scratching my head as to which GUI technology to choose to minimize the danger of it being broken/unsupported after 10 years. Paradoxically, I think Win32 might be the safest choice as MS can't really innovate (=break) too much here anymore (although I might underappreciate their skills in this regard).
- tazjin 5y agoEmacs Lisp would probably rank even higher.
- pantulis 5y agoWhile I tend to agree that Electron is going to be more and more relevant, I'd like to counter-argument that native apps these days are accompanied by powerful vendor services. For example, if you target the Apple ecosystem you get CloudKit and can deploy syncing between devices very easily and translating operational infrastructure costs to the user. Need crypto? You have CryptoKit, and so on. What this means: any app will try to expand to become multiplatform and multidevice but if that's the business case you are bound to be challenged by niche players that can execute better and with less cost for a single platform. I think both models can coexist, but niche players will always be niche players.
- the_duke 5y agoYou can always extend Electron apps with platform-native capabilities. Things like Neon [1], a wrapper for writing node bindings in Rust, make this particularly convenient. You can then use Rust to call into platform native APIs. It's more work, but you can still benefit from cross platform UI development and augment it with native code where appropriate. [1] https://github.com/neon-bindings/neon https://github.com/neon-bindings/neon
- AnIdiotOnTheNet 5y agoSo now you get all the bloat of a bundled web browser and the completely-non-native GUI of a website plus the all the security of a native application?
- admax88qqq 5y agoIf desktops could make a platform where I can write my app in one language, host it on my own server and get global distribution running in a sandboxed environment then I'd consider it. The web distribution model is just so much nicer for users and devs. No app stores, no install/uninstall process, no access to system internals. I can deploy an app today and just send a link to my friends for them to use it. It takes a day just to put together an app store submission with all the necessary screenshots and configuration, not to mention the lengthy review process which could then deny me permission to launch. The difficulty and uncertainty means that many MVPs launch web first where there's less risk, and more reach, for the same amount of effort. Only after a successful web launch are native apps developed. Sure there are exceptions if the app requires features not yet available on the web (persistence, actually good multithreading, low level access) but the feature gap is closing slowly.
- AnIdiotOnTheNet 5y ago> If desktops could make a platform where I can write my app in one language, host it on my own server and get global distribution running in a sandboxed environment then I'd consider it. It was called Java and ironically people hated it because it was sluggish and didn't use native widgets. Now we have webapps which reinvent the GUI on almost every site and have built in 100ms+ latencies. Go figure. > The web distribution model is just so much nicer for users and devs. No app stores, no install/uninstall process, no access to system internals. No ability to use it at all in an area with shitty network, no consistency, no integration, no respect for OS themes, no ability to continue using old versions if something is wrong with the new one... > I can deploy an app today and just send a link to my friends for them to use it. It takes a day just to put together an app store submission with all the necessary screenshots and configuration, not to mention the lengthy review process which could then deny me permission to launch. On Windows you could put your binary and libraries in a zip file and distribute to users in any variety of ways, including via web hosting. Macs could do the same thing with Application Bundles or their single-file applications before that.
- anhanhanh 5y ago> On Windows you could put your binary and libraries in a zip file and distribute to users in any variety of ways, including via web hosting. Would you really do that though? Or would you run a random exe from a random zip hosted from a random website?
- blub 5y agoThe technological change is following the changes in the nature of software development. Perhaps the most important one is the wide-spread contamination with the poisonous mix of VC money with the start-up "move fast and break things" mentality. Notice how the arguments pro Electron always include speed of development, speed of deployment, etc. (dev-focused) and the counter-arguments include performance, usability, etc. (user-focused). Using Electron is mainly beneficial for the developers - they don't need to have so much experience, there's plenty of JS developers available, they don't need to try hard. Another one is the voracity for control and captive user bases. Nowhere does it become more clear that one has no say in the direction a piece of software is going than when using a web app. Today when you load the app the menu's on top, tomorrow it's hidden on the left, next week you're part of an A/B test and so on. Enjoy the ride and consider yourself lucky if you can at least export your data. On the native side, both Apple and Google have tried hard (and succeeded) to reduce the value of software to about 1 EUR. This has led to bogus subscription models and an extreme proliferation of ads and tracking. Microsoft have gone crazy years ago and made a complete mess of their desktop offering - one wouldn't know what to develop in even if they wanted to build a native application. And most Windows apps have such mediocre looks, that an Electron app may even be an upgrade. :-) Finally, the thing that bothers me the most - way too many developers are working on building an online public image, an attractive GitHub profile (and it has to be GitHub), a following. We're in the era of performative software development. The peacocking and the drama reserved for the silliest of the artistic domains are now firmly entrenched in the online world of software development. What the front-end development community lacks in experience and common sense more than makes up for in numbers and willingness to quarrel. Here's something funny in closing: the Nylas Mail project mentioned in the article has been meanwhile abandoned. But apparently one of the orignal authors created a fork called Mailspring. Directly quoted from the first paragraph of the GitHub README: "It replaces the JavaScript sync code in Nylas Mail with a new C++ sync engine based on Mailcore2. It uses roughly half the RAM and CPU of Nylas Mail and idles with almost zero "CPU Wakes", which translates to great battery life. It also has an entirely revamped composer and other great new features." There's an elegance and beauty to the raw power of a program running natively on the CPU that a bumbling hippo like Electron can never dream of. Commercial software development always had a survival of the fittest aspect to it, but now we're stuck in a local optimum where mediocre but easier to develop solutions are able to evolve fast enough and make enough money or draw enough of a community to survive and thrive - at least until the VC money runs out or the devs get tired of the clumsiness of the hippo.
- barrenko 5y agoDesktop is coming back.
- AnIdiotOnTheNet 5y agoI wish it were true, but I don't think it is. Personal computing as a mainstream concept is dead. The modern developer no longer seeks to enable users to leverage the power of computing, they seek to corral users and farm their eyeballs for ad revenue. The future is appliances that will only ever be used when and how the developer wants them to be used, because the modern developer has no respect for users. Nothing will interoperate, nothing will respect user choices, nothing will be free of ads, everything will suffer latencies due to the network, nobody will be able to store their data locally under their own control. This is the future we've built for ourselves, and we don't even have the decency to be ashamed of it.
- torginus 5y agoThis is a bit of an aside - but can anyone explain why Electron apps use so much memory/system resources? Is this a fundamental thing or accidental thing and could be remedied rather easily? I wonder why there hasn't been significant effort directed toward this, as this is the number 1 issue of desktop applications today. I have a few guesses/questions: - What kind of data is causing the GBs of memory usage? Is it JS objects, cached content, intermediate rendering data? - Chrome is architected as a multi-process app, in order to isolate and share resources between websites. Since Electron runs as a single app, it doesn't need this overhead, how hard would it be to turn it off? -Would it gain us a lot if we removed v8/minimized JS on the 'frontend' and just pushed all the html from the 'backend'? -Is using node as the backend the cause of excess resource usage, would using something else be better?
- remus 5y agoAs I understand it, the chrome team have tended towards using more memory as a way of improving performance (i.e. trading space for time), with the feeling being that most systems have quite a lot of memory (relatively speaking) so why not use it. This isn't a one off thing so would be challenging to change. It's more a case of many small decisions about increasing memory usage that in aggregate add up.
- swiley 5y agoTk and gtk2 apps were performant and used way less memory so that doesn’t seem like it should be necessary.
- _fat_santa 5y agoI might be wrong here so someone correct me but I believe it's because every time you open a new electron app, you are opening another instance of Chrome. So if you have Chrome, VSCode and Figma running, that's 3 instances of Chrome each eating their respective 2-3GB of memory and associated CPU cycles.
- torginus 5y ago
- matheusmoreira 5y agoMobile is also eating the desktop whole. As much as I love personal computers I can't deny the fact that my phone became my main computer due to how convenient it is. I should probably look into Linux phones before the corporations turn my phone into an appliance.
- Fire-Dragon-DoL 5y agoDoes it? Any form of productivity app seems to be nerfed on mobile...
- ivanhoe 5y agoThe last desktop app I wrote was in Delphi 5, so I guess it was around 20 years ago. Back then my impression was that it's already a done deal, desktop is no more - so I'm a bit surprised that someone waited until 2017 to write this text? Actually last few years I think desktop is having a bit of a come back with a plethora of cross-platform tools like electron becoming more usable and popular...
- bumbada 5y agoDon't drink the Kool Aid. We have been doing multiplatform development for a long time. It is in our company's interest not to depend on a single provider(like Apple, MS or Google) for anything. It is also in those single provider interests to make you depend on them as much as they can, because every company wants to become a monopoly. If you can not change provider overnight, they have a virtual monopoly over you. E.g MS spent literarily billions in order to make game developers to develop exclusively for Windows using technologies like DirectX and when people started using graphic cards for everything, like CAD, CAE, crypto, Microsoft(and Nvidia as her partner) benefited immensely from their virtual monopoly. Technologies like objective C, C sharp, Azure or swift are designed so you can not escape the company platform. So easy to get in, so hard to move your code to other platforms once you have been programming for years on them. Unless you spend as many Billions as Microsoft or Apple or Google has spent in alternative platforms, those alternative platforms will have significant caveats. What we do is compromise, like with so many things in engineering. We use Linux, we use web technologies, but we also create native programs in Macs and Windows and tablets(Including Android NDK) because there is no way around it. You must use native for things that must be efficient and are extremely demanding, or some times it is just way easier. Most of our code, like 90-98% is portable libraries that we could use in every platform, but that 2% to 10% must be done native. One of the great things of our approach is that we are not opinionated. We generate automatically code for different platforms, or different OS and we could just compare without prejudices. If tomorrow the Web backbend were as good as native we would shift our focus on that platform. But it is not today, very far from it. If the only thing that you do is using programs like text editors that were available in the 90s, then sure, you can use electron for everything, spending gigabytes of memory for opening a single file. But if you don't you are better served if you remember that it is going to be a constant fight. The price of freedom is eternal vigilance. Companies are never going to stop trying to lock you in, and you should never stop wanting more freedom.
- sciprojguy 5y ago"Technologies like objective C, C sharp, Azure or swift are designed so you can not escape the company platform. So easy to get in, so hard to move your code to other platforms once you have been programming for years on them." FYI, Swift is available on Linux and Windows along with a significant chunk of its core libraries (e.g. https://github.com/apple/swift-corelibs-foundation https://github.com/apple/swift-corelibs-foundation) and app frameworks such as Vapor (used for writing web apps and APIs).
- tgsovlerkhgsel 5y agoThis is absolutely great, because it allows cross platform usage, often without the developers doing anything at all. For example, it meant that I was able to join a Microsoft Teams meeting from my phone, without installing any apps (I prefer to rely on my browser's sandbox to protect me from abusive behavior apps like to engage in). They do refuse to work in Firefox and you need to switch Chrome to desktop mode, but it works. Not perfectly, but well enough. It also means that teams with limited resources can reuse a lot of code across platforms, making cross-platform development much more likely to happen.
- refactor_master 5y agoAre there any solid statistics on what “users” demand? This keeps being thrown around: “users want, demand and need native desktop applications”. Who are these users? Under what circumstances do they “want” such things?
- ByteWelder 5y agoI want native apps because I want a native experience: Keyboard shortcuts and UX patterns should be consistent throughout most applications. I'm fine with some exceptions (e.g. video editing, photo editing, etc.), but generally I want consistency. I want native apps because my bought RAM and CPU cycles are precious resources: they shouldn't be treated like a "free for all" by lazy devs. Not every native dev uses these sparingly, but in my professional experience, web devs often don't even consider it being a factor during development. I want web apps to run in my web browser, so I can apply privacy-enabling plugins to them like uBlock. I also don't want web apps implementing dark patterns to get me into their hybrid app. (e.g. MS Teams forcing me to reconsider every time I open the website)
- ryandrake 5y agoThank you! I prefer native applications for the same reasons. Whenever we hear advocacy of web apps, it’s always from devs about dev problems. “I don’t have to learn more than one language!” and “Distribution is easier!” and “no AppStore rules!” and “It’s easier to monetize + no sharing revenue with the store vendor!” and “I don’t have to worry about supporting multiple versions floating around!” These are all developer problems, not user’s problems. I think we are shifting to more web based software simply because users really don’t have much pull—they take whatever junk is available.
- BackBlast 5y agoDev problems can also reasonably be construed to mean extra cost/schedule to produce the item. Customers also care about cost and availability.
- BackBlast 5y ago
- anoncow 5y agoThis also represents that Windows and Mac OS are no longer the only operating systems. Chrome and Firefox are closely equivalent. And Chrome is the leader with its dominance on Android and Desktop systems. iOS is the only threat left and if any of the anti-trust measures against Apple are able to break Apple’s grip on the iOS enough to let Chrome or an equivalent browser act as an OS equivalent to what Chrome could do on Android, we could see a very different app ecosystem in the next decade.
- swiley 5y agoThe crap dev environments for iOS and Android are the real reasons people gave up on native.
- jiggawatts 5y agoWhat a lot of people don't appreciate is that a GUI platform is a essentially a marketplace like eBay. There are "sellers" and "buyers". The sellers are the developers. The buyers are the users. Real money is often involved in the transaction. Where do sellers go? Where there are the most buyers! Where do buyers go? Where there are the most sellers! Hence, marketplaces with no physical constraints are natural monopolies. This includes auction houses (eBay) and GUI platforms. Previously, Windows had an over 90% market share, and it was glorious as a developer. You write your code once, and it works "everywhere", because everywhere is just Windows. The 9% Mac users are out of luck, and nobody cared about the mish-mash of 1% other. Now the web is the new 90%. Or more specifically, Chromium is, with over 80% and climbing. What saddens me is that Microsoft threw what they had away, and continue to do so. I've never seen a company more keen to undermine their own market position.
- AnIdiotOnTheNet 5y agoMicrosoft's big money probably isn't Windows anymore, but Azure. Given that they make so much more money off their cloud offerings, I suspect that they actively want to kill off personal computing entirely. If so, they're doing a good job with recent Windows releases.
- tonyedgecombe 5y agoYes, this chart tells you everything: https://static.seekingalpha.com/uploads/2019/7/31/49654246-1564624521821581_origin.png https://static.seekingalpha.com/uploads/2019/7/31/49654246-1...
- Devasta 5y agoWith the move to subscription services like Office 365, and the startling number of incompetents that think VDI terminals are acceptable workstations for users, I could definitely see Windows desktop disappearing in the next decade or so, the OS merely being a bootloader for a browser. Everything will be either a Chromebook or EdgeBook, basically.
- 5y ago
- mikewarot 5y agoAll of the replies here seem to agree that the desktop market was shattered because it wasn't in any one parties interest to be cross platform, even Linux has multiple GUIs. All of the solutions that are web based are resource hogs. Mobile users are going to be stuck using "apps", and thus shouldn't be considered as part of general purpose computing. All of this tells me there is a market opportunity for a capability based OS to sweep in and offer a desktop environment that allows running old programs, and even operating systems, in a sandbox. It has to be at least as good as Win32/Windows 2000/NT in terms of UI, and run on any modern CPU.
- paulryanrogers 5y agoThe sandboxes would have to be both secure and transparent enough normal users can get their work done. Hardware support would also be a huge factor. I doubt it's possible by anyone less than a FAANG company, and there isn't much money in the prospect, IMO. Still, it could be marvelous.
- mikewarot 5y agoIt's possible, and for 15 years I've been saying it'll be here in 20... so 5 more to go.
- teleforce 5y agoI have been using desktop applications for more than 30 years and web for more than 20 years now. I loathe web based applications as the next guy but can appreciate the convenient it provides. As anything in life, it comes like a cycle and and after web it will probably be desktop again with a twist. Most likely a desktop with local-first software paradigm [1]. That will not happen until the two important issues are solved, firstly seamless distributed data replication and security. The first issue can probably be solved by Commutative Replicated Data Type (CRDT) and/or Operational Transformation (OT) but not merely for editors but also for more general applications [2]. The second security issue could be solved by enabling working seamlessly for offline and online, and it will probably adhere to the zero trust architecture [3]. Personally I'm working on trying to solve on this issue now, and the Global Area Networking (GAN) initiatives for examples ZeroTier and Tailscale are going in the right direction. [1] https://martin.kleppmann.com/papers/local-first.pdf https://martin.kleppmann.com/papers/local-first.pdf [2] https://arxiv.org/abs/1810.02137 https://arxiv.org/abs/1810.02137 [3] https://csrc.nist.gov/publications/detail/sp/800-207/final https://csrc.nist.gov/publications/detail/sp/800-207/final
- siproprio 5y agoHow is it going for the Nylas Email Client? Does it still exist? Also very importantly: Are users paying premium for the Nylas Electron Qwality, or is it cheaper to just use Office 365/AWS/Google?
- siproprio 5y agoIn the telecom business, low latency is viewed as a competitive advantage! Bonus points if your competitor pays their employee's in US Dollars! Means we can make a BETTER product, for cheaper! [1]: https://www2.deloitte.com/us/en/insights/industry/telecommunications/5g-adoption-study.html https://www2.deloitte.com/us/en/insights/industry/telecommun...
- mrkramer 5y ago"The web is swallowing the desktop whole" You mean computer applications which require internet connection.
- sally1620 5y agoThis is really a win for Google, since most of these web apps are easily ported to ChromeOS. and it is going to continue as ChromeOS is gaining even more market share.