Workarounds for iOS Apps

Hey Librem Team,

Really excited about the Librem 5 product. I had a question about iOS app compatibility with the Librem 5.

Say there is an app only available on the iOS app store and there’s no web app or that the browser requires the user to install the app via the iOS app store, is there any workaround to solve this? Or is it safe to assume I can’t access said app via Librem 5?

It is hard to give an answer that applies generally across all possible apps that might meet the conditions that you specify.

Did you have a specific app in mind?

It is probably going to depend on the business model of the supplier of the app, and on whether the app is standalone or is essentially the GUI for services offered by the supplier.

In some cases, if the app is interesting enough and if the supplier of the app is not absolutely determined that it will only run on iOS, someone might reverse engineer some or all of the app.

In some cases the supplier of the app might open source it or document the interface, inviting other phones to implement it.

In some cases equivalent functionality will be available via another means within the Linux ecosystem and there will be little interest in hassling the supplier.

It is theoretically possible that someone might engineer a container / emulation environment that would allow iOS apps to run directly - but more often people talk about doing this for Android apps.

2 Likes

I’ve already reached out to the company that makes the app that I really want to keep using requesting they develop a port for the Librem 5. I would be sad without it and an ‘alternative to’ cant be made because the human presenters is what makes it cool. It’s noted that I want it, but that’s about all they can do right now. You should let the apps makers know you want it on the Librem 5 too and also check out https://alternativeto.net/ because maybe an alternative already exists to the app you want :slight_smile:

4 Likes

Kieran,

One app that comes to mind is https://www.helium.com/app. Helium is a blockchain IoT company. It also runs on Android. Don’t think there’s a web app version.

Another question I had in mind is I read that Librem 5 runs on Linux. Does this mean you can install programs meant for Linux computers on Librem 5? Example: https://keybase.io/docs/the_app/install_linux. This is Keybase, a chat app.

I’m fairly new to Linux, so any info is helpful.

Thanks.

1 Like

Then this is probably a better avenue to pursue - however at Day 1 it is expected that there won’t be an Android execution environment.

Something to ask the supplier about perhaps.

Correct.

Yes and no. However this is a short to medium to long-term goal, depending on how pressing the need for the program is in a smartphone environment.

For a start most people’s idea of a Linux computer (desktop or laptop) has an x86 CPU (Intel / AMD) whereas the Librem 5 (like basically all other smartphones) has an ARM CPU. So a binary that has been built for x86 won’t work. You would need to point your phone at a repository that is specifically for ARM binaries. (That is not to say that you can’t compile a program from source for the target CPU.)

Let’s say you had asked whether programs meant for the Raspberry Pi can be installed on Librem 5. (The Raspberry Pi has an ARM CPU.) Then it might work.

However there is also a question as to how well a program intended for a full-sized screen works on a phone-sized screen. Some programs may have no user-interface at all and hence this is not an issue. However for programs that do have a user-interface, the results could range across

  • works well ‘as is’ with a small screen (potentially with user configuration of the window layout)
  • works well with a small screen because it adapts automatically to the screen size
  • works well enough but not ideally
  • works poorly
  • unusable

The most important programs (frequently used / must have) are in the process of being altered, if alteration is needed, so that they fall into either the first or second bullet point. Adapting automatically is a longer term goal because some people will want to plug the phone into a monitor and have a full sized screen, but also use the phone while on the go (“convergence”).

Another consideration is that an existing Linux program may not be ‘touch aware’. In that case it may not take full advantage of a touch screen.

5 Likes

One point of clarification: You can run x86 apps on ARM systems (or any system where you can compile QEMU, or some other instruction set translator), but translating from a complete instruction set like x86 to a reduced instruction set like ARM is terribly slow (and power hungry).

For productivity apps (like note taking software), it should work fine. For games, last metric I saw put the raspberry pi 3 as capable of running mid 90s games with acceptable performance.

4 Likes