In June of 2015, the engineers from Signeasy will be jetting off to San Francisco in order to participate in the Apple Worldwide Developers Conference (WWDC). In addition to the excitement of meeting iOS developers from all around the world, they have another purpose in mind for attending this conference. It is for the purpose of gathering intelligence about the cool features that Apple has planned to come out with the imminent arrival of iOS 9 and making use of that intelligence to construct the next level of delight for users of Signeasy.
September 2015: Close on the heels of the launch of iOS 9, the following takes place:
It works great with iOS 9! Apple has highlighted our app as one of the “Great Apps & Games” for iOS 9 in the “Multitasking” category. pic.twitter.com/0SkZPO9IWx
― Signeasy, as reported on Twitter by @getsigneasy, September 17, 2015
Signeasy is the only business-grade electronic signature software that Apple has chosen to highlight on the App Store as part of the ‘Great Apps & Games for iOS 9’ list that it has compiled.
Are you curious in the events that took place between June and September of 2015 that propelled Signeasy to the status of an Apple-featured app? I’d like to tell you about the engineering process that went into making this, so let me explain it.
After we returned from the 2015 WWDC, we
The first thing that the Signeasy development and product teams did was engage in intense marathon discussions on the cool new features that Apple had just announced. These features ranged from search to internationalisation to app thinning to making the app adaptive, and the first thing that was discussed was how Signeasy could implement these features.
The primary topic of discussion throughout the debates was which particular feature should be chosen as the one that should be made available to Signeasy customers on the same day that iOS 9 was released in order to bring them joy.
After several iterations of argument, we finally reached a conclusion that was acceptable to all of us. that we were required to provide size classes and make extensive use of adaptive APIs across the app.
The reason for this is that ever since Apple introduced larger iPhones and, more recently, a larger iPad, it has become abundantly clear that the company would be releasing products of varying sizes virtually on an annual basis. Because of this, we need to step it up by doing the following:
A device- and orientation-neutral approach It was the perfect time for us to take a device- and platform-neutral approach so that we could tap into the full potential of larger devices and create a more satisfying user experience.
We at Signeasy are quite proud of our ability to maximise our users’ productivity by providing features such as support for slide over and the ability to multitask. And knowing that multitasking is all about increasing iPad users’ productivity, it was something that we had to support from the very beginning of the product’s development.
The iPad version of Signeasy’s app is just as popular as the iPhone version, demonstrating the company’s commitment to adaptability and future-proofing its offerings. We intended to make the most of this opportunity by transitioning to a new adaptable user experience (UX), one in which the user experience is optimised for every device and orientation.
We wanted the user interface and user experience of our app to seem natural on any future Apple device and to enable capabilities such as multitasking as soon as the software was made available to users. This was done with the release of the iPad Pro in (what were then) a few weeks in mind.
This was a challenging challenge for the team because we were utilising various storyboards for the iPad and the iPhone, different view controller hierarchies for each device, and device-specific checks were spread throughout the code. Because of this, we needed to redesign the user interface (UI) of each screen in the programme and deal with the impact that these changes would have on the code.
The manner in which we put the strategy into motion.
Here is how we moved on and completed it successfully.
1. Utilizing the LaunchScreen.storyboard file rather than the assets
This is the first step toward supporting all orientations and multitasking, and it is being taken right now. This helps avoid the need for several launch assets tailored to a variety of devices and orientations. Creating a new storyboard and dragging a view controller that would serve as the initial view controller are the only steps required to accomplish this task. Select this storyboard to use as the Launch Screen File by going to the General tab.
2. Making Use of Adaptive APIs
Apple has done a fantastic job of providing a variety of flexible application programming interfaces (APIs) for us to use. The new iOS9 app that we developed relies heavily on UISplitViewControllers and UIPopoverPresentationControllers as its primary structural components.
3. Utilizing a UISplitViewController in Place of a RootViewController
In the past, we used several distinct root view controllers for the iPad and iPhone. Apple adapted UISplitViewController so that it could also be used on iPhones and made it available. Because of this, we were able to use a single root controller for all of the devices, and UIKit would take care of presenting it in the most effective manner possible. Take, for example, a look at how UISplitViewControllers adjust themselves to accommodate varying size classes on an iPad.
Using adaptable APIs allows us to avoid including device-specific logic in our code, which is one of the many wonderful benefits of doing so. This benefit allows the unification of the root view controllers for both the iPhone and the iPad. We had to experiment with the delegate APIs of the UISplitViewController in order to customise it. They required some practise to fully perfect, but we will save the specifics for another time and place.
The UIPopoverController was replaced by this new adaptable API, which also brought the popover feature to iPhones. The UIPopoverPresentations framework may accommodate either full-screen presentations with a narrower width or popovers in their standard manner. Here is an example of how to use the UIPopoverPresentationController:
5. Storyboards that are universal and accommodate different sizes
In order to do this, device-based storyboards had to be replaced with universal ones that featured adaptive design for all of the size classes. The task of loading the proper size class from the storyboard is taken care of by UIKit. The complexity is determined by the user interface that we are working with.
6. Improvements in XCAssets
XCAssets has been the backbone for iOS projects’ asset management ever since it was introduced. Now that we have XCAssets, we can provide assets in accordance with various size classes, and it loads the right assets when they are required. In addition, UIImage includes an API known as imageNamed:inBundle:compatibleWithTraitCollection:, which can be used to load an appropriate image asset from any bundle so long as it is compatible with the requested trait. It came in quite useful for our walkthrough screens, in which we were required to give different graphics for various size classes.
The user interface of our app is now compatible with all devices and can be viewed in any direction thanks to the efforts outlined above. Adaptive design is required for larger iPhones and iPads in order to provide users with the greatest experience possible. It is time that we abandon the mentality that the iPhone can only be used in portrait orientation and instead promote adaptable user interfaces for iOS apps.
The Signeasy software being used in landscape mode on an iPhone 6plus. Take note of how it adjusts to the larger size of the iPhone 6plus, analogous to how the user experience works on an iPad:
5. Then, we released our upgrade for iOS 9 to the public.
And here we are: #iOS9 is now available with several fascinating new features.
A concise read on what’s new with #iOS and #apple, available at http://t.co/hAneguqTqz. pic.twitter.com/encPnWAajU ― Signeasy, as quoted on Twitter by @getsigneasy, September 16, 2015
And the results of our labour were positive!
the featured screenshot for iOS 9
Soon after we made the all-new Signeasy experience accessible for our users on the same day that iOS 9 was released, we were recognised by Apple on the App Store as part of its Great Apps & Games for iOS 9 list, and we received numerous 5-star reviews from satisfied customers.
Now, what should we do?
Because we wanted people to be able to download our brand new app on the day that iOS 9 was released, the amount of time that we had available was extremely constrained. Therefore, we decided to concentrate on making our app more flexible. In addition to this, I believe that Apple has done an excellent job with features such as search, internationalisation, and app thinning, all of which are characteristics that we are planning to leverage in the near future.
Stay tuned because more such unique features are set up to be included in our upcoming releases, as well as the engineering tales behind those features.