Rethinking Widgets

Widgets have been a key part of Android since its earliest days, but iOS has never adopted them in the same manner. With iOS 5 Apple introduced Notification Center, which included two widgets of sorts that pulled information from the Weather and Stocks apps. These really just existed to give a quick update on information when you went to check notifications, and they weren't a persistent part of the home screen like widgets on Android are.

Fast forward to iOS 7 and widgets received an overhaul. They still existed in Notification Center and couldn't really be customized, but they now formed what Apple called Today view, which existed on a separate page from notifications and provided relevant information relating to upcoming meetings and reminders, stock prices, and the weather. With iOS 8 Apple opened widgets up to developers, allowing anyone to present relevant information as a section in the Today view. Of course, this kind of customization was new for Apple and for iOS, and there was conflict between Apple and certain developers who had created widgets that provided functions beyond what Apple had originally intended.

To be honest, I think widgets have provided a poor user experience on both iOS and Android, although for different reasons. My problem on Android is that widgets have no standards for design, padding, and appearance, and so your home screen turns into a mess of mismatched widgets. iOS resolved this by providing a standard interface for widgets that developers would simply provide a view for, and widgets were not placed among the app icons which helped cut down on clutter. Unfortunately, the solution of putting widgets in Notification Center only worked in theory, and  in practice you never end up pulling down Notification Center to check your widgets. Android got it right by putting them in the launcher, but there needs to be a better solution for organization and visual uniformity.

iOS 9 actually presented a solution to the widget problem on iOS, although nobody would have known at the time. In my iOS 9 review I talked about the new search screen to the left of your first home screen. This screen had a number of fixed widgets, such as Siri app suggestions and content pulled from News. At the time I remarked on how similar this screen was to Google Now, but that it really didn't provide value to the user and seemed poorly thought out. In iOS 10 that screen has been scrapped to make room for a new space just for widgets.

The widgets screen on iOS 10 exists in three places. You'll find it on the redesigned lock screen, on the home screen, and in Notification Center. In all three cases you access it by swiping right, which provides a uniform way to access widgets from any part of the iOS UI. In every situation the interface changes slightly. In Notification Center you have a blurred background, and on the lock screen you get the current time and battery charge rather than the date. The iPad gets some additional tweaks in landscape mode, with the widget layout expanding into two columns to take advance of the available space.

In addition to the new interface, Apple has added some useful widgets that didn't exist in iOS 9. The new weather widget is great, with the current weather and chance of rain being shown in the condensed view, and the expanded view showing the weekly forecast. There's also a widget for the Activity app which shows your current progress toward your three activity goals. Maps also receives some really helpful widgets, including one for transit which allows you to check if there are any service advisories on your favorite transit lines, which has already helped me avoid delays due to subway and streetcar closures that I would not have thought to check for otherwise.

Widgets in iOS 10 provide a much better experience than they did in iOS 8 and 9. Replacing the useless search screen to the left of the home screen with a widgets page was a good move on Apple's part, and in my view it provides the best overall widget experience on a mobile platform because the design and size of widgets are consistent, and they don't have to share space with application icons. I've definitely used the widgets more during the beta period than I ever did during the two years that iOS 8 and 9 were the latest versions of iOS, and I'm sure that I check them more times in a single day than all the times I checked the search screen that they're replacing. Getting users to actually use widgets puts more pressure on developers to offer their own, so it'll be interesting to see if more apps begin to offer widgets after the release of iOS 10.

Expanding 3D Touch

3D Touch was perhaps the most interesting thing about last year's iPhone 6s. Apple's pressure sensitive screen technology quite literally added another dimension to the touch experience on mobile devices. Like most of Apple's new technologies, the initial implementation of 3D Touch features in the OS was fairly limited, and there was basically no API for developers. You could create a hack of sorts by subclassing UIGestureRecognizer and playing a specific AudioToolbox sound to trigger feedback from the Taptic Engine, but Apple didn't provide official support for 3D Touch beyond the Peek and Pop interactions to preview content from a ViewController without actually navigating to it.

