3 ms·
Does it matter if the market is manipulated by propaganda? You, the laborer, can either make a native app or a web app, and you know one option is more likely t
by nexuist 6y ago
Does it matter if the market is manipulated by propaganda? You, the laborer, can either make a native app or a web app, and you know one option is more likely to net a return than the other. Why would you risk making a native app in this market? What farmer plants seeds in the winter?
> and if you've ever used one and an equivalent native app
Of course, I've built an Electron app and a native app as well. And, of course, the native app ran faster. But the electron app took 3 weeks to build and the native app took nearly a year. Both apps are now defunct, but if I had to pick one to keep supporting it would most definitely be the Electron one because that had the preferable simplicity in codebase and toolchain.
I will add that Notion is so incredibly slow to load that it convinced me to pursue native options only, but my non-technical girlfriend and her friends use it every day for planning and have no complaints about it. Would a native version be faster? Duh, but would the Notion team have been able to get their work out to the world this quick if they had pursed native over web? Highly unlikely.
Now you'd say, well Notion's lead is just temporary until a native app matches the feature set and loads instantly. And indeed, Notion would lose out until the next wave of features come and suddenly the native app is struggling to support 3 different OSs while the Notion app continues to innovate at the cost of speed. Developer velocity is a critical metric that we, as developers, seem to discount heavily for some reason, probably because we all suck at estimating the time things take us.
I went through this same cat and mouse game with Sublime Text and VSCode. Sublime was great, but VSC kept getting better and better, with performance improvements along the way, to the point where it didn't make sense to use Sublime Text anymore. I should add that, as a web developer, making VSCode plugins (which is just JS + HTML + CSS) seems like a far more approachable task than doing anything substantial with Sublime's plugin framework. That isn't just important to me, that also means other plugin developers can jump in head first to improve the ecosystem.
> efficiency
Efficiency in what? RAM usage? CPU cycles? If I'm using an application for work I'm going to be using it on a machine with the specs to match the workload. Nobody can seriously claim to be doing professional work on a computer with 2GB of RAM in 2021. So who is this inefficient for? Maybe it sucks for personal computing, if you can't afford to buy a better computer, but that's not the market these applications are targeting; obviously you want to target professionals if you want them to buy into your monthly subscriptions.
One of the biggest Electron apps, Discord, is actually in a very clever position due to its target market of gamers, as those are the people who are most likely to have top-end PCs with high end graphics cards. Rendering Chrome and its three billion helper processes is a probably a breeze on those monsters, but even on my middle ground MBP, it doesn't have any noticeable impact on my workflow. Whatever inefficiency it has is more than justified by the value I gain from using it. And that's really the trade: it may be inefficient, but it has features, which is much better than an efficient native program that doesn't have the features my friends are using.
- paulryanrogers 6y ago> Nobody can seriously claim to be doing professional work on a computer with 2GB of RAM in 2021. So who is this inefficient for? Maybe it sucks for personal computing, if you can't afford to buy a better computer, but that's not the market these applications are targeting; I used to prefer using an old, used laptop like that for development because it helped force me to optimize. That paid off when I built an edtech project that had to run on old machines in a poor district. Non-US markets too benefit from less memory hungry apps. All that said I agree that the developer experience is slower and more painful. So VMs can help simulate more restricted or very different platforms on more modern hardware.
- nexuist 6y ago> had to run on old machines in a poor district Your problem space is much different than most people starting out, because you already know what hardware your software is running on, and could probably physically go there to test it out in person. In that case, a web or native app makes sense because you have already identified your market and it is not likely to change, nor are you likely to issue frequent updates. This is opposed to someone like Notion who does not know who their customers are or where they are coming from; they essentially offer a free service to anyone who can make it to their website. A bored user might click off the page and never encounter it again, while the district you worked for probably had a contract and bidding process that solidified the entire process ("we are going to budget money for this" vs "oh this looks cool, I might try it"). > Non-US markets too benefit from less memory hungry apps. Agreed. I send my grandparents in Eastern Europe a laptop every few years, and their current one is from 2014. They probably don't have as much RAM or CPU power as me. However, it's been quite a few years since 8GB became the standard, and I think you need a really inefficient web app to start seeing the machine struggling there. Most of the time when we complain about slow web pages, it's really because of all the ads, not the app itself. If you shoved that much adware garbage into a native app, it would use just as much memory and be just as slow. > VMs can help simulate more restricted or very different platforms Definitely! In Chrome and Firefox's devtools, you can also simulate a 3G or GPRS cell connection, in order to measure page load times and see what you could do to optimize them.
- 6y ago