Hacker Newsnew | past | comments | ask | show | jobs | submit | crazygringo's commentslogin

> there is a tremendous amount of attempts by bots, and specifically AI agents, to inject slop into HN threads

Is there? I enable showdead and don't see it. There are the occasional spam and vulgar comments, but not that much.

Any "AI slop" being posted seems to come from actual HN'ers who think they're being helpful, and is often downvoted. But there's not much.

So I'm not sure this is a problem that currently needs any new solutions? I don't see AI bots taking over the discourse at all. Not even a little.


This is a sweeping generalization based on a single "test" of three lines that is in no way representative.

Source code to what?

This is making them controllable.

The headline may be inaccurate, but I'm not clear on what source code you'd even want. To the firmware do you mean?

A documented API seems like the most useful option here.


The title of the article is misleading. The API documentation is indeed useful but I wouldn't call publishing the API documentation open source.

The soundtouch web api which is what was "open sourced" was already an existing thing for a long time. You just had to access it from the bose developer portal I think. I don't think anything actually happened here. I'm so surprised that HN is excited about this story because nothing seems to have been released.

There are several things they could open source: the firmware, the server, the app.

I assumed they meant the firmware, and was quite surprised they would do that...


> Switch to stores with stronger privacy policies: Trader Joe’s, Whole Foods, and Food Bazaar have not announced biometric scanning.

Just because they haven't announced it doesn't mean they're not using it.

Honestly, I would just assume every grocery store has security cameras doing facial recognition to cross-reference and catch repeat shoplifters.

All those security cameras are there for a reason.


If they're collecting biometric data without posting a sign they are breaking the law, that requirement to post a sign is why this story about Wegmans is public at all, Wegmans posted signs as required.

If they are, and aren't posting signs, that would be a story in itself. Of course it could still be happening, it sounds like the law is fairly toothless, but it did get Wegmans to post the sign, so probably not useless.

https://gothamist.com/news/nyc-wegmans-is-storing-biometric-...


I havent been seeing any stores prosecute theft in a long time.

How many stores did you see prosecute theft before that "long time" ?

  Each year, there are over a million arrests for shoplifting in the United States (Federal Bureau of Investigation, 2019),
~ from Examining Court Processing of Shoplifting Before and After the Passage of Mississippi House Bill 585 https://ccjls.scholasticahq.com/article/9910.pdf

See also Myth vs. Reality: Trends in Retail Theft (2024) https://www.brennancenter.org/our-work/research-reports/myth...


They arrest, but then don't prosecute. It's been catch and release for a while.

To be fair to OP I didn't see people come in and blatantly steal items and walk out as if there were no consequiences.

In NYC before Covid, I never saw it. After, many many times.


A major point of facial recognition is to generate those consequences.

You don't have to try to physically stop them the moment they walk out, when there isn't time to call the police and you don't want a cashier getting physically involved and there's no security officer at the moment.

You have the evidence, and can call the cops the next time they enter the store.


> Switch to stores with stronger privacy policies: Trader Joe’s, Whole Foods, and Food Bazaar have not announced biometric scanning.

Local member owned food co-ops would be a good alternative if there's one near you.

They don't have to be fancy and expensive. My local co-op strives to offer affordable options on most staples and bulk foods, and frequently undercuts the chains (including Wegmans) on produce, especially local produce when they can source it.

Do they have 20 types of chips and 300 cereals? No, but I can shop in a 20-30 minutes instead of the hour minimum Wegmans demands.


It recently dawned on me the cognitive simplicity of selecting a smaller store like the co-op. At our local one, the employees are really nice and selections really easy. I have not yet moved over, but I can see a lot of advantages.

At least Trader Joe's does not have surveillance cameras (at all). https://dan.bulwinkle.net/blog/trader-joes-does-not-have-sur...

They don't... except when they do:

> "We trust our customers and do not conduct surveillance on them. When necessary, we take appropriate action, including having security cameras and security guards in our stores, to help ensure the safety of our customers and Crew Members," the company said.

https://abc7.com/post/trader-joes-targeted-in-7-socal-armed-...


That was in 2018 and it seems in 2024 they still do not have cameras. New locations I've seen do not either. I wouldn't be surprised if they weighed the cost of installing and maintaining cameras and the cost of "a string of robberies" and determined cameras were more expensive.

> Honestly, I would just assume every grocery store has security cameras doing facial recognition to cross-reference and catch repeat shoplifters.

This is their purpose, they're used to build cases over time, instead of single instances of petty theft, until shoplifters can be charged with felonies when the cumulative amount that they stole reaches felony levels.

I know of at least one chain that uses them to flag certain people to loss prevention or security when they enter the store, either because of shoplifting or because they were trespassed in the past.


If only this was the only use and the data wasn't sold/used against people not committing crimes.

Yup, that was their initial pitch, now the data is further abused for profit.

The data shouldn't exist in the first place, and neither should surveilled society.


I don't think people grasp how much control over how they are viewed by the business/government world they lost/have. Also, dynamic pricing is a pleasant sounding name for price gouging.

Was that in the article?

It's a misuse of the data collected

