Android and iOS get compared a lot. Features, ecosystem, price, speed, and more have all been compared several times. Today I would like to talk about something that gets compared a lot less. Development, and not for the masses.

Background

You can skip this part if you want, but it may make the rest of the post make a lot more sense. Close to the end of 2012 I had taken a look into Android. I was on iOS at the time and had never really cared about Android. I found the development to be nicer due to a familiar language (Java) being used but I never really had any other reason to look into it. Finally, I did, and it looked amazing. iOS was getting boring and Android offered a customizable, flexible and new experience. I started off with the Nexus 7 2012, still have the device and still love it. It was quickly made clear, I wanted to make a full switch from iOS to Android. I rooted the device in May, and put out my first Xposed (like Cydia on Android) module on Dec. 5, 2013. I made a full transition to Android by getting a Galaxy S4 (chose this due to it’s expandable storage capabilities) to end off the year. I continued to make Xposed modules, and have 3 that I currently consider active and supported.

The Pangu Jailbreak, and new interest in iOS



After hearing about the Pangu jailbreak, I went ahead and jailbroke my old iPhone 4S. I never knew iOS could also be so fun and interesting still if you took two minutes to simply hack it a bit. I would sometimes pick up the old thing, clear any notifications and put it down. Repeat a month later. Now I found myself picking it up a lot. and I became interested in developing a small tweak. I did so, and I came up with Colorful Volume. Now having developed something for both Cydia on iOS and Xposed on Android, I feel I can give a pretty decent comparison of just what it is like.

Getting Started



I can’t give too good of a comparison here, because I had very different levels of experience when I started developing on the platforms, but I will try my best.

Starting on Android was a fairly easy experience. I had done some Android app dev before, and was confident in my skills with basic to intermediate Java. I followed the Xposed tutorial and it got me up and running quickly. I was able to look at several open source projects, which was good because I quite needed it. While the documentation Xposed had was good, there wasn’t a lot of it. I find creating modules rather simple now, especially on stock Android where I can view the source.

On iOS, it wasn’t too bad, but it wasn’t great. This was mostly due to my lack of Objective-C knowledge. I made a mistake right out the gate and assumed Objective-C was just any old OOP language. Once you know one, you know em all, right? While I often have been able to get around in AS3, PHP, Python, etc. just by taking a quick look at the docs, Objective-C is a little different. I found this tutorial got me up to speed very quickly though, and I got used to basic Objective-C probably almost as fast as any other language. I actually kind of like it now, too. It’s just very different syntax. Overall, the docs for actual tweak dev were very mixed. Some were great, some were terrible. The IRC was great though, wish we had something like that on the Xposed side.

Putting it out there

Once I finished ColorfulVolume, I needed a Cydia repo to put it on. Preferably one of the default ones. On Xposed this is a no brainer, you just put it on the Xposed repo and you can access it from the app, right away. More like posting a thread on a forum for instance. I went with BigBoss to put my tweak on. I knew lots of tweaks were hosted there, and lots of people trusted them (including me). I submitted it, and I was told that I could expect it up within 24H. Not quite the immediate action I get with Xposed, but not bad either.

Exposure

I am always dazzled by how many people will actually download my Xposed modules. I think it is actually easier to get people to download something off of the Xposed repo than it is on Google Play. Many good apps have much less downloads than Xposed modules that took me a couple of days at most to build.

The same is still true on iOS. I find I have gotten above 3000 for the first two versions of my tweak, and while the latest one is still new, I expect it to get there. I have looked at other download stats on BigBoss, and other people seem to be getting similar results on free tweaks while paid ones have been 100-200 for the first day. Paid tweaks, a little off topic, but I’ll put it here anyway. Making any money off Xposed is pretty hard. The best you’ll get really are donations. They are big on open source and like it free. Nothing wrong with that. After all, it’s based on Linux. On iOS however, paid tweaks are pretty common. If you have something that is useful (or just really cool), and hasn’t been done a million places before, you can actually earn money from it. This is pretty cool, and allows devs to get what they deserve for their hard work. This way they can get new devices, and it keeps them motivated to keep creating awesome things and exploring the iOS platform. If I need some money, I’ll be back.

The People

The people I have dealt with in both communities seem to be fairly similar. Most people are nice, but there is always at least one guy who’s a dick when it isn’t working just right. I’ve found Android people will tell you it doesn’t work, but I think I have had less people tell me that. They generally get that you might not have the same phone as them, and issues may arise that you didn’t expect.

On iOS, “it doesn’t work” is a much bigger deal it seems. I have had many more people email me. This was mostly due to an issue with ARM64. I did put out one update, and that didn’t fix it even though it was supposed to, and then I got an even bigger wave of emails. Most people were understanding, and a couple offered to beta test. There was this one guy, Austin. He was the dick. After explaining that it will be all fixed up in an update soon, and that I don’t have a 64-bit device to test on, please be patient, etc. all I get back is

Why would you put the tweak out when it’s not fully compatible with the newest phone?

I just told you why, I don’t have the latest phone. Plus, you have to remember, this is unofficial development, which sometimes can be iffy on new devices. Whatever, 10 minutes later I got word that my beta build is working on 64-bit. You get these people on Android too, unfortunately.

So… you are switching back?

No. Not now. There are too many things I still like about Android. Big screen, default apps, intents, MD, it still looks great. iOS 8 certainly blurs the lines, but that will take a while to get jailbroken. I think I will be keeping up to date a little bit better now, especially with all the cool things going on in the jailbreak community. I want to be cross-platform, and open minded. I might switch back some time, but for now I will be sticking with Android. Platform switches take time and are costly. Maybe my next tablet will be an iPad, but I have also been eyeing those Windows 8 ones a bit. Not sure if they work well with Android phones, I am NOT going WP8.

Overall

This post is really rambly. I always have good intentions for things like this and then they just turn out terribly. Development on both has it’s ups and downs. Develop on whatever makes sense, what you use daily, etc. I want to make both more Xposed modules and Cydia tweaks going forward. Ah well. I hope you guys enjoyed this post at least a bit, I guess I’ll post this on reddit?