Hacker News new | ask | show | jobs
by randomdev3 843 days ago
It's just nonsensical to use a device that dictates what you can install on it. Well, Androids don't come with root permissions either ( you should be able to get it easily if you want imo ) but at least you can install any app, even just create your own.
6 comments

You do not need root on android to install a .apk file. I see too many people thinking iOS and Android are on equal starting ground.

Android out of the box is fairly close to jailbroken iOS. Very few things require root.

If we're getting technical you don't need to jailbreak to sideload on iOS either. AltStore automates the tedium but you can side load just fine on iOS too (for now).
With a 7 day expiration, max of 3 apps. It's more of a "developer account lite" testing tool than a bona fide sideloading mechanism.
A seven day expiration alone makes it useless. Why would anyone think side loading is supported when you can't open the app anymore after 7 days?

More likely to be iOS apologists looking for a narrative, they try it out and proclaim that it works, but have no intention to actually use their side loaded test app, so they don't even realize it only looked like it worked.

It automatically refreshes in the background. You can just set it and forget it. Not sure why people think it is complicated.
You don't need to sideload on android. You just install it.
For me, the issue is, who do I distrust less - Google or Apple?

Yes, they're both shitty in a number of ways. And while is is easier to root Android devices than it is to root iOS ones, last I checked you were still dependent on the vendor kernel and parts of the vendor display server on Android because not all of the necessary drivers and related config are upstreamed (and the lack of TIVO clauses in GPLv2 makes this possible) - meaning replacing 95% of userspace doesn't actually get you very far if your issue is not being able to trust the vendor.

I choose Apple because:

1. Apple is primarily a hardware company. When I buy their hardware, I am their customer. When they make noises about protecting my privacy, I am reasonably confident that very few parts of the business are working to undermine that. OTOH, Google is an advertising company. When I buy their hardware, my eyeballs become their product, which they rent out to their real customers, the advertisers. When they make noises about protecting my privacy, I see that as mostly marketing BS (or, "puffery") which large parts of their business are working to undermine.

2. My phone is not my primary computing device. I have a laptop running GNU/Linux that I use for most of my computing needs, including web browsing, email, and software development. I am fine with my mobile phone being an "appliance" that I use mostly for instant messaging, and occasionally checking the news and weather, taking photos, or making short temporary notes that I will (manually) transfer to my laptop later. And sometimes, even, making phone calls. But I generally stay away from "apps". No, I don't want to install your fucking app, no matter which device it would be on. Just make sure your website works.

Given those factors, I have an Apple phone.

That's not to say Apple is for everyone. My priorities are not everyone else's, and that's fine. Different people have different tradeoffs. If an Android device works better for you, that's great.

Apple's no longer a hardware company, they're a platform rent extraction company. They are directly misleading and harming their users with this move, and also with the existing dark patterns around iCloud storage.
> Apple's no longer a hardware company, they're a platform rent extraction company.

Apple still make the vast majority of their revenue from hardware. All of their service revenue combined is only about 20% of their revenue.

Revenue doesn't really matter, you should look at profits. Amazon makes most of their revenue from the website, but pretty much all of their profits come from cloud. The tech giant business model is to dominate distribution and extract profits by self preferencing. Im sure apple's services division is a good portion of their profits.
> Revenue doesn't really matter

Grandparent is claiming that Apple aren’t a hardware company any more. Pointing out that the vast majority of their income comes from hardware is totally relevant.

Apple brings in hundreds of billions from selling hardware every year. They are definitely still a hardware company.

The income is irrelevant if it's just a vessel to make profits from the services. In detriment of the user, who once could trust that they were buying a device, but now are getting locked in some subscription schemes.

Apple has passed the event horizon of extracting profits now.

Out of curiosity, what is the margin on their service income vs. their hardware income?
It doesn’t matter. They bring in hundreds of billions of dollars per year from hardware. They are definitely still a hardware company.
You cannot simply state where the revenue comes from. Apple sells hardware and services. The services promote the hardware. The hardware promotes the services. It is an eco system into which many people and companies, including companies that create software for that system, are bought.

Of course Apple tries to squeeze out of this system as possible at different fronts.

That's where government laws come in, to make the playing field more even.

Can you give an example of dark patterns around iCloud storage?
What dark patterns are you talking about w.r.t. iCloud storage?
nonsensical to use a device that dictates what you can install on it

Xbox, PS, iPad are consoles. Not everyone wants to DIY the OS and app config and maintenance. Using (digital) cartridges gets all those non value added activities out of the way of just playing the game or using the app.

Creating your own app is actually pretty easy on iOS. I run an app on my phone right now that I built myself and that is not on the app store.
It's not easy, you need a multithousand dollar apple machine, and you can't share this app with anybody else.
No, you don’t. You need a Mac, but you don’t need to buy one. You can use a free tier on a build service like Bitrise if you don’t have a Mac.
Perhaps technically possible, but in practice it's against apple development directives. I doubt you do this yourself, or know anyone that actually develops iOS apps from a non-mac in the real world.

And you still can't share that app.

In practice no one cares what apples development directives are?
> in practice it's against apple development directives.

Most professional iOS developers use these kinds of services. They are totally commonplace and not against Apple’s terms in the slightest.

MacOS TOS clearly state that if you're someone renting out access to macOS, you may only rent it for periods longer than 24h. I heavily doubt bitrise does that, as cost would be prohibitive (oh hey I wonder why that is)
I feel you're being disingenuous. Close to zero professional iOS developers develop on a non-mac.
But don't you see how it is yet another hurdle?

Android builds work on that same mac too.