>This is their purpose, they're used to build cases over time, instead of single instances of petty theft, until shoplifters can be charged with felonies when the cumulative amount that they stole reaches felony levels.

I've heard the idea of combining multiple misdemeanor thefts to make a felony. Which doesn't make a whole lot of sense to me.

Wouldn't that require an ongoing criminal conspiracy/enterprise to "combine" such disparate acts into a single, chargeable crime?

Some state laws do "upgrade" crimes, both misdemeanor --> felony and felony --> more serious felony based on prior convictions, but not (AFAIK) with multiple separate acts whose aggregate value is greater than the cutoff between petty theft and grand theft.

What's more, it's the local prosecutor who decides what charges to bring against someone accused of shoplifting, not the "Loss Prevention" team at a store or its corporate parent.

The idea just seems unlike how local/state laws and justice systems work in the US.

I could be (and likely am) wrong about this, but I've been unable to find state laws[0] which specify that multiple, separate acts of shoplifting can be combined into a single grand theft felony.

Would you share which states have such laws? It would be much appreciated!

[0] https://www.criminaldefenselawyer.com/crime-penalties/federa... [1]

[1] See the bottom of the page for links to most US state laws.


There's aggregation laws that allow shoplifting incidents to be added up to a total charge.

Also, consider someone stealing small amounts over a year from a single store, a chain of stores or a group of stores with the same owners. The victims in these cases are the same entity.

That said, the trend in my area is for business owners to share data about accused shoplifters, help law enforcement with investigations, etc. I would not be surprised if they're all using a platform to do this these days.

See also:

- https://legalclarity.org/do-stores-build-cases-on-shoplifter...

- https://www.cnbc.com/2023/08/11/organized-retail-crime-nine-...

- https://www.gov.ca.gov/2024/12/30/new-in-2025-cracking-down-...

- https://www.davisfirmllc.com/blog/the-retail-theft-aggregati...

- https://www.nysenate.gov/newsroom/press-releases/2024/monica...


Thanks!

It makes a whole lot of sense, otherwise there is a loophole for unlimited stealing as Police/DAs do not want to waste time on misdemeanor theft.

Also, you don't want to criminalize the person who stole one small thing vs serial shoplifter.


>It makes a whole lot of sense, otherwise there is a loophole for unlimited stealing as Police/DAs do not want to waste time on misdemeanor theft.

