Considerations about iOS


14 - 18 minutes to read, 3512 words
Categories: android music photo shell windows
Keywords: android browser firefox music photo scripting shell windows

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.

Screen size

One of the critiques I make to most phone manufacturers is the big screen. I want to bring 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.

POSIX environment

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.

iMessage

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. I am not 100% sure if it means that my contacts would know or notice if I am using an iPhone or not. Another solution would be making iMessage available on other platforms, but it is not going to happen.

Automation programs

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.

OS support

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, 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.

Account

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, 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.

There are alternative stores, like F-Droid, the Amazon Appstore, or Galaxy Store, so not being able to use the Google Play Store is not necessarily a big issue.

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.

Backwards compatibility

Contrary to Microsoft and the Linux kernel, Apple does not strive to be backward compatible.

On the contrary, from the App Store, it might even remove "old" programs, 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.

Android is also generally more backward compatible, most older Android programs work without issues on newer Android versions (even if it is not the first time it introduces questionable limitations.)

Sideloading applications

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 is not the answer, 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.

The new European regulation will 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.

Note 📝
This is not a rant about Apple and theyr policies. All other similar environments have the same issue. If a company manages a walled garden world-wide, there will be false positives and rules I (as end user) do not like.

File transfer and ownership

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).

Music

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 (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 a such thing, but since it is clearly an undesired feature, who knows if they will work after an upgrade?

Images

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.

All other data

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 own 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 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?

Alternate programs

Contrary to other systems, it is impossible to find alternatives for some programs.

Alternate browser

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.

Alternate store

As already mentioned before, on the iPhone it is not possible to sideload applications.

hosts file (or equivalent)

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.

USB-C

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 being 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.

Headphone Jack

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.

Storage

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.

Blackbox

Most device we buy today are blackboxes for theyr end users, some bigger and some smaller. In some of those, it is easy to get an idea how they work, others seems 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 seems to work the same way.

Turning it off should mean that the device is no longer working. Resetting it means that it’s 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 comes to time, and that more or less everone is aware off.

When a phone is turned off, it’s clock is kept synchronized. Computer works similarly. In fact, some computer can be turned on remotely when configured appropriately and connected via cable, or set up to turn on automatically at a given time.

Actually, older phones (Nokia, before it got acquired by Microsoft and we had smartphones) where even able to set an alarm that would trigger with a phone turned off. It was actually a great and very useful feature, because who want 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 with 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.

— How "Find my iPhone" Really Works
from technology.inquirer.net

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.

— Find My App: Everything to Know
from MacRumors

This means that

  • there is a network every iPhone user is using, they might not know it

  • 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 informations) to other devices.

I do not think the implication of a device always conntected to a network are clear to everyone.

Also there are no kill switches, no physical button one can use to be sure that when turned off, it is actually turned off.

I get it that there are useful use-cases (mainly loosing the phone), 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 it’s factory settings, but this seems to be no longer the case.

It has always been the case that those where not hard rules.

If 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, which can also help to avoid ??? safety hazard.

But apparently we did not learn anything, because on many phones it is not possible to remove the battery.

Sandbox environment

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.

Support

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.

Conclusion

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.

Note 📝
A similar analysis would also conclude that I do not want an Android phone, but 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 here.