I didn’t say it wasn’t a hurdle, I said you don’t need a “multi thousand dollar Apple machine”. And the cheapest Macs cost way less than that anyway.
You can get a cheap used mac. You're just being silly now.
Cheap for first world wages.
Not like PCs grow on trees.

This is getting silly.

> Creating your own app is actually pretty easy on iOS.

I don't believe you. I believe that you probably left out some crucial detail, such as having to own a Mac first.

Well.. Yea. Sure. But saying "you cannot" is very different from "you need a mac".
But this is exactly the kind of behaviour targeted by the DMA. Artificial restrictions in the functionality of iphone are inserted to drive sales of an unrelated product. It's page one of the Monopolist Playbook.
Maintaining a developer toolkit for Windows and Linux is a major hurdle.

If they intentionally prevent a third party Xcode-compatible implementation from existing, that’s monopolistic behavior. If they don’t want to provide it themselves, it’s a rightful business choice and theirs to make, in my book.

I noticed that you moved the goalpost. Quite a bit. "Cannot" to "need a mac" is an enormous move.

If you think sales of macs are affected in a measurable way by the fact that xcode runs on it you are delusional.

You didn't say “can”, you said “actually pretty easy”.
Is the $100 developer fee not required for own - non app store - apps?
No, you can deploy to your own device with a free Apple developer account. However there is a fairly short time line (I think a week?), after which you have to reinstall it. It’s designed for running apps on your device as you are developing them, not as a long-term deployment method.
Months. I have one on my phone that I haven't reinstalled for months. And I do this on my wife's phone, and let me tell you the wife acceptance factor of the app breaking after a week would be absolutely zero.

I don't know where you get these rumors from honestly.

With a free account?

I’ve heard many, many times that free accounts have a short expiry. I thought it was seven days, and I’ve just checked, and I remembered the duration correctly.

I can’t find an official source, but people mention this limit practically everywhere the topic is discussed. Here’s one reference, Google can help you find many, many more:

https://stackoverflow.com/a/73014888/8427

> Without Official Apple Dev Account

> If you don't have an official Apple Dev Account provisioning will only last for 1 week. The app will expire every 7 days (or less in some cases -- depending upon the day the initial certificate was created).

> With Official Apple Dev Account

> You will be able to provision your app for up to 1 year.

Can you create a provisioning profile with an expiry more than one week into the future with a free account?

Aha, yea ok. That's gotta be it. My bad. I do have paid account, since I have apps in the store and you have to pay that fee every year to keep that up (which is annoying for my free hobby apps!)
installing it without Apple's blessing is the real problem
It's not that easy on Android either. Rooting usually requires a factory reset and several apps (e.g. banking) will not work if they detect the system is rooted.

edit: Also, in some cases you lose warranty.

Installing F-Droid is not hard. No need for root. In fact, the usual criticism is that it's too easy.

There are a number of scary warnings to click through but that's it. Not great for security but the official distribution is good enough that it's not a problem outside a few select countries where doing business is hard.

The fact that you can't install apps from your own xcode and run locally (used to be at all now I guess seven day limit) is silly.

On Android, with Android 12, we can now have apps on neostore (fdroid frontend) auto update. There is no good reason to defend apple here. You as a user are always free to not install third party app stores.

The official F-Droid client has auto updates, too, for what it's worth.
This is good to know. Thank you. I'll just install f-droid app on my next phone. iirc it didn't do this when android 12 was new.
Yep, it was added fairly recently. Exciting times!
> The fact that you can't install apps from your own xcode

...I do right now. So that isn't a fact. It's a myth.

But they die after seven days?
No. It's months at the very least.
Only if you pay the $99/year developer fee.
There is no need to root to install software on Android. Rooting is only required for permissions that no app (save pre installed apps), whether installed via Play store or not, can be given.
There's no need to root. Installing any app outside play store is a matter of clicking 2 buttons.
No, getting root permissions should not be possible. Having a concept of a super user which can do whatever they want is bad for security and doesn't follow the principle of least privilege. There are better ways for an OS to offer functionality than requiring such a dangerous concept to exist.

The fact that desktop and server Linux distros still have a root account, have sudo, or said binaries is evidence of how far behind they are in terms of security.

The entire web runs linux successfully and securely. Suggesting that Linux is insecure is mad, especially given the attack surface.
Considering there are websites that get bruteforced into that have a weak root password setup over ssh that is not true. Considering in the past there have been LPE exploits to get root it is relevant that root exists. Even without a LPE if you make a malicous NPM dependency which you have someone install on their server you can make it so that the next time the user issues sudo it steals the root password and runs malware as root. These things are bad for security. If you are not hearing about Linux users being hacked, or exploits that could have had their harm minimized, that is ignorance from you.
MacOS also has sudo.
and iOS, a newer OS where Apple could easily redo their security model while ignoring legacy baggage does not have sudo.
The superuser on iOS is Apple. Apple can do whatever they want, to any iPhone, whenever they want.

Final, ultimate control must always be vested somewhere. Your argument is that it's "more secure" for it to be in the hands of a profit-seeking corporation than in the hands that are holding the device.

>Your argument is that it's "more secure" for it to be in the hands of a profit-seeking corporation than in the hands that are holding the device.

Yes. The identity a company like Apple is known and trusted. The person holding a device is not a known identity. This is unrelated to not having sudo though. Take for example the ping command. There is no reason why the user must have access to an account that has ultimate control over the device to use ping. ping should be possible to be used by a normal user. This could be implemented with a ping daemon that run with a dedicated user that has the capability to use raw sockets, and then normal users have a ping client that talks to such daemon. You can come up with everything someone would need root for and define a more secure way to offer that functionality to the user.