Bojan Bozovic, iOS Team Lead at HTEC
HTEC has drawn certain conclusions from its years’ long experience of developing iOS applications and come up with some useful guidelines which could help everyone make the most out of their applications. These specific features could significantly improve the user experience, make the app more valuable and more meaningful. The added bonus is that implementing these features leads to better positioning on the AppStore search (App Store Optimization). So, there is no reason not to take advantage of the benefits of the specific technology, although porting the software onto multiple platforms may be the final goal.
1 Search to the Core (CoreSpotlight)
We are all used to searching for everything we need in a browser and finding the corresponding web pages with the information we were looking for. On the other hand, the information contained in mobile applications is locked and inaccessible outside the applications. However, Apple found a way to fix this for their apps. Their CoreSpotlight framework provides an API for labeling the content and creating links inside the app, thus making the content of the app searchable. This feature enables users to access items within the app more easily. Every application that has an in-app search is a good candidate for CoreSpotlight.
2 Up to Date with Health (HealthKit)
The modern way of living introduced new challenges when it comes to human health, so it comes as no surprise that there are so many popular applications for exercise, fitness, and meditation, in addition to general health applications. The Health app from Apple, which is preinstalled on all iOS devices, contains all the health and activity data that could be collected from the iPhone and Apple Watch. Besides the four main categories: activity, sleep, mindfulness, and nutrition, Health also includes the history of body measurements, heart rate, blood pressure, etc. Integrating HealthKit into applications could turn them into data sources for the Health app. These apps could also use joint information for delivering health and fitness solutions.
3 Timely Information on Your Wrist (WatchOS)
It would be ideal if all new messages, reminders, and other notifications could immediately appear on the user’s wrist, without them having to pull out their phones from their pockets. Staying up to date becomes so much easier, e.g., while standing in public transport, and having an option to respond from the watch quickly can also be quite handy. The same goes for fitness apps and all the useful data they offer. Therefore, integration with WatchOS is definitely something users could benefit from, as it adds value to any serious communication or fitness app, but apps of other kinds as well.
4 Talk to Your App (SiriKit)
“Hey, Siri! Can you initiate my app?” Yes, it can. If your app utilizes VoIP or messaging, you can allow users to start a call or send a message from their app, simply by using their voice, even when the app is not running. Other supported features are payments, ride bookings, image search, workout start, taking notes, etc. Even for other non-standard use cases, there is an option for users to create shortcuts and command the app using their voice.
5 Attend to Special Needs (Accessibility)
Accessibility is all about making the app easier to use for people with some form of disability (but not only for them). It can broaden the user base, but it mainly relies on empathy and making small changes that mean a lot to someone. Apps can become more accessible to visually impaired individuals through the use of Apple’s VoiceOver. The important thing here is for the UI elements to be labeled properly. Also, the missing descriptions need to be added, and the app has to send voice notifications to users when something has changed in the user interface. On the other hand, to make the app content easier to read for everyone, it could be useful to add support for Dynamic Type so the user can choose a larger font size.
Our application for elderly care was developed keeping in mind that some of the users would have certain impairments or needs, so for example, the size of the text inside the app can be dynamically changed from the phone settings.
6 Shortcut to Your Main Features (QuickAction)
Solid UX, which allows users to easily explore and access the features they need, is always the goal when creating an app. But, we can do more on iOS. Quick Actions allows users to do the things they do most frequently, but faster and in fewer steps. This option, which can be thought of as a right-click feature simulation, is available on devices that support 3D Touch. The user needs to press the app icon on their home screen, using a bit more pressure and hold for the Quick Actions to be displayed. These shortcuts can, for example, include: Share or Post (for social networks), Compose (for messaging apps), Search, Add Item, etc.
7 On Your Home Screen (Today Widget)
Widgets are not an iOS-exclusive thing, but are, nevertheless, often forgotten. The Today widget can quickly give the user the most important updates, usually regarding the app’s main functionality. These could be current weather conditions, game scores, time spent on work, stock prices, etc., but widgets can also be used for performing quick tasks. For example, we can mark a task as complete for a to-do-list application, or add a purchased item for an application that manages expenses. As with any widget, this makes the most important information available on the home screen, without the need to open the application.
We have used the Today widget for our human resources management application to display the current time spent in the office and enable employees to change their in/out of office status quickly. This information is also available on Apple Watch. Another one of our workforce management apps utilizes the Today widget to display the employee’s daily and weekly schedule.
8 Share and Act (Share and Action Extensions)
If your app gives users the option to post content (photos, videos, links), it should be mandatory to add the Share extension. For example, if the user is browsing through their photos on their phone and decides to share it via your app, with the Share extension, they don’t need to open the app, navigate to the Submit screen and then search again for the same image. The photo can be uploaded directly from the Photos app in just a few clicks. Similar features are actions that appear in the line below the applications for sharing and can be made with the Action extension. Some builtin Actions include Copy, Use as Wallpaper, Print, etc.
A social network for athletes, scouts and managers we have worked on included the Share extension and Quick Action for easier posting of messages and photos, which we then decided to implement on the social network for music professionals we did for one of our clients.
9 Bring iPad onto MacOS (Project Catalyst)
On the 2019 WWDC, Apple announced a project under the code name Catalyst, which will enable building a native Mac app from the current iPad app. Users will soon have the opportunity to enjoy the comfort of Mac’s large display, hardware keyboard, and mouse, even for apps that were up to now exclusive to iPad. The Mac and the iPad app will be able to share the same project and source code, simply enabled just by selecting the “Mac” checkbox in the project settings.
10 Make Games Social (GameKit)
Playing a challenging game on end sometimes simply isn’t enough. However, sharing our scores and competing with other players can bring an additional thrill to a game. With GameKit, it is easy to add features like leaderboards, achievements, and challenges, and it also brings multiplayer real-time and turn-based competitions, which always double the fun.
These are just some of the iOS-specific features which could bring value in mobile development, but there are numerous other libraries that could be just as useful. There is PassKit for managing tickets and enabling Apple Pay, HomeKit that controls connected accessories, EventKit for adding items to your calendar, CoreML for utilizing machine learning models, Sign in with Apple, and many more.
Over the years, HTEC has used many of these useful features and incorporated them accordingly in most of its apps. Some of these features have their counterparts in Android and web development, and some don't. Nevertheless, it is up to developers to raise awareness of their existence and take the initiative to make better products. And this is definitely something HTEC is striving for in development.