Actually, this was already addressed (n.b., aggregation laws only exist in nine states, see GP's link here[1]) in most places by an increase in the severity of the crime charged for folks being convicted multiple times. cf. Alabama's law[0] as an example:

   Enhanced Penalties for Theft Convictions in Alabama

   Alabama law increases the penalties for habitual (repeat) felony offenders. 
   The length of the enhanced penalty depends on the number of past convictions 
   and the felony offense level for the current offense.

   Second felony. For a second felony conviction, the sentence is raised one 
   level—for instance, a class B felony increases to a class A felony. This 
   penalty increase applies only to current offenses classified as class A, B, 
   or C felonies.

   Third felony. A person with two prior felony offenses faces the following 
   minimum prison terms: 10 years for a class C felony, 15 years for a class B 
   felony, and 99 years for a class A felony.

   Fourth felony. A fourth felony offense results in minimum prison terms of 15 
   years for a class C felony, 20 years for a class B felony, and life for a 
   class A felony.

   Class D felony with prior convictions. When the current offense is a class D 
   felony and the person has two or more class A or B felony convictions or 
   three or more felonies in general, the penalty increases to a Class C felony.

   (Ala. Code § 13A-5-9 (2024).)

Whatever information a "Loss Prevention" team has might be useful to a DA, but unless there's authentication and verified chain of custody of such evidence, the ability to fake such "video surveillance" makes such "evidence" not worth a damn.

[0] https://www.criminaldefenselawyer.com/resources/criminal-def...

[1] https://www.cnbc.com/2023/08/11/organized-retail-crime-nine-...


Trade Joe's maybe I could see but how did Whole Foods make this list?

> I would just assume every grocery store

Every large chain does.

> All those security cameras are there for a reason.

To show you that they can afford them. As if cameras are a reasonable way to stop shoplifting in the first place.


> As if cameras are a reasonable way to stop shoplifting in the first place.

How are they not?

They're pretty essentially both for catching a lot of shoplifting in the first place, as well as providing evidence in court.


Exactly. Its only useful after the fact. I he shoplifting has already occurred. Cameras do not stop shoplifts. It creates a record after the fact.

They serve as a deterrent for "honest" thieves. Knowing you are being recorded prevents many crimes.

Not all crimes. But many crimes.


Whole Foods by me has a palm scanner, and the Amazon Fresh store does biometrics too (at least it used to?

The Whole Foods palm scanner is optional, though. I've never seen anyone use it.

You could always go to a Walmart and look up to see if they bothered to even wire the cameras or if the plug was literally dangling from the cameras over the entire store.

Happened at the expansion at the one I worked at and the shoplifters went ham for a while after they figured that out


Unfortunatelly this is incorrect. Do not be fooled by the decoys. They do it to customers, employees, and contractors.

Walmart was sued [0] for exactly what Wegmans just started in 2022,

Walmart is sued [1] by delivery drivers,

and, so on.

[0] https://topclassactions.com/lawsuit-settlements/privacy/bipa...

[1] https://news.bloomberglaw.com/privacy-and-data-security/walm...

[2] https://caseguard.com/articles/retail-corporation-walmart-fa...


Seems like it’s changed in the decades. I watched the same guy steal 100s of dollars of shit over a few months.

The store I worked at was also a shitshow that barely operated so maybe I was just in their local minimum.


Walmart is deep in surveillance tech. The store I worked at now has TV screens near the cash registers showing off their tracking (live camera feed with those tracking boxes or whatever drawn around people.) Once when I was using self check out, it thought I was trying to steal something and replayed video of the scan where it thought I scanned one time and bagged multiple.

> it thought I was trying to steal something and replayed video of the scan where it thought I scanned one time and bagged multiple.

Kroger had this too, which made every shopping trip take dramatically longer because the employees would already take 5-10 minutes to come over when they didn't have to reset every self-checkout every other item.

I refuse to shop anywhere that has them. We already have to deal with the constant "Please place item in the bagging area. Unexpected item in the bagging area.", why do we need extra aggravation when it's only going to slightly slow down a very specific class of shoplifter?


They could also be hanging obvious decoys to lure the criminal-prone to action that the real, better hidden, ones capture

I would prefer they require face scanning vs. locking everything up. The police in my city don’t arrest people for shoplifting, or a range of petty crimes for that matter. If you don’t like face scanning no one makes you shop there.

When crime is unpunished and the police won’t do anything and the politicians don’t care, then businesses either have to adapt with new models or close


Police in my city are quite happy to lock people up for shoplifting. Random stores still lock up the majority of their inventory. I’m not sure how much that’s correlated.

Arresting literally anyone except the repeat offenders that make the media would be a good start. It’s a joke right now

Kind of a strange stance from someone with the name "monero-xmr". If scanning everyone's face for the purpose of going after petty crimes is justified, why shouldn't it be illegal to use monero for the purpose of going after other crimes?

Your [popular on HN] anti-crypto crusade doesn't make this a logical comparison.

XMR is not illegal to use or own, shoplifting is.


Something being illegal is not a blank check for unchecked surveillance.

These stores should just convert to a 19th century retail model and not allow customers to enter the stockroom.

You may also see stores revert to the 20th century model of having the mafia serve as private security. One reason they were so successful in some areas is that they were less corrupt and more responsive than the police.

The bad thing about mafia enforcement is you don’t get civil rights. Oh, and if the mob boss wants a favor then you’re going to have to oblige, even if it puts you at risk.

If police and DAs don’t take their jobs seriously, this is what they are inviting back into society.


That model also makes online shopping and delivery services easier to implement. I guess the issue is how labor intensive it is though. Instead of replacing cashiers with self checkout stands it goes in the opposite direction.

So Costco?

No, Costco is pretty much just a normal store with warehouse vibes. They mean where you hand a shopping list to an employee at the front and they get everything for you.

See that’s exactly the type of thing I want to avoid. I would like to get back to a normal world where stealing is wrong and police arrest thieves

Or they could continue taking a small % of loss, remain wildly profitable and not abuse people.

Make the rest of us pay 7% more so thieves can loot businesses and avoid getting a real job? How about no

This is a false either/or.

It has been proven and reproven that these claims of crime requiring store shutdowns were improperly put forward, without research, by a lobby. So much so that it was covered in mainstream media.

December 2023: https://www.latimes.com/business/story/2023-12-14/column-ret...


Your argument - esp the 'blue cities' bit given that the majority of metro(polis) cities in the US could be called blue (minus Miami, Houston, Dallas)- feels slanted.

OP your post was "if you dont like face scanning don't shop there" because shops need face scanning to stop crime.

However your next comment was that cops don't help. Here's the thing. They have a pretty terrible track record of help in any city including red ones. Have you called after having a fender bender on the highway in any state? Near a city, the answer is "no public property or third party damaged? exchange info yourself". Despite this they have been well-funded in the last few election cycles and this does not depend on the party elected.

How about when an iphone gets stolen, or all the people using airtags to track their luggage? The private sector also does a so/so to shit job of helping you. Apple will let you find your phone, but its up to you to go get it, or wipe and restart.

Tracking and storing all of my info and my face does not make the cops more effective at their jobs or prioritize this shop owner you know. Tracking and storing my info and face, doesn't help the shop keeper.

It does however, seem that all this tracking of my info results in my information getting leaked time and time and again. Meaning that I've gone for a shop and somehow the probability of something being stolen from me goes up


I’m friends with the manager of my neighborhood convenience store and he is extremely angry that he has shoplifting caught on tape, trespassed people, begged and pleaded with the police but they won’t do anything. I’m not sure if you actually know anyone operating a retail store but it’s pretty grim in the blue cities

The police rarely have ever been super responsive on shoplifting and basic trespass. I worked at a big box electronics store in the 90s, and we got looted when management did stupid shit like put hard drives on a retail shelf to save labor. The police rarely cared with some specific exception.

These cases are both minor and hard to prosecute.

The difference isn’t enforcement, it’s demand. The retail model as it stands today wasn’t designed for a world where there is a global market for everything. 95% people are honest, and most dishonest people are disorganized and easy to deter.

If you were to raid a drug store in 1986, your ability to unload stolen toothpaste and hair spray was pretty limited - maybe some mafias had a network of bodegas or independent stores.

Today, you have a major corporation that prides itself at having the “world‘s largest selection”. It’s also the worlds largest fence — Amazon.


You really need to figure out how to get the police to do their job.

The symptoms you're describing don't seem to match the proposed treatment.

Police: "You've caught them red-handed on camera, but we're very busy and we don't care. Or perhaps this is a place where we're deliberately doing-nothing as a revenge or pressure-tactic against local politicians."

Shopkeeper: "Ah, but this time I have the camera-footage and fancy biometrics of everyone in the store!"

Police: "Oh, well why didn't you say so? That completely changes things, we're always willing to help out a fellow biometrics fan."


You forgot the local DA that run on a political stance to NOT be tough on crime. Police will not arrest if the DA won't prosecute.

> Police will not arrest if the DA won't prosecute.

Why not? If the police are frustrated that the DAs aren’t doing their job, I don’t think it helps the police any to choose to also not do their job. Especially since DAs are often elected, which means it’s easier to replace them if the police can show that they (the DA) are the bottleneck. But if the police don’t do their job first, then the police are the bottleneck.


That is great and I agree with you, but not how things work on the streets, at least in NYC.

> but not how things work on the streets, at least in NYC

Then how do things work on the streets in NYC?


Depends on the judges. If police cannot prove the crime in front of the judge, they wasted their time. With proper evidence it's not a waste of time anymore.

So the reason is that they are afraid of bringing case with witnesses and video footage to a judge because it might be too flimsy?

Progressive prosecutors don’t care. Judges let repeat offenders out with a wrist slap. Demoralizes police - what’s the point of all the effort if they are back out on the street tomorrow?

Sounds like you have a narrative that you are going to believe no matter what.

My narrative is living here forever and seeing everything go to shit

...Do you, perhaps, detect some sort of a difference between your neighborhood convenience store, and Wal-Mart?

Perhaps some differences in level of power?

Perhaps some differences in the degree to which police are willing to bend over backward for them, vs blowing them off?


Repeat shoplifters? Please that’s a thinly veiled excuse, the actual reason is so they can build more accurate analytical models to screw you over more.

I don't doubt that the biometrics analytics dystopia is coming, but shoplifting is a huge issue in some areas. Biometrics surveillance still sucks, but I'll believe it is about theft at this time.

Do facial recognition systems actually reduce or prevent shoplifting by any significant amount? Most shops in my non-us area will have a no approach policy, call the police and report it, but most offenders are presumably habitual.

No, it’s the shoplifting. Don’t be obtuse.

Wow yes your fact based argument has changed my opinion. Praise be.

Screw you over, how, exactly?

There are arguments about how companies will use collected data in undesirable ways.

But I wish that the stress of living in a panopticon would be argument enough.


I'm sure you can imagine some dark patterns. Screens that show you products they want you to buy based on your patterns. Discounted offers tailored to you that are not really discounts.

Region / time of day / per-demographic brand-popularity based pricing for a start?

Juice is not worth the squeeze if the customers who spend more shop online.

You think online retailers don't do these things?

Brick and mortar do it too.

Harassed how?


Are you sure that wasn't the "staggered" bike dock? It forces you to dock in the rear row if the neighboring two front row spaces are free. This is to fit more bikes. The blinking red docks aren't broken. They're intentionally unavailable.

https://www.reddit.com/r/MicromobilityNYC/comments/v457x0/9_...

Also, the 5 e-bikes probably didn't need "service", they were just waiting for battery swaps. This is by design. The docks don't charge them.

CitiBike maintenance is generally fine. They're not leaving any significant number of broken bikes or docks. I think you may have just misunderstood how it works.


This is my experience too. About 2/3 of the time my question/prompt contained ambiguity and it interpreted it differently (but validly), so it's just about misunderstanding, but maybe 1/3 of the time I'm surprised to discover something I didn't know. I double-check it on Wikipedia and a couple of other places and learn something new.

> when humans have no idea what they're talking about, it's usually more obvious

Is it?

That's not my experience.


I think so, yes. We rely a lot on eloquence and general knowledge as signals of competence, and LLMs beat most people at these. That's the "usually" -- I don't think good human bullshitters are more obvious than LLMs.

This may not apply to you if you regard LLMs, including their established rhetorical patterns, with greater suspicion or scrutiny (and you should!) It also does not apply when talking about subjects in which you are knowledgeable. But if you're chatting about things you are not knowledgeable about, and you treat the LLM just like any human, I think it applies. There's a reason LLM psychosis is a thing, rhetorically these things can simulate the ability of a cult leader.


I think I'm going to have to disagree. When people tell you something incorrect, they usually believe it's correct and that they're trying to help. So it comes across with full confidence, helpfulness, and a trustworthy attitude. Plus people often come with credentials -- PhD's, medical degrees, etc. -- so we're even more caught off-guard when they turn out to be totally and completely wrong about something.

On the other hand, LLM's are just text on a screen. There are zero of the human signals that tell us someone is confident or trustworthy or being helpful. It "feels" like any random blog post from someone I don't know. So it makes you want to verify it.


130 MB for localization? At 50 languages that would be 2.6 MB/language. If we assume an average 50 bytes per string and another 50 for an identifier, that's 27,000 strings.

That doesn't seem right. Localization feels like it should add a few MB. Not over 100. (Plus shouldn't it be compressed, and locally uncompressed the first time a language gets used?)


Localization doesn’t just mean string translations. Apple platforms give you the freedom to redo the UI to fit the language. For example, parts of System Preferences (not sure about Settings) would look completely different in languages with long words because the original design for English simply didn’t fit. The translators rearranged buttons to make the text fit.

I just looked. In this case, it is just string translations.

In the version I'm looking at there are 27,470 .strings files totaling 69 MiB, but they take up 155.9 MiB of disk space due to the 4 KiB filesystem block size.

The keys for the strings take up 39% of the space while the values take up 61%. About 12% of translations are duplicated (the word "Cancel" is translated like 53 times)

So 55% of the space used for strings localization is just pure waste due to having so many small files. The long keys are rather wasteful too and about 12% of the translations are duplicated (i.e. the word "Cancel" is translated 50+ times per language).

Some of this is arguably Apple's fault. Their whole .string file per table per language is incredibly space inefficient by default.


Sure, but that's a few KBs for each locale at most. Still a long way to 100 MB.

They probably just have lots of leftover localized assets that nobody dares to touch as they aren't sure if it's used anywhere.


Thank you! I've been wondering about exactly this, your explanation makes complete sense.

Any rtl language will probably require a lot of different assets. If for no other reason than gradients. Plus anything asymmetric.

The version I'm looking at has 27,470 strings files, mostly of them less than 4 KB each.

Since the iOS filesystem uses 4 KB blocks, it looks like about half the space is just wasted.


It probably isn’t just text that is localized.

images also may need localization.

> For most of that period, the size of the Gmail app hovered around 12 MB, with a sudden jump to more than 200 MB near the start of 2017... The Gmail app, on the App Store, is currently 760.7 MB in size.

With charts:

https://www.axios.com/2017/12/15/the-top-iphone-apps-are-tak...

I had no idea common apps used to be just 10-30 MB. But are now hundreds of MB.

Something like Gmail doesn't have massive hi-resolution bitmap graphics. Since the article doesn't give any answer, I'm assuming it's a hand-wavy "frameworks", but that's an enormous amount of compiled code.


> I had no idea common apps used to be just 10-30 MB.

More like a few dozen kilobytes to a handful of megabytes. If you look in F-Droid you can find some good old apps where graphics are either small or it uses the default styles for buttons and the like

Looking at a tiny utility app I made 6 years ago, it's 9KB, most of which will be the default things the compiler includes


I recently made a tiny utlity app with a single screen, one dropdown and a few lines of text (it makes a single API call to populate the text).

According to my phone it's 25MB.

There's no assets, not even an app icon.

I have no idea what would be taking up more than a few hundred kb, let alone 25MB.


There are ways to analyze the content of your app so you know exactly what's taking all the space.

Tools can vary depending on what language you used. For example i wrote a small app using flutter and i used the flutter's app size tool.


Is it for iOS? Then, it could be the Swift runtime library.

Maybe your compiler isn't pruning dead code?

I think it could be all the compat /support libraries that try to give you the same API across different Android versions.

I remember hearing that even a trivial React Native app is around 100MB on Android.

If you use Electron, yes, any application starts from around 100MB.

But there are alternatives that reuse the OS's libraries nowadays.


React Native doesn’t use Electron

Why Electron? React Native doesn't even use HTML.

How does a web application reuse browser system-native libraries?

Electron ships a version of Chrome. Other frameworks like Tauri use the device's webview.

The entire discussion is about native applications, not web.

> a few dozen kilobytes

A "hello world" Android starts at ~5MB.

It is possible to make it smaller if choosing some non-default different tools.



> non-default different tools

The “default” recommendation is clearly Android Studio plus Kotlin/Java.

Other tools are smaller.


Hello world Android app includes a lot of dependencies like compat libs, constraint layout, kotlin runtime. These are not essential and can be removed.

I am quite sure that isn't using the plain Android APIs, and has a bunch of needless libraries.

Use plain Java, regular Android views, handle yourself the ifdefs for Android versions, and the 5 MB won't be there.


Outch… and I though an ~8KB "Hello, World!" here on my rusty Mac is HUGE already.

Idk what to tell you but my "hello world" + a few dozen lines of functionality are 9.6KB. Haven't done anything special to shave things off

> I had no idea common apps used to be just 10-30 MB. But are now hundreds of MB.

This is Android, but: 13+ years ago I had an HTC Desire. I was really struggling with internal storage space, regularly uninstalling and replacing apps just to be able to update others. Eventually I moved to custom ROMs just because they allowed some apps to be moved to the SD card.

I remember the biggest problem was WhatsApp, which was somehow over 7MB while the average was closer to 1MB.

On my current phone WhatsApp is 231MB. It's still pretty high up in the rankings, but doesn't stand out, and barely any apps are below that then-huge 7MB.


On Android most apps started bundling androidx/jetpack compat libraries that help deal with various API versions, and generally make the development much, _much_ easier. These days apps will also bundle the entire new Android UI framework (Compose) while in the past all the UI code was using framework classes.

Other than that, some popular and useful libraries will bundle native libs (for example for sql), and some ad/analytics/corporate SDKs will use native libs to share code between platforms and for obfuscation. These corporate SDKs (like Zendesk) will also notoriously break Android minification tools, because why bother


One of the struggles on my first android phone was fitting updates for the multiple google docs apps since they were all getting bigger and didn't share their redundant data. That phone had about 150MB for apps.

It's sad the laziness that happens when there's no pushback. The devs gain barely anything from leaving things this bloated, but barely anything isn't zero so now a million people have to deal with big files and wasted RAM.


My back-of-my-head benchmark is still my old Amiga. Here's[0] a full-blown GUI email app that was perfectly nice to use. The entire package, complete with all its custom GUI classes and 3 sets of icons, took 1.4MB uncompressed.

I know the thousand legitimate reasons why modern apps are larger. It's not all bloat and inefficiency, either, except in the harshest sense that old apps tended to use byte-optimized data structures like linked lists instead of faster, but less space-efficient structures like hash maps. They have to deal with higher resolutions, although the command to draw an empty white 320x200 square on the screen should be approximately the same size as to draw a 2000x1500 one. And yet, wow, it doesn't seem like it should need to be that much bigger.

[0] https://aminet.net/package/comm/yam/YAM20


Thunderbird for Android supports pretty much everything Gmail supports and probably more, but it's "only" 40MiB in size. Even on Android, that's a 3x size reduction.

I don't know why iOS apps in general are so much larger than Android apps (that doesn't just seem to be a Google problem) but you certainly don't need the full size of the Gmail app.


