Why are apps outdated? Even on the latest device?

This is a strange triage of Technology, Adoption and Features. Every year as a new iPhone is announced, it makes me cringe because the one that I purchased about 9 months ago seems like something from the caveman days, I need to have the new model with the A+1 Chip, and the M+1 Motion processor. Then in about 3 months when a new version of iOS is released, it's like what have I been doing using a primitive device? I need to have that new iOS version it can now let me do blah and blah. I am sure there are a lot of you that relate with this and are eager to upgrade, however there is another side my wallet cringes and suggests that there is nothing wrong with the existing device and it can more or less do whatever new is announced.
Rewind back a couple of years, 2000's the phones were Nokia with IR and OBEX to exchange data. On my desktop I had an IR dongle that allowed me to communicate using IR with the phones, Bluetooth (OBEX was very temperamental). This was mainly used to backup the contacts on the phone and add fancy graphics to the screen, I had my phone number as the graphic on my shiny Nokia 7110 which then upgraded a couple of models. These phones lasted quite a while, it was the sweat and grime that got me to change the phone, the main reason was being in a really hot place and mainly standing in the sun for my driving tests to get the driving license while talking to the office and getting things done.

Then came the smartphones and with iPhones, the iPhone3 was amazing, then simply because the iPhone 4 had retina, it was a reason to upgrade and in between they had the iPhone 3S which people would always confuse with 3G. The iOS developers were so proud of having a standard resolution of @1x and @2x but the same size as compared to the fragmented resolutions and devices that were available for Android and Microsoft. Apple released the iPhone 5, a slightly taller device but retained the width, it was almost that they were aiming for the notch at that time but chickened out and left the screen as is. It was time to upgrade the phone as my contract with the Telco is for 24 months and at the end of it, I can keep the old phone and get into a new contract. That's been the story since the iPhone3, so iPhone3, iPhone4, iPhone5, iPhone6+ and then I got broken into and amongst other things like my iPad, Windows Tablet, the phones were gone too. I had to get a 7+ even though I was due for an upgrade, I did not want to get the 7, I was happy with my 6. However the 6 did not have the ForceTouch, something that I needed to have as s developer. Though my iPhone6S 16GB was enough for testing and developing with ForceTouch. Similarly I got my iMac in Dec 2010 and that works fine to date (just had to spurce it to 24GB RAM) and my MBP 15 was a 2011 model, however Apple released a new feature called Handoff and ... I could not use it, because the on-board Bluetooth was not compliant with the new standard that Apple expected. At the start of this I mentioned having external IR, BT etc but Apple was not to have any of that, they did not support any external Bluetooth dongles for handoff.

I survived without having to program with Handoff, though my iPhone5 and the new iPad could air drop and manage some other stuff. Then I got myself a iMac 5K that changed everything, I could now see the universal clipboard, connectivity to things that I had never seen before, seamless connectivity between the AirPods, Watch, phones, etc.

Right so what I am trying to get at is that it is worth upgrading and has it's own advantages though not on the pocket. For the record, I am still on my 7+ because I have 12 months to go before my contract is up and still not upgraded to iOS 11. The point is that I am no FanBoy, I am a developer and I need to know what the latest features are that are announced and if they are hardware dependent, I need to have the hardware to try them out.

However, there is a very interesting twist that I encountered - There is a small percentage of people that expect that the apps they use should have all of the latest and greatest features that were announced. Companies on the other hand look at their customer base, don't ask how they get the numbers, talk to any CTO and they can bring up numbers of their user base from thin air (even if they are entirely incorrect) Just because there is that one user that still uses an iPhone 4S and runs iOS 8.x the bar lowers to the minimum and now you cannot integrate features like SafariViews, you cannot add a refreshControl by simply assigning it, you have to add it as a subView. I have time and time again faced this issue and the decision was made by the Client in generally in favour of that one user that refuses to upgrade and might never ever even use the app that you are making. The time you upgrade and remove support for that older device or iOS version, you are sure of getting that user complaining that the app does not work.

This is even worse when you consider Androids, Half the times you cannot upgrade an Android Phone to the latest because the upgrades are not managed by Google but the phone manufacturers. These custom upgrades are not made available so you are stuck with whatever version you generally buy the phone with. I have an android for all the things that I don't want to add to my main phone and it is stuck on Lollipop 5.1 while I was using a Pixel running Oreo 8.0 till a little while ago for the app I was managing.

If you are the developer, don't lose heart, you cannot dictate the features, I recollect a discussion with a particular client where Barcode scanning and QR Scanning was integral to the business but the client was just not OK with that, in fact they did not even have barcoding in their logistics. It is difficult to explain the reasoning or even understand that, but that is how it is. The development cycle will include the least functionality in an attempt to support the one technophobe.

If you are a consumer of apps and are interested in seeing features being added, then please upgrade your OS and if possible even your hardware. I would be contradicting that last statement here myself, because on an Android I do not see why I should buy a 1000$ phone for an app that I can manage and run on a $100-$150 android phone? So in some cases it makes sense to stay with the old hardware, which is decent enough to manage.

If you are a manufacturer - You will almost NOT be reading this, so how does it matter, but say the chance that someone is reading, then understand this issue/problem and offer a middle ground or a way to have two builds or as was available, last compatible build with the version but then the issue of bug fixes remain. However Google if anyone there is reading this, please take the upgrade cycle into your hands, maybe Oreo will run slow on this Huawei phone, but than that's a decision that I will take and maybe downgrade the phone back till I find the sweet spot.

Apple ran with a decision to remove all apps that were not updated to 64-bit. I lost many of my apps that were written with iOS3 SDK in Objective-C, the apps would have run perfectly fine on the newer devices other than where it was using a system embedded sound that Apple removed and it would crash. Simply recompiling the apps would not have solved the issue so I had to let the apps go. Though it pains, I am happy for this move because it eliminates the dead weed from the store and makes way for new apps. Though visibility on the app store is now reduced from 0% to a negative number. There is no way that your app can ever be seen on the app store, which offers external marketing agencies more business to push and promote your apps.

Till then enjoy your outdated apps, because if you want a newer version, you might have to pay for the app all over again like many MacApps (let's talk about that some other time)


Popular Posts