The iPhone X is undoubtedly the blockbuster phone of the year. Apple says it's the future of mobile handsets, there's a whole lot of screen, and it's got people queuing outside the firm's stores again.
This new model is said to be a complete re-imagining of the iconic device. And notable developments, such as Apple’s new Face ID unlocking system, and the removal of the Home screen, means that discussion is, understandably, centred firmly on user experience. Will the iPhone X live up to previous iterations? Will the new navigation gestures be a case of needless complexity over intuition - or does it have the potential to delight hoards of new Apple fans and new converts alike?
So, with a stack of new features to consider, and with users’ expectations sky high, for app developers the pressure is firmly on.
Ahead of the release, Apple itself warned developers to get ready for the device in a post on its blog. Its advice; to test apps using the iPhone X simulator in Xcode. So, robust continuous and specific testing is undoubtedly the key to ensuring a smooth transition for iPhone X users?
But, for many, it’s hard to know where to start. So, let’s look specifically about how to develop and test (opens in new tab) for some of the new features of the iPhone X.
Dealing with iOS 11
Of course, the underlying challenge in any major Apple upgrade is developing for a new operating system. But in this case, it isn’t so new. iOS 11 has been around for a while - and, to put it mildly, it comes with some issues. Complaints around availability and stability mean that pick up of this iOS has been relatively low so far, and the iPhone users who have upgraded have reported experiencing significant new problems. Six patches (including one for a particularly glitchy keypad) have already been issued since launch and consumers have been frustrated.
For developers, this presents multiple challenges. Firstly, a new operating system creates new more complexity - and because of the low pick up, many users are still on old versions, so developers must build and test for a variety of scenarios. Developers also need to keep their eyes to the ground - if they hit a bug while developing on iOS,11.x the origin of it may not be clear. Does it mean that something in the app needs to change and the developers or testers need to fix it immediately then remove the fix on the subsequent release where the defect is solved?
Developing for display changes
Looking beyond the operating system, there are also some fundamental changes to display on the device. The iPhone X boasts a 5.8” screen size; much bigger than we’ve seen on previous models. Testing UI elements, responsive apps layouts and other graphics on this new device is therefore crucial to ensure a consistent and engaging experience on a brand new screen.
The Super Retina display has also attracted attention, as it employs new technologies to precisely follow the curves of the design, meaning that apps have the potential to look incredible. But, once again, Apple encourages developers to ‘be ready’ - testing apps now to make sure they're ready for the Super Retina display by respecting safe areas, supporting adaptive layouts, and more.
Testers also need to take into account new gestures and a changed engagement flow, which impacts usability as well as test automation scripts. iPhone X, unlike previous iPhones, has no HOME button to work with. That means that in order for a user to launch the task manager, and switch or kill a background running app, they need to follow a different flow. What that means to developers is that at first, the app testing teams need to make sure that this new flow is covered in testing, and more importantly, if these flows are part of a test automation scenario, the code needs to be adapted to match the new flow.
And, of course, there’s the one fundamental change which everyone’s talking about - the infamous ‘notch’ - a screen ‘cut out’ which exists to accommodate the introduction of an infrared camera for Face ID. Some say Apple will get rid of the notch as soon as they can - finding a way to make the camera and speaker invisible - but at the moment developers need to develop around it - taking the cut out into account when they make apps or services.
And, with Touch ID now disabled, authentication processes also need to change. Crucially developers need to be aware that users are effectively looking at their device all the time - so protection against erroneous sign-ins or purchases is important.
Moving beyond the defensive….
So these steps will all help ensure a better experience for users of apps on their iPhone X. But these are what we’d call ‘defensive steps’ - the basics to ensure a smooth transition between devices, and a consistently good user experience.
What’s more exciting, perhaps, is the more proactive steps developers can take - to capitalise on the new marketing opportunities this revolutionary handset will offer. With more ‘real estate’, better screen resolution and more interactivity, the opportunities for brands to get closer to their customer are vast.
Take augmented or virtual reality, for example - once reliant on the abilities of brands to get around technical delivery issues, there is now onboard support for more innovative and interactive apps. A great example is Wayfair. The retail giant has incorporated the WayfairView augmented reality tool into its shopping app - so that customers can see products in their own home. This clever use of VR means that it’s fast and easy for users to find the furniture and decor they love, to envision it in their own home - and purchase it - all within one app.
So - the opportunities are extensive. But, whether taking defensive steps to ‘keep the lights on’, or capitalise proactively on the new opportunities the iPhone X affords, quality assurance is paramount and testing is vital. As Apple itself says - developers must ‘be ready’ - and prepared to adapt as the device develops.
Amir Rozenberg, director of product management for Perfecto (opens in new tab)
Image Credit: everything possible / Shutterstock