4 ms·
Ok, so I generally agree with the content of the article. I want to pick on the up front assumption though. He lists 4 costs that are paid - --- The cost of
by horsawlarway 7y ago
Ok, so I generally agree with the content of the article.
I want to pick on the up front assumption though. He lists 4 costs that are paid -
---
The cost of downloading the file on the network
The cost of parsing and compiling the uncompressed file once downloaded
The cost of executing the JavaScript
The memory cost
---
What isn't mentioned is WHO'S paying those costs. And I think that generally matters when you're trying to convince companies with a profit motive that they're doing the wrong thing.
My issue is that of his 4 costs, 3 are all paid by the consumer of the product. The ONLY cost paid by the company is the extra network traffic to download the JS bundle. Even that can be optimized to a VERY small number if you're using good caching and have a cdn in place. The individual consumer might still wait for that network payload, but the company's objective cost is still going down.
So in general, what's the compelling argument that I should care about the rest of the article? None of it is bad advice. It just seems that the only real benefits I might get are two user features
- Faster sites
- Better battery usage
Users like those things, but they don't put them anywhere close to the top of the priority list for most products.
So I'm really walking away from this seeing a savings still. As a developer, I don't really love that opinion (I want to make good products that are fast and and small), but as a company stake-holder with a lot of possibly things to prioritize... This sounds like bad advice.
- nottorp 7y agoSo basically we're getting shit slow apps as users because they're cheap to make. As a user I thank you.
- claytongulick 7y agoWould it be better to not have the app at all? Time to market and dev costs are key considerations for startups. Many don't have the option or funding to do things perfectly.
- nottorp 7y ago90% of the cases... yes, it would be better.
- horsawlarway 7y agoLast I checked no one is making you use something you don't want to. If you think you're better off without a product, don't use it and let the market work itself out. Frankly, I mostly even agree with you. I rarely install more than 5 or so apps on my phone these days, and I visit a pretty paltry number of sites consistently, but that doesn't mean someone, somewhere, isn't getting value from those products. One man's trash is another man's treasure.
- Can_Not 7y ago> Last I checked no one is making you use something you don't want to. I just checked, my boss is making me use slack, and nobody is writing a non-electron competitor to slack...
- inform880 7y agoSounds like someone discovered why unchecked capitalism can be a shit system.
- grumblestumble 7y agoWelcome to capitalism... If what you're building is solving a valuable problem, and you don't build it fast enough, someone else will build it quicker and shittier but still solve the problem. You're getting shit slow apps because you use them when they're delivered to you.
- horsawlarway 7y agoI mean, same reason high fructose corn syrup is in most of the foods we eat...
- thinkloop 7y agoWhen the article mentions costs they mean in terms of performance for the user. Faster sites and better battery have been objectively shown to be material. Users don't know to vocalize it, but they bounce from fat slow sites.
- ferzul 7y agoi think the battery cost of websites and even apps is fairly well invisible to users. there's certainly facilities which say how much battery some app has used, but if it's a frequently used app it's a tautology. users don't care because they can't. the can pick battery life when they buy their phone (at the expense of important features), but they cannot optimise at any time thereafter. most people who would care are rational and since they can't they don't therefore, it is browser and os developers who need to act to stop these costs being externalised. show current battery consumption rate for this app/page in the status bar. then, people will start complaining about dirty webpages
- forgotmypw23 7y agoif your js is small, you can avoid two of the costs by inlining it.
- biryani_chicken 7y agoAnd download it every time? It is better to download it once and tell the browser to cache it.
- horsawlarway 7y agoIf it's inlined into another static resource, why not just cache that? HTML with an inlined script is just as valid a cache object as the plain script itself.
- peterburkimsher 7y ago"WHO's paying the cost" - it's not even always the end user. On Wednesday night, Anna (9 years old) said that Epic Books wasn't displaying properly (Chrome v49, WinXP). She wouldn't even have a computer if it weren't office trash a few months ago, and I brought it home to give to her. Now she depends on it for homeschooling during the lockdown. Epic Books tech support insist that they will not provide support for old browsers. Anna has homework to do. Should the school district provide laptops? Someone has to make a decision about what hardware is needed for thousands of students. Why does the school district need to spend $100k on brand new iPads? Because Epic Books want to use the latest JS framework.
- austincheney 7y agoWhat you are describing is an ethics problem common to software. Developers are putting their self interest before the product arguing its necessary because otherwise it would take too long, be too challenging, or too expensive. Those could be valid arguments, but they are entirely unqualified, and without supporting data remain invalid and self serving to the developer.
- horsawlarway 7y agoI can't honestly take this opinion seriously. The problem is that - as currently structured - your ideology demands that another party enter into an exchange or agreement that they don't believe is beneficial to them. I don't actually give a flying fuck whether the "developer" you've outlined in your post is right or wrong with their opinion. They have the right to make and sell the product they believe will benefit them the most. Could they be wrong? SURE! And if they're wrong often enough or long enough they usually go out of business (usually... some caveats here around monopolies/markets/regulation/etc). So I'm not really sure why you see an ethics problem. If it truly is self-serving and invalid reasoning, why not put your money where your mouth is and do it better? Basically - Step up or shut up.
- austincheney 7y ago> They have the right to make and sell the product they believe will benefit them the most. If you honestly believed that you would advocate for more qualified data oriented decisions about your software to ensure the decisions at present aren’t wasteful and inefficient. And that’s what makes software unique: ethics aren’t of value in this line of work. Developers frequently make unqualified decisions for their own self interests in conflict to their employers profit motive and in conflict to their user’s experience. If ethics were important you would serve as an advocate for your product as qualified with evidence. Consider the difference if your medical doctor acted primarily in their own self interest for profit instead of primarily in the interest of your health. Consider how that same reasoning can extend to software developers who produce poorly tested medical equipment. Yet somehow this reasoning seems to have offended you. I am unclear as to some ideology that you speak of.