Note: Although this is written with a BPM port in mind, this also applies for similar programs, such as non-iMessage “sticker packs”)
I use iOS as my daily driver. While iOS is usually nice, it does have its limitations that, while it makes the OS safer, hinders flexibility. One of these is modifying other apps, which is crucial to something like a port of dinsfire’s Ponymotes app on Android to iOS. For those who don’t know, (Better)Ponymotes is a series (because of the many ports, like the Discord and Android one) of apps that let you use custom Reddit emotes throughout Reddit, and on other sites like Discord. So if we can’t modify files outside of an app (since iOS sandboxes them), how else can this be done?
That’s when Jailbreaking comes in.
I have jailbroke most of my devices since the days of iOS 5. It’s usually good, but there can be a few problems (which have been more and more of a factor nowaways):
- It voids your warantee. Well, it does if you let Apple know you are jailbroken. But in case of a breakage, they could technically deny you service (even though they don’t really) if you are Jailbroken. Plus, restoring your device makes the JB nearly undetectable. But besides these points, they are worth considering because of the end user.
- It’s not always stable. Since Apple is cracking down on exploits used in jailbreaks, that requires more creativity to make the exploits. This creativity could lead to instability in the OS. A prime example is Luca’s new YaluX Jailbreak, which (in earlier forms) broke cellular signal. As time goes on and on, Jailbreaking could possibly be dangerous. Hell, MachPortal (which is powering YaluX) likes to force-shutdown devices, which can overheat the battery after a couple consecutive runs (it did for me).
- There is no Jailbreak for many devices. This is the biggest issue of jailbreaking: they aren’t as common as they used to be. More bugs are being sold to governments and some are being sold to companies like Apple, making supporting a Jailbreak seem like a waste of what could be thousands of dollars (millions, even, if you sell them to governments and companies that governments buy exploits from).
Let’s say that Jailbreaking is out of the equation. There are some other options we have:
- Custom Keyboard. I have played around in this department. I’d say we could even do it. However, it’s only useful if the app could also display emotes in comments (which keyboards can’t do).
- iMessage Apps. Also entirely feasible, we could make BPM on iOS in the form of a sticker pack. Have it download the emote assests from a server and display when searching. However, I want to support Reddit, not an entire new platform.
- Sideloading. Sideloading apps in iOS is a relatively old concept, but recently became available to the masses in iOS 9. This allows us to install custom apps to our device for a week, for free (and for a year with Apple’s Developer program). We could then modify the base code of a Reddit client and get it working. Or with Alien Blue, add them into the application package (which breaks commenting, sadly, as there’s 15k assets for the included emote viewer). This is the best option, but weekly reinstalls aren’t optimal. This leads to #4.
- An entirely new Reddit client, or fork and existing one. We could make a new Reddit app and put it on iTunes for public download. It just means no more Narwhal…
So what does this mean?
It means that, yes, a port to BPM may be possible. However, it would be no easy task, and would require some cooperation from the end user. If you possibly want to take this on, feel free. I think there’s some failed attempts on my GitHub (like this one that uses Anemone) and there’s another on e I didn’t publish that tried to make a static sticker pack using a script (that would take way too long to compile, as there’s so many assets).
Now to try to work on BPM for Chrome…