Toward the end of each year in September, Apple releases a new iOS version with their new wave of mobile devices for the upcoming year. For tech geeks and Apple fanboys, this is the best thing ever. For regular users, the software update process is a potential annoyance and often times a major risk to losing all your photos! Updaters beware. And for a select set of other folks, such as myself, it's a potential nightmare.
Working at pMD, I get to enjoy programming on multiple platforms while leading the charge on our iOS app. I get to create cool features for the phone and I get to call myself a mobile developer! But with all the glitz and the glory of Apple development, there's a hidden dark side of it all: iOS updates. As a developer, I should (and do) look forward to updates and upgrades. It's generally exciting to find out the answer to 'what did Apple come up with this time??' But the flip side that all Apple developers are far too familiar with is, 'what did Apple break this time??' What I'm referring to, of course, are the easter eggs of software development.
Each new glorious iOS upgrade bring tons of fanfare for the latest and greatest features. What is completely hidden is everything underneath the hood. Differences in timing, memory allocation, deprecated functions, etc, all contribute to the unnerving experience of testing your (currently working) app on the newest release. This generally results in tons of anxiety as you test each screen and each functionality to determine what still works and what doesn't anymore. Best case scenario, you have to update the font of a button. Worst case scenario, you have a crash on your hands that you have to patch ASAP!
Usually, we end up having to reorder some animation because the new keyboard animates in a different way, or an alert box ends up floating somewhere unexpectedly; the more painful changes involve having to juggle objective c methods that exist in one operating system and not the other. In recent memory, we have had the good fortune of not having any major fires during each September. I attribute this to our unyielding stance to always follow Apple convention (even when it changes on itself) and to test test test! And of course, our solid iOS development team! (Shameless self plug). I wonder what iOS 10 will have in store for us next year...