More than 3x: GMail is 194 MB on my Android phone and the old K9 (which Thunderbird built upon) is 10.60 MB.

> I don't know why iOS apps in general are so much larger than Android apps [...]

Rough guess: It probably wouldn't be this dramatic of an increase, but could it be something to do with iOS disallowing Just-in-Time compilation, and forcing Ahead-of-Time? I've always wondered.


It’s probably frameworks + localized assets.

With dynamically linked frameworks you bear the cost of the entire framework (and its dependencies) even if you just use a few functions.

iOS apps also need to include all localized assets in each app bundle.


I don’t think this fully explains it. In the nineties you could build a whole application using a toolkit like MFC, and you could ship the entire .dll, which bundled a whole bunch of (low-res, remarkably tasteless even for the time) bitmapped UI assets, and the resulting package didn’t hold a candle to modern bloat. Nor could it: you wanted that self-extracting installer (this predated MSI!) to be reasonable to download on a 56k modem, and even if you used a CD, you wanted room for something else on that CD.

Of course, there were multi-hundred-MB software packages in that era, but they were complex, multifunctional, and highly capable. And IIRC all of Microsoft Office (RIP!) except for some rarely used extras still managed to fit in one CD for a long time.


I'm wondering what the source for these apps were. Google Store downloads strip unnecessary localized assets at download time. This used to be a BIG deal back when icons were bitmaps; but compiled binaries do provide COMPLETE pre-rendered sets of bitmap icons if your downlevel minimum version (Android 5.0? Android 6.0?) extends that far. Which are then stripped whenever you download to modern phone. Assuming that you have SVG replacements for all legacy bitmap icons. Perhaps Gmail does not. So if there are multiple localizations, that would suggest that either the user is measuring the pre-installed app (which almost immediately upgraded and is therefore effectively replaced), or has obtained the APKs from a different source.

