Foldable phones are back. Samsung, LG, and Huawei have already experimented with the form factor, albeit with mixed levels of success. Most recently, Google reported that it is looking into foldable technology and has been prototyping foldable displays for some time.
However, despite the reported teething problems, for example the fragile review units that recently made their way into journalists’ hands, consumer appetite for this form remains high. When unfolded, they offer the large screen space that consumers covet. Best of all, this added screen space comes without sacrificing the portability and convenience of a typical smartphone.
At first glance, these new devices may look unlikely to really impact DevOps due to the limited number of such models, but ultimately their increased screens and bending mechanisms will cause major disruption in the overall release schedule. Indeed, at a recent Perfecto webinar, it was discovered that a quarter of DevOps believe that foldable devices will disrupt the quality of existing apps on a “massive” scale, and 22 per cent predict that new applications will need to be developed to support the devices.
So foldable technology is an exciting development, but it also poses many challenges for DevOps teams.
Key challenges for DevOps teams
With folding smartphones in the spotlight, DevOps teams will need to ensure that their apps are fully prepared to perform. As such, a greater emphasis will be placed on Quality Assurance (QA) teams and the testing needed to cover all the test scenarios.
QA teams will need to allocate time for fine tuning and testing apps to ensure that they’re are able to work on new devices. In addition, developers will need to plan for important enhancements to their mobile native apps. Key points to consider include catering for increased memory requirements and battery usage, multi-window functionality, and ensuring robust UI testing. Support for responsive web apps on a foldable device will be challenging too, particularly in an Android ecosystem which does not have as much experience in maintaining tablet ‘footprint’ quality as iOS.
Apps will have to be made so they are adjustable to different screen sizes, and the need to create apps for regular phones and foldable phones will likely increase the time and cost of app development. Another complication is the idea that apps running on foldables are going to use the multi-resume split screen feature introduced in 2018’s Android Pie operating system. This poses a challenge because devices will have juggle the needs of up to three apps running in the foreground (i.e. the ones displayed on screen simultaneously), which will all be competing for core system resources like processing power, memory and battery consumption. It’s made even tougher when these apps also compete for shared specific smartphone device resources like the camera, location services, voice commands and so on.
Developers will need to ensure app continuity; the ability to have a fluent, flawless experience when running a smartphone then unfolding the device to a tablet mode – without losing an existing session or experiencing an unwelcome lag.
Another effect of folding phones will be longer feedback loops for DevOps teams. This is mainly due to the added views a foldable phone provides, which creates more testing for QA teams. Teams that aren’t working as efficiently as possible will bear the brunt of this transition.
Working with foldables
DevOps teams should be prepared for new releases to slow down with the emergence of folding phones. This is mainly due to tricky testing scenarios that this new breed of smartphones presents. However, in order to maintain the speedy releases that consumers demand, teams must look for efficiencies and the ability to streamline ways of working, whilst still ensuring optimal quality.
When it comes to addressing the unique complexities that come with the new form factor, there are several considerations for teams. Introducing more privacy protections and more control over apps and access to shared files, in order to prevent apps from launching an activity while in the background, will be important. In addition, a new settings panel API will allow apps to show settings to users in the context of their app.
For some, success will come in the form of robotics that can take the manual folding and unfolding process away from testers. But the best way to counter the challenges is through solid continuous test plans that address all the different scenarios for foldables, including UI and layout testing across screen sizes, landscape and orientation, whilst maintaining all the app’s “business as usual” essentials such as user control over location and privacy protections.
Indeed, without an efficient process, the feedback loop and releases will just become longer and longer —more QA people needed, resources wasted, and more time to deploy software.
The adoption of “always on” automated testing tools is crucial when testing on this scale, particularly for a new and unpredictable form factor. Tools like Perfecto’s reduce manual effort and risk, whilst ensuring that tests are tailored to the team’s expertise, together with machine learning to continually enhance testing processes.
So, these steps will all help ensure a better experience for users of apps on foldable devices. 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 these revolutionary handsets will offer. With more “real estate”, better screen resolution and more interactivity, the opportunities for brands to get closer to their customer are vast.
There is no doubt that foldable phones are an exciting development in the mobile sphere, only time will tell just how much of an impact this new technology will have on DevOps. What is certain, is that as with any new technology, there will be growing pains. We should acknowledge them, and we should also start preparing.