Mastering WatchOS Complications: The Ultimate Guide for Swift Developers

CI&T Australia
CI&T Australia Tech Blog
4 min readMar 14, 2023

Debashree Joshi is a consultant and iOS Specialist with a passion for helping clients create user-friendly mobile applications.

Do you ever find yourself constantly checking your phone for updates or reminders? Well, with WatchOS complications, you can access important information with just a glance at your wrist. These small widgets provide a range of functions, from displaying the weather and your heart rate to showing upcoming appointments and more.

The concept of complications comes from horological and chronograph mechanical watches, which feature additional dials and displays on the watch face beyond the basic timekeeping function. In 2015, Apple introduced the idea of complications to their smartwatches, adding even more functionality to the already powerful device. Today, these complications are widespread on Apple Watch faces and provide an even more seamless experience for users.

TaskLister App

TaskLister is an app that has taken full advantage of several types of complications, including rectangular, circular, extra-large, and corner circular complications. These complications offer different ways to display the app’s data, making it easier for users to stay organised and focused on their daily tasks.

Using TaskLister as an example, we can create complications that display important data from the app. The app contains information about the task, such as the task name, task description, location, time, and category. Each task card is colour-coded according to the priority level, with high-priority tasks appearing in green, medium-priority tasks in blue, and low-priority tasks in red. Low-priority tasks are indicated with a single exclamation mark, medium-priority tasks with a double, and high-priority tasks with a triple.

For instance, a circular complication can show users that there are 29 minutes left before the next task begins which is perfect for showing countdowns or progress bars. Meanwhile, if users prefer a bigger and bolder view of their task information, an extra-large complication may be the way to go. With this option, they can see that there is 1 hour and 14 minutes left before the next task, which happens to be “Grocery” starting at 14:26.

In addition to these essential details, the corner circular complication offers a unique feature with a red progress bar indicating that the task is of low priority and will begin in 29 minutes. On the other hand, a rectangular complication is ideal for displaying detailed information, such as the next task will begin in 44 minutes and 59 seconds, with the task name “Workout” starting at 13:57.

Adding Complications to Your App:

To create WatchOS complications, developers can use the CLKComplicationDataSource protocol to provide data to WatchOS. The data is displayed on the Watch face, and it updates periodically, ensuring that the data is always up to date. The ClockKit framework provides the necessary classes and methods to create and manage complications. Developers can use templates to create complications or create custom complications that provide unique designs and features. Developers can easily add complications to their watchOS app by following the documentation provided by Apple. Here are some resources for developers to get started with adding complications to their apps:

Adding complications to the watch face allows the user to customise their experience and get quick access to important information. Whether it be tracking the daily progress, keeping tabs on upcoming appointments, or simply checking the weather, these small widgets can help simplify their day-to-day life. By using TaskLister as an example, we can see how different types of complications can be used to display important data on the Watch face. The CLKComplicationDataSource protocol and the CLKComplicationTimelineEntry framework make it easy for developers to create their own complications and customise the data that is displayed. Ultimately, WatchOS complications are an essential tool for Swift developers to take their apps to the next level and deliver an exceptional user experience.

Have you used WatchOS complications in your app? Share your experience in the comments below!

--

--

CI&T Australia
CI&T Australia Tech Blog

CI&T partner with the world’s most valuable brands to build digital solutions that transform businesses