Presenting a new technology with an initially limited or non-existent API is nothing new for Apple. When Touch ID launched it was only able to unlock your phone and authorize App Store payments. Since that time it has been opened up to developers for handling authentication in their own apps, and Apple has expanded its use to cover authentication when paying with Apple Pay. With Apple's history of waiting to expose APIs for their new technologies, it's not surprising that iOS 10 is where 3D Touch gets a full-featured API for developers to use.

As I mentioned before, in iOS 9 developers were limited to using 3D Touch for Peek and Pop actions, as well as for Quick Actions from the homescreen by pressing on their app icons. This is still a large part of the 3D Touch experience, and Apple recommends that all developers implement 3D Touch in their application on tappable views that navigate somewhere else, such as tapping on a TableViewCell to move to a new ViewController.

Right now neither Peek and Pop or Quick Actions have changed a great deal, although Apple has seemingly altered the timing functions for the animations that play for these interactions, which makes them feel more responsive and aligned to the amount of force that you're applying. Quick actions on the home screen can also show widgets that your application provides, along with a button to add it to the widget screen if you haven't done so. This is actually the fourth place in the OS where widgets are accessible, and it's quite an elegant solution to avoiding the clutter that mixing widgets and app icons creates, while also expanding 3D Touch's ability to provide access to relevant information rapidly.

The new UIPreviewInteraction class allows developers to move beyond Peek and Pop to use 3D Touch for customized actions in their applications. The kind of UI that this can enable really depends on the application, and the opportunities for customization are limitless. The most common type of interaction that 3D Touch is useful for is displaying a screen where the user can select an object which then triggers an action in the previous screen and returns back. 

In iOS 10 I've noticed an example of this type of interaction in the Music application. In the new Music app there is a three dot overflow button next to your album art when you open an album. This brings up a Action Sheet with various options, such as adding it to a playlist or setting it to play next. These are actions that apply to the entire album, and it's inconvenient to have to navigate into the list of songs just to get this menu up, set it to play next, and then navigate back out. 3D Touch solves this by defining a custom action on the album cover cell in the CollectionView. By pressing down on the album cover the application creates the exact same view as the overflow menu, giving you access to all the available options. In addition, the menu is designed so that you can move your finger to the appropriate action and then release to select it, which means you don't have to remove your finger from the display. It's a very natural interaction to follow a 3D Touch press, and it lets you quickly access and select one of the actions in a much quicker manner.

It will take time for developers to implement support for custom 3D Touch actions in their applications. Adding support for basic Peek and Pop is incredibly simple and so it already has good adoption among popular apps. Now that Apple has more than two devices with support for 3D Touch there will also be more incentive for developers to find the areas where this kind of interaction can improve the user experience and actually implement it. Only time will tell how widespread 3D Touch becomes adopted in applications, but I think the improvement to user experience is substantial enough to warrant the effort required to do so.

Refining The Design of iOS Extending iMessage
POST A COMMENT

113 Comments

View All Comments

  • Punit - Saturday, July 1, 2017 - link

    hi Reply
  • Selim Reza - Monday, October 22, 2018 - link


    There's a very good chance that you've already installed iOS 10, the latest operating system for Apple's iPhone and iPad. Apple is much better at getting devices upgraded consistently than Google.
    Check out a notification app for developer here: https://catlight.io
    Reply
  • jmartein - Friday, March 22, 2019 - link

    In the UK and Europe Android has a much larger foothold in the mid and upper markets than it does in the US. So a lot of the new OS gains are worthless when at least half your friends run Android phones. I haven’t used iMessenger at all for months

    It has sped up my iPad Air 2 though I’ll give it that, though introduced bugs in some third party apps that are yet to roll out updates, slow coaches
    Reply

Log in

Don't have an account? Sign up now