4 ms·
It's still surprising to me that, (as reasonable people) we continue to try to make PWAs happen at the expense of re-inventing decades of OS evolution just to r
by isodev 3y ago
It's still surprising to me that, (as reasonable people) we continue to try to make PWAs happen at the expense of re-inventing decades of OS evolution just to replicate it into a browser.
- shawnz 3y agoThis seems like a sunk cost fallacy to me. The web has evolved for decades, too, so why is it so wrong to allow it to compete as an application platform with the established desktop operating systems of the past?
- Dalewyn 3y agoBecause it's not an operating system (for now). We are essentially bolting on more and more management of hardware onto a userland application residing inside an operating system. At what point is it better to just get rid of the operating system and run the browser directly on the hardware?
- shawnz 3y agoWhat's wrong with slowly building up the hardware management features of the web? Why is that worse than releasing them in one big bang like traditional operating systems have done? And why worry about the nomenclature to begin with? The web is already serving the use cases of an operating system for many people today whether we like it or not. So maybe it's our terminology that should change to reflect reality, rather than the other way around?
- jameshart 3y agoBecause the web solves software distribution, installation and, critically, uninstallation. When was the last time you had to uninstall Hacker News? App Stores also solve these problems, but with the problems of gatekeeping and platform openness.
- bandergirl 3y agoI think you’re talking about JavaScript apps vs native apps, not specifically PWA vs native. I make that difference because electron apps are still JavaScript but not PWA, and I suppose you’re talking about the lack of good UI components in the browser.
- simonw 3y agoAre you saying we should build native apps instead?
- Yodel0914 3y agoThe main reason, of course, is that the broswer is essentially an OS, which happens to run pretty much anywhere most people care about.
- PaulDavisThe1st 3y agoIt is not an OS. It is a platform, a platform like a more universal version of Qt or GTK or whatnot. And portable platfoms are still cool. They're just not OS'es.
- brigadier132 3y agoWhat I find insane is that we have multiple teams writing the same exact logic in slightly different frameworks to support different native platforms. Talk about wasted human potential.
- judah 3y agoIt's reasonable because users typically run more than one OS: - phone - home desktop/laptop device - tablet - workstation These are not powered by a single OS, yet users want apps that run on all their devices. That's a big reason why we continue to invest in the web. There are economic reasons as well: many developer shops can't afford to have multiple, OS-specific versions of their apps. Why build a Windows, Mac, iOS, and Android version of your app, when a single web version will run everywhere?
- treyd 3y agoExcept you can write all your important business logic in cross platform languages as a core library and significantly reduce the effort to port it to different platforms. This is especially true for foss projects where you can rely on domain experts to port yo platforms you don't personally use. Look at the success of libtorrent.
- PaulDavisThe1st 3y agoBuilding a mobile and desktop version of your app will be challenging unless it's a very simple application or unless you accept that they likely will share very, very little code or design. The form factors and UI models are so different. Even doing this with the web is extremely challenging, again unless the application is relatively simple. Creative apps in particular do not "port" between these two contexts very well at all, whether you use the web or not. Yes, such things exist, but it is very debatable whether the desktop users of e.g. Figma have much use for the same thing in a mobile browser.
- isodev 3y agoBut then the web is a workaround for technical challenges and instead of refining the platforms we have to achieve these needs, we’re… rebuilding it all from scratch in the browser. The worst part is that the web isn’t immune to the same issues, they just present slightly differently. We still have gatekeeping, web app/extension stores, unbalanced browser market where one vendor is doing whatever they want, DRM, browser services overriding the user’s experience etc. Also, making cheap “app” that sort of opens on any platform is not the same as making an app that’s truly adapted to a specific form factor or OS.
- twelfthnight 3y agoPowerful people stand to lose a lot if developers could just distribute their software directly to users without intermediate browsers/app stores. You might say that this is technically possible right now, but those people do _everything_ they can to make it easier/cheaper to busy folks to use their software instead of just installing directly.
- ahmedfromtunis 3y agoThe same thing can be said about native apps, too: "Powerful people stand to lose a lot if developers can make their software run directly os users' machines without intermediate OSes." Are we supposed to build everything as single-purpose operating systems now?
- ahmedfromtunis 3y agoI believe that the web (and PWA) is the future, so I made the choice early on to never learn to build native apps. This was a hard choice to stand by back in the 2010s when everything and everyone seems to have an app... And the gap was undoubtedly huge in terms of functionality. Today this is no longer the case. We can now use native web APIs and technologies to build feature rich apps that are accessible to anyone with a browser and an internet connection.
- DANmode 3y agoAlways go to where the puck is headed - if you won't starve in the meanwhile!
- Dalewyn 3y agoMaybe you missed the memo, but everything old is new again: * We are slowly but definitely moving towards a hub-and-spoke, mainframe-and-terminal topology again. Processing is being centralized in servers and datacenters again (eg: "AI", game streaming, video and audio streaming, cloud storage, etc.), accessed from terminals again with low power consumption hardware to extend battery life, reduce manufacturing costs, and reduce consumer power use. * Powerful consumer (and prosumer/enthusiast) hardware is becoming economically unviable again (discrete GPUs particularly), politically unfavorable (inefficient and high power consumption), and socially unfashionable (RGB and "gamer" aesthetic), further spurring the mainframe-and-terminal topology above. * Traditionally powerful and versatile consumer (and prosumer/enthusiast) software is becoming commercially unviable and software vendors are realigning their revenue streams to adapt and survive in an increasingly cutthroat market, further spurring the mainframe-and-terminal topology above. If you're into computing as a hobby, it might be prudent to find a new hobby soon.
- Aerbil313 3y agoThanks for your insight. I’ll sit and think on this.
- pleoxy 3y agoYou can adopt a centralized system. And it's fashionable to do so. Lots of people here and other places advocate doing everything you can on the server. But it's not required. Additionally, there are plenty of good incentives not to, including cost. Client CPUs are fast, free to use, and don't require a high latency network hop. Local ram, disk, and network transfer are also available in abundance. You can totally reverse the architecture where the client is doing the heavy lifting and provide the user a good experience. Intel CPUs are inefficient when pegged, but more efficient at idle. On AMD your using the same cores the cloud is. Without the massive IO attached on the server side the client CPUs are more efficient for a unit of work. Apple is more efficient than the PC side presently, and Qualcomm is entering the fray and appears to be quite efficient. So I'm really not certain where you're efficiency claim about client hardware comes from. All that hardware is just sitting there and sales vary, but they are not cratering for high performance local compute. You have a point about GPUs, but only a very few very specialized applications need those.
- hiccuphippo 3y agoI have mixed feelings about it. I like the idea of apps that are fully sandboxed and that I can inspect and modify parts of it easily (stylus & greasemonkey). On the other hand I like native apps that don't compromise on speed. Hopefully the desktop wasm runtimes that have been showing up lately will be the solution.