The publicly available email app in the Android sources is NOT gmail (and is therefore likely to be unloved and uncared for, and probaly will contain massive blobs of bitmap icons. So if it was that...

Any native code ALSO bloats compiled binary size dramatically (since binaries include code compiled for each processor you have selected when you performed the native build). Unnecessary binary blobs are stripped by the Play Store when you download. It is conceivable that gmail carries ancient crusty pieces of native code, I suppose, given its long heritage.

And also includes pre-compile maps to speed up startup. Very strange process. Apparently, the Google Play Store profiles the startup of the first 20-odd users who download your app, and then transmit the pre-compile map to all subsequent downloads. I'm not sure whether apps are pre-jitted at install time or whether the pre-jitted code is downloaded from the Play Store.(Play Store does tells you they are going to do it when you upload, and -- sure enough -- load time "magically" improves by a significant amount shortly after you push the binary to production. I don't honestly know whether pre-jitting has taken place before first load. (And whether that code shows up as cache space or app size).

Compat frameworks, on the other hand.... absolutely yes! I'm not sure that native Android framework code EVER gets executed on a modern app, to be honest. Almost all compat layers, and extensions, I think.


That’s a lot, a lot, of compiled code and text, especially when you consider some of it is likely compressed.

Also, afaik, it is possible to ship an iOS app in a way certain modules can be downloaded as needed.

It would be nice if Google paid some respect to user devices, or at least go back to “don’t be evil”


Which is why on iDevices static libraries should be used instead, as the linker can throw away the extra stuff.

Likewise on Android, on the NDK, and R8/D8 take care of removing all the extra stuff as well.

Sandboxed applications don't make sense to have dynamic linking beyond what is required by some OS workflows, e.g. loading native code into ART.


>iOS apps also need to include all localized assets in each app bundle.

Is this a hard requirement? I use two languages or at best three. The other 100 language don't matter to me. Why do I have to waste space on my smartphone. This adds up if I have hundreds of apps.


It is the default.

You could get localizations OTA, but that's engineering you need to do to make that happen.. or a product you purchase, as there's various localization managers offering these options in their software.


> a sudden jump to more than 200 MB near the start of 2017

Google Meet was launched in March 2017.


For a while there were app size limits for downloading over mobile data. That meant that if your app was too big you'd have terrible growth metrics.

I remember Uber hit this pretty hard: https://news.ycombinator.com/item?id=26277501 & https://news.ycombinator.com/item?id=25376346 For them though the mobile-data thing was extra important since a first-time Uber user is likely to not be at home and needs the app in order to get home.

I remember when Windows 95 was around 10-30 MB, ten whole diskettes or so.

Now I can't even install Ubuntu without 4 GiB+

Proper unicode font support is like 1.2GiB (noto, but I haven't found any complete unicode font collections that are significantly smaller). There's bloat for sure, but supporting universal text is one that I think is not a waste of space.

Unsure if this is useful to you but have you heard about GNU Unifont? It’s not as nice and comes with some asterisks but damn it’s very compact.

I first read about it via this blog post: https://shkspr.mobi/blog/2019/04/banish-the-%ef%bf%bd-with-u...


To be fair it wouldn't really be doing its job if it didn't come with any asterisks

Maybe not proper support, but when I tried NetBSD recently my entire installation was around 1.5 GB on disk and seemed to handle Unicode well enough for me (for languages I care about). Not doubting some more packages would be needed to support every language, but happy everything wasn't installed by default.

Ye by proper i mean being able to render unicode in any language without tofu. I get that not everyone needs that, but its a reasonable thing to have on your disk in 2025.

For English capitalization is a trivial problem. I think for Hungarian or something similar the rule set is like 6mb.

When I doing mobile app development a decade ago, I found that many interviewers and clients were evaluating my experience more like an artist's portfolio, alongside a couple of arbitrary metrics to determine app scope

One of those arbitrary metrics was bundle size, how many megabytes on the app store was the app. The bigger the better and more serious it was.

At the time I was knee deep in optimizations, using SVGs, doing compression, even bitshifting, to make apps smaller for the companies I worked for. Reducing how many people would be bounced from downloading or installing the app.

And yet, that impressive 12MB app from a venture backed company with hundreds of thousands of users was getting me penalized for taking up so little space

I literally started putting dummy files in the app bundles and it worked for my professional goals. All kinds of premium marketing has similar fictions in them to convey value

so I can emphasize how its the difference between $50/hr upwork gigs inconsistently, and $500,000/yr at Google


Back in the time of 3.5" demo disks, I know one group that filled up their disk image with random numbers so it wouldn't compress so it would look bigger and more impressive in file listings.

This seems to be true for writing code generally. Why do something simple when you can show off how complex you can make a project?

I keep seeing tools that should be a for loop inside a script that instead are a sprawling project with all sorts of different files and class hierarchies and abstractions...


Having a sub 5mb app is still the strongest quality signal there is for ios. A shame you can’t sort and filter results by size.

As long as you don't need a lot of hi-res graphics. One of the no-frills icon themes installed on my Linux laptop (from which I'm typing) is 170M, just because it has a pack of icons rendered for each of the 8, 16, 18, 24, 32, 48, and 64 pixel sizes.

(And no, vector icons are not equally useful in this whole range of resolutions; you need to lower the level of detail for small resolutions to avoid pixel sludge, and increase the level of detail for high resolutions to avoid the barren look. Still, say, 3 versions in SVG format could be sufficient.)


You don't need "hi-res graphics" in an app.

Why?

Small screen, lots of system components that should get drawn dynamically, etc

A bit reductionist, but I get it, if it were a priority you could do lots with a hundredth the space


Small screen (iPhone) that could also be a medium screen (iPad) or even a large screen (Macbook), no?

Yes but with Vector based logos, and considereing you don't actually need all sizes for most apps there's a lot of margin there

A 6 inch screen doesn't need an 8K logo and all it's variants


Someone was saying that Apple OSes don't do vector logos.

If your app is 5mb to download but then needs to download 100mb of content your app is 105mb.

I have a couple that are honest sub 5mb apps. Some of my favorite apps on my phone. Limited featureset that does what it says on the tin. Loads instantly. Hardly uses battery at all. I wish everything was like this.

Part of it is resolution. The icons and such in apps are much larger now than they were in 2013. Besides that I mentioned this in another thread but rarely will a team clean up after itself. There's probably tons of dead code and what not in a lot of these larger apps. I know all the ones I've worked in had a lot of bloat just from years of work. Some feature gets added 5 years ago by a team that no longer exists, it was turned off and no longer used but who is going to remove it?

Besides that, there's just a lot of garbage that gets added by various people with different interests. An unoptimized version of the app I'm currently working on has a ~15mb binary, the core app not including all the "extras" people have asked for. It has about 75mb of assets, probably 10-15% are unused but I have no idea. The download size is about 400mb.


> An unoptimized version of the app I'm currently working on has a ~15mb binary, the core app not including all the "extras" people have asked for. It has about 75mb of assets, probably 10-15% are unused but I have no idea. The download size is about 400mb.

What are the other 310?


Frameworks from other companies. A lot of it is analytics/tracking, some payment processing, etc. There are a few open source libraries we're using as well but those probably are <5mb if I had to guess although I never checked.

Again, a lot of these companies have also been around so if my app has a ton of bloat from years of work, we're bringing in frameworks from other companies who have been around for years as well and probably have a similar amount of crap in their code. Plus they probably want to track everything we're doing so they're bringing in their own third party libraries. It's kind of ridiculous but that's where we're at.

Bigger companies won't have as many third party libraries as they can afford to do it in house but they're still bringing in similar sized libraries to do the same things.


Imagine, it's not just making sure your code is secure, but your also counting on all those libraries's being secure. Let alone all these frameworks as you say - payment, advertising, analytics... You could have the most secure code ever, but when it is just one link in a chain outside your control, best not overthink it or you won't sleep.

You can see why bug bounties get rewarded well. Though mindful, money is not what drives everyone. Then there are the greedy, in which such exploits value on the black market can be higher. Not forgetting government agencies level.

I wonder which email client will break the 1GB mark, and when we will see a resurgence in reducing bloat. I'm sure that phase will come, did for Microsoft once.


> A lot of it is analytics/tracking

Woof. This is just so wild if one ever stops to think about it. ~300mb of tracking for a single app is bigger than the entire hard drive of a fully internet-capable desktop computer in the mid '90s.


Icons should use vector format.

Not sure how that would help. SVGs aren't natively handled on iOS. They get rasterized during build time and that's what gets shipped with an app.

Huh, is there a requirement that they be rasterized at build time? If I had a choice, I'd rather ship the SVGs in the bundle alongside a renderer like ThorVG and render at runtime. The renders could even be cached if the rendering itself was expensive.

If you’re including these assets as UI elements, they would be rasterized anyway and copied to a GPU bound buffer for the frame blit. Doing so at compile time increases runtime performance.

You can of course override this behavior and redraw your vector every 8.3 ms if you want, but I promise you that this is not faster. For sparse pyramid-tiled vector images like Google/Apple maps, this is a two step process using the latter method followed by the former.


Historically, raster graphics won out because they used less resources. Perhaps that's changed. If so, it would make sense for various OS's to start working on native support. Irix did it in the 90's. It can be done now.

we've been able to "preserve vector data" with pdf and svg image resources on ios for a long while now... compile-time rasterization is the default though...

[0] https://useyourloaf.com/blog/xcode-9-vector-images/


We once ran Windows 95 with Encarta in about the same amount of disk space.

We crossed lunacy long ago.


I remember my first PC had a HD of around 20Mb. It was vast at the time, I had so much software to keep me busy for a while that I I felt overwhelmed. Amongst those there was Windows 3.0, taking probably a whopping 3mb

Whoa, Encarta was such a great thing back in the day for me. Brought back memories.

I agree, that we crossed lunacy long ago, and that LLMs have not helped in the slightest.


My first PC (my parents splurged on a high-end machine (for the time, of course) only had 8MiB of memory and a 1 GiB HDD. It ran windows 95 and encarta just fine.

> I had no idea common apps used to be just 10-30 MB. But are now hundreds of MB.

This is one of the reasons why these apps grow: because the user doesn't notice!


Guys, do you think AI is like newage bloatware? Like, it's gigabytes of just things you're never going to need, and now ram prices are skyrocketing because they have no idea how to make it efficient.

In fact, they state the oppposite: To really make it go, they need petawatts of energy and compute. It's like Windows incarnate.


>"I had no idea common apps used to be just 10-30 MB"

I wrote native Windows desktop application 10 years ago that still brings me some money. It has boatload of functionality and the size is 12MB. Competitors have similar app written in .NET. The install is about 1GB.


.NET apps are relatively small until/unless you start pulling in many/large dependencies.

> I had no idea common apps used to be just 10-30 MB

Phones used to have 4GB of flash memory... Some had 2GB.


There are full-featured operating systems that fit on like one or a few floppy disks. Standard Linux distros would fit on a standard 600-700 MB CD, with some made for mini CDs being much smaller.

Hmm, mine is currently 673MB on iOS 26.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: