I have been looking at the challenges that Apple has been facing with its iPhone since quite a while. And to go on record before that - the iPhone has transformed the smartphone industry, just this week Sony indicated it will quit making smartphones, Nokia is challenged in any aspect despite Microsoft as a backer and Blackberry, well let’s not even start there….
So what are the key events of concern that prompted this post around the iPhone? Here are a few:
  • Antenna-gate - Remember how iPhone users were able to short circuit the antenna and weaken or even loose signal.
  • Hardware issues - Let’s take the recent ‘bending’ issues as latest exhibit. [Update 9/25/14 - Saw the email Apple sent to customers with iPhone6 orders - looks like Apple is doing extensive 'Sit tests'.]
  • Battery issues - Through many iOS upgrades users have experienced reduced battery time. 
  • Design Flaws in iCloud - I personally experienced a few years ago what many iOS 8.0.1 users are experiencing now. My iPhone 4s became unstable – I could not even send text messages without the phone crashing (which for the non-Apple users is the sudden, reset to the home screen). After many installs and help from the geniuses at Apple stores on two continents it was clear -  iCloud does not separate code from user data, much to my surprise. So local backup, clean install on new iPhone, then get data back (pictures) was the solution then.
  • Software issues - Well everyone remembers the Apple Maps debut. 
  • Security issues - Just google ….

So with that as a background – here are my 5 questions for Apple’s product leaders:
  1. How does Apple decide on Go / No Go for a new iPhone?
    As with all engineering projects there must be certain Go / No Go dates for a new product. Kudos to CEO Tim Cook to go on record that the Apple Maps application was released to soon. The question is, what has Apple learnt since then and why does it have to ask users roll back an OS update now? It doesn't look like lessons were learned at the moment.
      
  2. How does Apple slot key capabilities?
    Operating systems get released in major chunks that uptake capabilities and then see smaller additions and many fixes over time. The insight from the iOS 8.0.1 pull back is that it contained the ‘on’ switch for the health features of iOS 8. Downgrading to iOS 8 disables them. The engineering question is – why were these broad and basic capabilities not part of iOS 8 – but part of the typical ‘fix’ release afterwards. How much testing of these can / could Apple have done with these key features only going live with 8.0.1.? Mixing fixes and core features (like the health features) is seldom a good idea.

     
  3. How does Apple do basic hardware testing?
    Given the past antenna issue and the bending, Apple should address this area. And while the antenna issue was more random (but should still have been caught before release) – any bending of the phone is an easier to catch potential flaw. 100s of millions of smartphone users sit down every day – phone in the trousers’ back pockets.
     
  4. When will Apple fix iCloud?
    As many iPhone users right now – and in the past (like me, see above) have experienced – the iCloud architecture of storing a user’s apps code and data together is fundamentally flawed. Violates one of the fundamental principles of software engineering. As when the code breaks, you don’t want to lose the data. That only a local backup helps you to roll back any software (not just an OS) upgrade is not 21st century and a huge hassle. Apple users pay decent money for iCloud – it should not only be secure (sic!) but also embody basic computing principles.
     
  5. How does Apple design, develop and test OS and Apple application code?
    It would be good if Apple could share how it designs, develops and then tests both operating system and applications releases. At some point Apple prided itself on how it empowered single developers with single features – not sure if that is still the predominant software development approach today. But that approach can be a recipe for disaster, no need to elaborate. And how does Apple potentially automate the testing? The fix to tie iOS 8.0.1. issues is supposed to come out anytime soon - but what precautions and automation of test coverage does Apple have to make sure no new unwelcome side effects come up?

MyPOV

Building software is hard. And you don’t get rewarded if you get 99.9% right – as customers expect 100% these days. That number will not come down but will only go up. But the series of events of Apple beg the question, how Apple does quality control and beyond (like Go / No Go decisions for new products or how it creates code). It’s also a marketing and communication challenge – if Apple e.g. would have shown that the iPhone6 bends – but it’s ok afterwards – it could have been a feature.

A lot has been written about the consumerization of IT – but at this point it looks like Apple could potentially use some good traditional IT and enterprise software best practice advice, depending how it answers the above (and more) questions.

[Disclaimer – I don’t cover Mobile, so my esteemed colleagues who cover the space may forgive the foray in their turf and potential inaccuracies – but the recent events with iPhone6 and iOS 8.x at Apple, would cause some serious conversations at a number of enterprise software vendors, if similar things happened there.
And I finally I have written a blog post that all my family and friends are interested in reading and talking about – even my 8 year took note! But then – what’s wrong with the world that 8 year olds know about flawed Apple iOS releases???]