Considerations about iOS
- Screen size
- POSIX environment
- Automation programs
- OS support
- Backwards compatibility
- Sideloading applications
- File transfer and ownership
- Alternate programs
- hosts file (or equivalent)
- Headphone Jack
- Sandbox environment
Year after year, I’m getting more grumpy about technology. In particular about phones and Android.
Because of that, lately, more and more people have been trying to convince me to buy an iPhone.
After arguing for some time, I decided to list those aspects that are relevant to me, my use cases, and my workflows.
One of the critiques I make of most phone manufacturers is the big screen. I want to have the phone in my pockets, not in my bag.
Yes, my pockets are big enough for most phones, but it is a PITA to have a such big device in it, in particular when sitting, walking, running, jumping, or riding a bike.
And no, a smartwatch is not an appropriate solution.
My first Android phone was the Sony Ericsson Xperia X10 Mini.
It had a physical keyboard with arrows(!), and the surface was 88x52mm big. As a reference, most phones today are as wide as this phone is high.
Yes, it is not as thins as other phones (16mm), but who cares? It is so small, it fits in every pocket and you won’t even notice it.
Because of different reasons, I’m not using that phone anymore, and to be honest, the screen is a little bit too small.
AFAIK currently all phones have huge displays. I think the smallest is the Sony Xperia XZ2 Compact, the dimensions are 135x65mm.
For this reason alone, people have been advocating I would love to use the iPhone 13 mini, which is 131.5x64.2 mm.
But for me, the screen size alone it’s not enough, as there are other factors at play.
Thanks to Termux, Android has a usable POSIX-like environment, that makes it really easy to reuse existing programs for PC, or write new simple programs with a couple of lines of code.
On iOS I thought that nothing like that would exist because the policies of the Apple store would prohibit publishing something like that, as in general, they were very strict about emulators and being able to download executables from the application itself, as it might change the functionality.
Until I found out that there is ish.
It works with an emulator, so some functionalities might be missing (in particular interacting with other system components), but I believe it might be more than enough for most of my use cases.
And it is really there, on the store, no jailbreaks required.
Apple has its own chat protocol called iMessage.
I really dislike it when email clients add a default signature like "Sent from X". Generally, I do not want to tell everyone what kind of device I have. I do not want to show off what device I have or what programs I am using unless the argument interests me, and phone manufacturing and mail clients are definitely not a topic I am interested in. I am also not interested in what mail client or phone my contact is using… just like most normal people.
One of my grape with most messaging systems is that they use the phone number as ID, instead of a username or an email address. One of the reasons I dislike this approach is that I cannot create a test account or an account I want to share with only a defined set of persons. iMessage, as far as I have understood, uses the Apple account registered on the phone, thus it is not possible to create and use multiple accounts at once. Another reason is that often such messaging system only works on a limited set of devices; for example, iMessage is not available for systems not developed by Apple.
As iMessage is enabled automatically on iPhones, it exhibits exactly the same issue with mail clients that automatically add a signature, it tells every other iPhone user that I am using an iPhone too, whenever I want it or not.
It seems that it is possible to disable iMessage globally, this would be an acceptable solution. But I am not 100% sure if it means that my contacts would know or notice if I am using an iPhone or not.
I do not use automation programs a lot, but there seems to be a set of different alternatives for iOS. I suppose that for my two or three use cases, it should not be an issue.
I am mainly a GNU/Linux user. Most programs that interface with iPhones are Windows or Mac-specific.
I believe my best bet would probably be using a Windows virtual machine, which I would really like to avoid.
Also, Windows support for iOS is subpar, and the official programs (iTunes and iCloud) do not seem to be well mantained.
Since I am definitely not going to change my computer because of my phone, I might assume that the integration between devices will not be great.
It seems that it is possible to use an iPhone without creating an Apple account, but it is not clear what features do and do not work.
Most resources just mention that it is not possible to use the App Store and that because of that you really do not want to not have an Apple account. (This is probably the main reason I’ll try to avoid Windows 11, even in a virtual machine and even if there are workarounds, as long as possible)
Considering that (unless jailbreaking) it is not possible to install otherwise other programs on the phone, it is in fact a severe limitation.
I generally do not like creating accounts, and I prefer to have the possibility to have all my data offline. Also on Android phones, most people recommend using a Google account, but it is trivial to use the phone without one.
If a program is only available on the Google Play Store, it is possible to download the
.apk file (a friend can help here) locally and install it manually.
Most programs that can be used with a Google account (Google Maps, Youtube, …) can also be used without, except for Gmail and related chat services of course.
Even if someone has a Gmail account, one might not want to register or link the whole Android device, but just use it for receiving and sending mail. In this case, it is possible to use an alternate Mail program, like K-9 Mail.
Contrary to Microsoft and the Linux kernel, Apple does not strive to be backward compatible.
On the contrary, Apple might even remove "old" programs from the App Store, even if they still work without issues.
It also does not matter if the end-user paid for those programs or not, if they are not available anymore, you cannot install them again. It also does not matter if you are using an older device (supported or unsupported).
On Android, there are similar issues to any store, except that policies for older programs might be different. But the end-user can at least do something about it, and make a backup of older programs.
Even the authors of those older programs can do something and make them available through other means, like the official website or an alternate store.
The only way for installing software on the iPhone is through the App Store.
This is bad because the end-user cannot decide which programs to install on the device.
There are surely a lot of applications useful for anyone, but not all applications are welcome on the App Store.
It is not hard to find stories of useful programs, like a keyboard for blind people, apps that are considered too simple and made unnecessarily more complex, games, and stories of other developers having difficulties with the review process on the App Store.
Even bigger companies might "suffer" from this situation.
I do not want to take part between companies. One can argue that since Apple owns the operating system and store, it can do whatever they want.
But if I’m buying a device, it is because I want to do something with it.
The moment that a company removes a feature or program I am using, or if I need somehow to adapt my workflow, it is going against my interests.
Sure, infinite flexibility has issues too, but there is surely some middle ground.
I am interested in being able to have as much liberty as possible with the devices I bought. Obviously, at the same time, I want the system to be as uniform and stable as possible.
Unilateral decisions, not being able to counterargue, and lack of explanations are not a good combination.
This European regulation should force Apple to give the user the possibility to install an application from other sources, and hopefully, also make it easier to backup older programs.
|This is not a rant about Apple and their policies. All other similar environments have the same issue. If a company manages a walled garden worldwide, there will be false positives and rules I (as end-user) do not like.|
Transferring files to and from a phone should really be a job that can be done with any file manager, without fancy communication protocols.
Ideally, your computer sees your phone as an external USB stick. In this case, you can use the program you like the most; a file manager, a diff tool, or a synchronization program not explicitly designed for your phone.
Already something like MTP (used by default on Android) is a massive step back from a USB stick, most drawbacks are listed here.
My biggest gripe is how slow MTP can be, and that diff and synchronization tools generally do not support it. I can understand that most tools do not support it, as you cannot expect every tool to support every communication protocol. And also because diffing over MTP would be equivalent to copying all files back and forth, and thus it would be faster to just do it.
But I am digressing, as the iPhone does not even seem to support MTP.
There are alternate technologies, but unfortunately, there seems to be little interest in exposing a (potentially virtual) file system (which is already an abstraction, supported by all programs that handle files).
It is not possible to transfer music files directly. You need to use something like iTunes, which will also eventually reencode your files.
After organizing my audio library, I really do not want to duplicate all files. Also, I do not like how iTunes organizes the music files on the drive (it makes them opaque to me), as it makes it difficult to use them with other programs too.
This includes backups, comparing files between devices, adding metadata with external and more efficient programs, using a different Music player, or podcast manager, and so on.
As far as I have seen, it is also not possible to copy music files from the iPhone to the computer, some third-party programs claim to be able to accomplish such a thing, but since it is an undesired feature, who knows if they will work after an upgrade?
Contrary to audio files, it seems that images can be easily copied without hassle to a computer.
The reverse operation, transferring images to the phone, does not seem to be possible.
Apart from images and music files, there are many others that I want to copy to and from devices.
For example little programs like bash scripts, documents, bookmarks, books, text files, contacts or calendar events, a password database (like keepassxc), and who knows what else.
It seems that on iOS you generally do not have control over any data.
Every application needs to have its mechanism for synchronizing something or use some builtin solutions like AirDrop (an alternative that works on all other systems might be KDE Connect) and iCloud, which are severely limited (at least the Windows version).
Also, the idea of uploading private documents (public documents too) somewhere just for downloading on the PC in front of me is just horrible.
What if I do not have an internet connection at the moment?
Why shouldn’t it be possible to use a cable?
Why is it not possible to use the phone as a dumb USB stick?
Contrary to other systems, it is impossible to find alternatives for some programs.
There is a Firefox version for iOS, but it is not the "real" Firefox browser. I would like to use plugins, the enhanced tracking protection options, or at least have it using the same rendering engine as on Android and PCs, but it is currently not possible.
All alternate browsers (not just Firefox) are currently just facades for the Safari browser.
The /etc/hosts file is really a useful unified interface for creating aliases for addresses.
The only drawback is that it is a system-wide file, and it requires administrator rights to be edited. Also on Android rooting devices or installing an alternate system like LineageOs is not necessarily that simple or foolproof.
As far as I know, no platform supports a per-user host file.
This is really a big drawback. In the meantime, all manufacturers except Apple use the same port for recharging devices.
It is a small thing, definitively, as it does not affect how I am normally using the phone or what it does or does not support. But it is immensely practical to be able to visit someone else, and being able to recharge my device without remembering to bring any cable with me. Or just bring one cable and be able to recharge all devices of the whole family.
I do not like wireless headphones. They need to be recharged, are too easy to lose, have synchronization issues, and cannot be easily used between different devices. Yes, cables can be an annoyance, but at the end of the day (for me) they are much more practical.
On the other hand, many Android phones are missing a headphone jack too.
The fact that it is not possible to expand, for example through SD cards, the available storage seems to be a big limitation.
On the other hand, it seems that I cannot use the iPhone as a storage device, so probably the phone with the least storage has already more space than enough for me.
Most devices we buy today are black boxes for their end users, some bigger and some smaller. In some of those, it is easy to get an idea of how they work, others seem to be magic.
Phones tend to be those type of black boxes that get always more difficult to figure out how they work, but in most electronic devices, some things seem to work the same way.
Turning it off should mean that the device is no longer working. Resetting it means that its internal status should be the same before you set it up the first time.
Obviously, those rules are not set in stone, there are at least a couple of exceptions that come to mind, and that more or less everyone is aware of.
When a phone is turned off, its clock is kept synchronized. Computer works similarly. In fact, some computers can be turned on remotely when configured appropriately and connected via cable, or set up to turn on automatically at a given time.
Older phones (Nokia, before it got acquired by Microsoft and we had smartphones) were even able to set an alarm that would trigger with a phone "turned off". It was a very useful feature, because who wants to keep the phone on when sleeping?
I believe the implications of those features are more or less well-understood.
Apple implemented the "Find My" application, which seems to be able to find your phone even when "turned off" (emphasis mine):
With the iOS 15 upgrade, you may be able to hunt down your device’s turned off using the 'Find My' App. The amazing thing is if the device is within close range of an iPhone or another Apple device, it can be found; switched off or very low in power.
This feature was introduced in iOS 15 as an upgrade to include Apple devices turned off. After iOS 13 was made to find your devices without connection by utilizing other iPhones, iPad, and MacBooks within proximity.
But this feature has not been explained by Apple to the general public. Still, it is probably because the U1 chip, Bluetooth, or NFC are functioning even if your device has a low battery or is switched off, and this tracking may last for about three hours at most in the former case.
Devices that have been turned off can still be tracked by the 'Find My' network starting in 'iOS 15'. If a device was low on battery power or turned off by a thief, it can still be found when it’s close to another Apple device.
This means that
there is a network every iPhone user is using
when turning off your iPhone, it is still working
when the battery dies (or better said, when the iPhone tells you the battery is dead), it is still doing something
and that even when offline, the device might still be communicating (both sending and receiving pieces of information) with other devices.
I do not think the implication of a device always being connected to a network is clear to everyone.
Also there are no kill switches, no physical button one can use to be sure that turned off, actually means turned off.
I understand that there are useful use cases (mainly losing the device), but I still find it disturbing being tracked the whole time, and that I have no control over it.
Also what if I want to give my phone to someone else? How can they be sure that I am not able to track them the whole time?
I would expect a reset to reset a phone to its factory settings, but this seems to be no longer the case.
It has always been the case that those were not hard rules.
In fact, spy movies continue to stress the fact that turned-off devices are not necessarily turned off, and that any piece of technology can be used against the end-user. We should have learned by now, that to be sure to turn off a device we should remove the battery.
But apparently, we did not learn anything, because on many phones it is not possible to remove the battery anymore.
On Android, there exist different sandbox environments, like Insular. Unfortunately, those sandboxes have big limitations (there can only be one sandbox for example), but they can be very useful for some applications.
I am not aware of something similar for iPhones; there are profiles, but they do not seem to offer the same set of features.
Contrary to most Android devices, iPhone tends to get more system updates.
All the devices I own are not officially supported anymore. They have older versions of Android, which per se is not an issue (I am still using Windows XP…), except for the fact that security issues are not addressed anymore.
Also developers, rightfully, tend to focus on the latest versions.
I do not think I should buy an iPhone.
The main reasons are:
I need to create an account. It does not matter how many benefits it provides if I feel forced. It also does not matter if it is free.
I cannot install the programs I want
I am unable to synchronize files with the tools I use daily
Those have probably the same root cause: vendor lock-in.
Maybe newer versions of the iPhone will address some of those issues, in that case, I might see if I change my opinion.
|A similar analysis would also conclude that I do not want an Android phone. At least I already know how it works. This might be the reason I am generally not interested in buying a new smartphone at all.|
Do you want to share your opinion? Or is there an error, some parts that are not clear enough?
You can contact me anytime.