In short - yes, new widgets will allow your app to stick to the users, which is a cardinal rule if you want to keep them using your app! Nevertheless, let's dive deeper and explore the brand new and amazing widgets!
But first, what are iOS Widgets?
The first thing you need to know is what Apple has been repeating multiple times through WWDC sessions - "Widgets are not mini-apps" this is crucial to understand what's their purpose. Widgets in the Apple ecosystem are a new way of placing your app closer to the user, allowing them easier access to your content and giving them a chance to personalize home screen even more! They don't interrupt in the same manner as push notifications rather peacefully lay in the home screen bravely showing rich data available to the user always when they need them. You can create editable widgets so that users can adjust them the way they like, and, trust me, the glanceable, personalized widget won't leave the home screen for a long time. Now let's jump back in time to see what changed, and why now it's the time for you to start creating beautiful widgets!
So how was it before iOS 14?
Until now, Apple allowed developers to create widgets for their apps but they were on separate screens, or far from being easily accessible, therefore people tend to forget them quickly, and not use them at all. Some people omit that screen part entirely, do you recognize this?
Okay, so what's changed?
iOS 14 is adding a completely redesigned experience of widgets. Now we can place them directly on the home screen, which opens for us developer's vast ways of getting into user daily habits. Apps can now show crucial information in the most personalized place of the whole device. So find common flows for your users and simplify their life by moving all the pieces of information they need directly to the widget.
What's more, with the use of smart stacks (which automatically swap widgets across the day), we can show the widget just at the right moment by providing proper relevance for it. So in the morning, we will get the weather forecast, later the calendar will show up with events, and in the evening, we will get out favorite tunes to chill out.
One for all
Writing widgets with SwiftUI and WidgetKit will let you create one widget for all platforms. Apple got you covered, whether it's iPhone, iPad, or Mac! Of course, you can write multiple widgets for your app and create what Apple calls a Widget Bundle. An example of that would be a widget featuring your next todo with description and every detail, and the other listing multiple of them, now people can choose different widgets depending on their needs!
Cool! What can I do with these widgets?
The main focus of the widget should be to present concrete, personalized content rich in data but small in size. While designing a widget, think of your app's most important data to the user, and how it can fit into their home screen. Below we list some good to know characteristics that will help you understand Apple Widgets.
Apple allows us to create widgets in 3 different size classes (Apple calls them families), small, medium, and large. The small size takes the place of 4 app icons, medium 8, and the large one 16. The smallest widget allows us to support a single touch in the widget. Two others give us a way to freely define tap area and then deep link the user to the specific part of the app (example widget with favorite contacts which move us directly to chat with the tapped person). Remember, widgets don't allow any kind of scrolling, so the view in widget should fit perfectly to their size class.
Look how the Calendar App changes it's content between different family sizes, getting more screen shouldn't only use space to scale content but present user additional information (note: all families are not required, you can support just one)
For iOS 14, we are getting two types of configurations for the widgets, static and intent.
Static doesn't mean that the content of widget will never change but that the user can't customize it, intent, on the other hand, allows us to long-press on the widget to edit it. With an intent widget, we could, for example, choose currencies that we want to track while with the static, there is no room for editing once the widget is placed.
Above there's an example of an interactive widget. After using a long press gesture we can select the note that will show up on the widget, and to which the app will deep-link on tap by default.
3. Timelines & Snapshots
Timelines are very important to understand because they act as a data source for our widget. Widget content can be updated by the timeline (app generates them ahead), reload policy (the system will determine the perfect time, or define at the end, by date, never), app-driven reload (after receiving background notification, when launched by the user, or launched in the background by, e.g., geofence, BLE, or on location change).
As developers, we need to provide a snapshot of our widget that will be shown in a widget gallery. Thanks to that, the user can immediately see how our widget will look and a placeholder that will be presented when data loads. The latter is extremely easy to implement as it requires only 1 line of code!
Now, what's the point?
As people, we are lazy by nature, and when the information can be read from the home screen, why should we bother to tap on the app then select a tab, then the item we're interested in then. You're getting it, right? We have the opportunity to get a tap closer to our users and serve them with direct, dynamic, and personalized data. Apps that provide widgets will be getting more attention once widgets will start to jump on iOS 14 home screens, you don't want to miss the boat, don't you?
I want a widget!
Following new platform trends is fun and can have a great impact on your app popularity. Apple makes special recommendations for apps that follow new standards. Like in 2017, when notch came up, App Store was featuring apps that were quickly adapting to new screen requirements.
If we caught your attention for widgets and you want to build one for your app, make sure to follow our blog as we plan to publish a few tutorials on this topic here. Until then, I recommend you watch this year's WWDC sessions or check this article by John Sundel. Alternatively, if you're not a developer, we can build a widget for you. Just let us know.
Image credits (in order of appearance)