Want a more capable and less restrictive operating system on your iPhone? Enter Project Sandcastle.
The iPhone restricts users to operate inside a sandbox. But when you buy an iPhone, you own the iPhone hardware. Android for the iPhone gives you the freedom to run a different operating system on that hardware.
Android for the iPhone has many exciting practical applications, from forensics research to dual-booting ephemeral devices to combatting e-waste. Our goal has always been to push mobile research forward, and we’re excited to see what the developer community builds from this foundation.
This project has some serious pedigree to it, from the original developers behind Android for the very first iPhone, to Corellium, a company Apple is suing because Corellium offers virtualised iOS devices in the cloud for developers. There’s so much going on here I barely know where to start.
In any event, the current Android for iPhone beta only supports the iPhone 7 and 7+, but not every part of them, and other devices are clearly in the very early stages. The source code to Project Sandcastle is available on Github.
I hope this will one day lead to Android running well on all sorts of iPhone models, if only because it is such a delightful slap in the face to Apple’s anti-consumer restrictions on its hardware and software.
Thom Holwerda,
It occurs to me this is one of the models that apple was caught artificially throttling. When caught, apple claimed it did so to improve phone stability, but it seemed more likely it was a case planned obsolescence. I wonder if this android software running on the same hardware will bear out any of apple’s claim or if it could actually prove that apple was/is lying about their motives and that the iphones actually run fine without any throttling.
Coincidentally just this week apple agreed to settle the class action lawsuit over throttling against them for $500 million.
https://www.vox.com/recode/2020/3/2/21161524/apple-iphone-500-million-settlement-throttling-class-action-lawsuit
Last I heard apple indicated they were going to continue throttling devices with old batteries, I assume apple’s lawyers “fixed” the problem by updating the terms and conditions.
About the throttling:
I completely believe Apples claims that with a good battery they can deliver continous optimal performance and with a degraded battery they cannot continously provide that same level of performance causing unexpected shutdowns that are now being prevented by throttling performance.
I also believe that this problem was prevalent in Android phones, although not as much because they (at least at the high-end where Apple operates) provided better (and bigger) batteries. So I completely agree with Apple getting a big slap on the wrist for this throttling issue. I am also quite happy with the results that we already saw since: Better communication and bigger (and better?) batteries in iPhones.
I don’t believe at all that Apple artificially and unnecessarily throttled old phones so they could persuade people to buy new iPhones more often. https://en.wikipedia.org/wiki/Occam%27s_razor
avgalen,
The reason I don’t find this plausible, from a technical perspective, is that battery age has relatively little to do with the battery’s voltage over it’s lifespan. The overall capacity will decrease of course, but unless the battery is really truly dead, a freshly charged old battery still manages to put out more power than a new battery with a low charge (say 15%). If apple’s iphone crashing reports were the truth, then iphone crashing reports would have been a widespread problem for iphone users long before the throttling updates. However the fact that the iphones were not crashing on low battery power pokes a huge technical problem with apple’s narrative that I can’t ignore. Any kind of throttling that’s based on a device/components age rather than actual performance strongly smells of planned obsolescence.
They did the same study on android phones and did not find they behaved this way, If you’ve got any data that shows otherwise though I would like to see it!
I have an SE (basically a 6S in a 5 shell – nearly 4 years old) that still has the original battery that I use daily. The battery is severely degraded now and it only lasts about 3/4 the time it originally did on a full charge (phone says maximum capacity is 71% and that seems about right to me). Don’t tease me about my old ass phone, I just like small durable phones 🙂
I know nothing about the chemistry involved, or the internal workings of Apple’s power management system, but I do have some real world experience with how this phone behaves at this point. I used the phone for about a year I would say with the “performance management protections”, i.e. throttling kicked in, and then about another year with it manually disabled (when that become possible to do).
It was very obvious when the performance management protections were enabled, even though the OS at the time did not really tell you – it was slow but I just didn’t know the cause. The phone was generally much slower than when I got it and it was noticeable whenever you did anything remotely demanding. I recall prior to noticing it becoming slow it had unexpectedly died a couple times with what it said was a reasonable charge left. I just assumed it was age or whatever. Anyway, I just lived with it for quite a while (like about a year) and although it was slower it was still usable and I do not recall it shutting down out of the blue again after the 1st few times for a very long time. Slow but reliable basically.
Once I found out about the whole throttling thing and what was happening Apple released the newer iOS versions that have the performance management protections exposed as a user controllable toggle. I turned them off and the phone was instantly back to full performance afaict. I have been running it a little over a year like this and its mostly fine. It does, however, occasionally still shutdown out of the blue – maybe once every 2-3 months. When this happens the protections turn back on again and I have to shut them off manually again.
Like I said I don’t really know what voodoo they are doing or anything, but I can say pretty confidently that it does do what they say it does – the throttling keeps the phone from dying unexpectedly – I just choose to turn it off because Id rather live with the infrequent shutdown rather than the performance penalty. Ill probably just put a new battery in it at some point, just hasn’t really bothered me enough yet to deal with it…
galvanash,
First of all, thank you for posting all of that 🙂 I do believe you galvanash and I don’t have a problem taking your experience at face value. Obviously I’d rather see comprehensive results on a nice graph (much like the original data that exposed all of this) to prove a strong correlation between battery level and crashing. A picture would be worth a thousand words. If I had this phone, I would conduct more tests myself to prove the battery is actually responsible for those crashes rather than merely assuming it. However, even if we assume that to be true, I’d still criticize apple’s fix for throttling the phone full time rather than just when the low battery conditions warrant it.
I was really bothered by apple’s statements after the fact saying they would continue to do this even with new phones rather than committing to fix the underlying cause. What they should have done is follow the lead of google pixel phones that allow full performance when charged and switch to battery saving when weak by adapting to the battery charge rather than the battery age. Forced full time throttling was a stupid solution by apple’s engineers, so much so that I’m still not ruling out the possibility they were instructed to do it this way by the higher-ups in the company. Ah, if only they could speak.
A degraded battery cannot deliver as much power as high performance Apple SoCs require under load. Obviously it may crash when “all stars are aligned”.
https://qnovo.com/119-explaining-apple-must-shamefully-throttle-old-iphones/
viton,
You may not realize it, but I agree with the author you linked to and his data concurs with what I’ve been saying above! Look at his graphs and you can see for yourself that a freshly charged old battery provides way more voltage than a new battery at 0-50% charge. This is true even accounting for the voltage drop under load which he also shows.
The one thing I would nit pick with the author’s overview is this…
In my opinion it makes more sense to define the remaining battery percentage according to how long it is able to provide a usable voltage. Therefor the point that he calls “20%” should in fact be called “0%”. However it’s entirely possible that apple’s battery indicator is poorly calibrated and could be displaying 20% when it’s actually closer to 0%, resulting in unexpected shutdowns or even crashes below 20%. This should have been fixable with an update though and to be fair I’ve seen this exact fault on some android phones too.
In the end, I don’t object to giving users an option to throttle their phones to extend battery life, but it really shouldn’t come on automatically or forcefully until the battery has ~25% remaining charge, at which point it should notify the user that it’s in a low performance mode to extend battery life. Had apple done this instead of what they did, it would have been a legit feature and none of this controversy would have ensued!
“ I hope this will one day lead to Android running well on all sorts of iPhone models, if only because it is such a delightful slap in the face to Apple’s anti-consumer restrictions on its hardware and software. ”
General Motors don’t sell Toyota cars. Anti-consumer bastards!
That’s actually a pretty bad example because they have done exactly that in the past and will likely continue to do so in the future.
Car manufactures constantly make agreements with one another to build vehicles under other brands. Toyota and GM for example had such a partnership a few years back. Pontiac sold a car that was just a Toyota Matrix with a different badge. Currently, Subaru and Toyota are also doing this with the Toyota FRS (I think that’s what it’s called) and Subaru BRZ.
I know next to nothing about the car market hence bad choice of metaphor. The serious point is how can the manufacturer of any product that only controls 15% of a market be described as being anti-consumer? In such a situation the consumer is under no monopoly pressure to pick the minority manufacturer so only does so out of choice. If people don’t like iOS and prefer Android just buy an Android phone. Why on earth should Apple be expected to support Android? It’s just bonkers.
Strossen,
That’s a straw man argument though. Who said that apple is expected to support android? Even teco.sb, who pointed out the flaw in the analogy, didn’t say that.
With regards to market share, I think that 15% is a global number, but in some markets apple’s share is actually much higher.
https://macdailynews.com/2019/03/13/apple-grows-iphone-market-share-in-the-u-s-despite-overseas-challenge/
Also, while android has a greater market share than IOS, keep in mind that it covers all the companies manufacturing android phones, all of which individually have smaller market share than apple. Admittedly there are a lot of complex dynamics going on at different levels depending on how the market is broken down, but it would be misleading to paint apple as an underdog among phone manufactures when apple holds the strongest position among mobile manufacturers.
No one said Apple is required to allow Android on their phones. LOL What does market share have to do with being anti-consumer? No one is saying they are using an “monopoly” to their advantage but they do lock consumers into their ecosystem.
What would be nice is to have a stable Android (like LineageOS) that could run on older iPhones like the SE or the 6. We could then buy those for cheap on eBay, flash TWRP & custom roms, maybe slap a new battery, and it would be a great phone!