Looking back on WWDC 2020 Day 4 and 5

Continuing with the trend of covering the WWDC 2020, here’s what we found exciting on Day 4 and 5. Incase you missed it, here’s our coverage on Day 1, day 2 and day 3.

Let’s get started.

Day 4 at WWDC 2020


How to get the most out of the iPadOS pointer

Apple has a history of leaving select “old school” features behind in favor of a more modern approach: see the removal of the headphone jack. However, with the advent of iPadOS 13.4, they announced that they’d be adding something to iPadOS that’s never been seen on a touch-enabled device before: dynamic pointers!

When people use a pointing device on their iPad, they have a subtle pointer dot following their movements. This semi-recent addition aims to facilitate actions like inputting and editing text, situating yourself on the page, and hovering over different page elements.

Now that this feature has been around for a little while, WWDC day 4 featured a talk about how to get the most out of the noble little pointer.


What’s different about the iPad pointer?

While the traditional Mac pointer moves at “pixel-level precision,” this one uses something called “adaptive precision,” it dynamically adjusts the precision of the pointer to the precision of the user interface. When it comes to text selection, for example, the iPadOS pointer uses a combination of line-level (vertical) and pixel-level precision (horizontal).

By default, the pointer is shaped like a circle, but it can also take on the shape of the element over which it is hovering: for example, It will turn into a square when you hover over the buttons, and turn into a cursor on editable text


Pointer effects for iPad OS

There are three different effects associated with the new pointer feature:

  1. The highlight effect, which is typically used for small buttons. 
  2. The lift effect, which is typically used for medium-sized elements that already have a background, like App Ico icons and control center modules.
  3. The hover effect, which is typically used for larger objects. 

So, how do you decide which effect you should use? First, try the automatic effect and see how it looks for your application. If it doesn’t feel right, try another one out until it feels right. You should make sure that objects in the same group are consistently sized to get the most out of your pointer effects.


A deep dive into subscription architecture

If you’re going to offer in-app subscriptions, it’s important to understand users’ behavioral patterns! This session offered some guidance and best practices to follow. 

The Apple receipt that accompanies each subscription purchase is a goldmine of information: you can check and see if the subscription has expired, if it expired due to user action or a billing error, etc. While some of these features have already been available for a while, some of Apple’s most recent releases include grace periods. 

This data will help you deliver a stellar user experience. Here are a few examples of what you can do!

Let’s say an auto-renewing subscription was purchased by the user on May 1st. The subscription was renewed on June 1st, and the user cancelled on June 17th, but they will continue receiving their subscription until July 1st. With this information in hand, merchants can try and win their customers back by offering a discount if they sign back up, for example.

Now, let’s take a look at the billing retry feature. Let’s say Apple failed to renew the subscription on June 1st for some reason – for the purposes of our example, a billing error – but it renewed successfully on the 15th instead. 

By implementing logic to handle Apples Server to Server notifications or via reprocessing the purchase receipts , you will know that the user has entered the billing retry period. You can therefore inform the user about the billing error (via an in-app banner or notification, for example) and deep link to the App Store account page so they can rectify it.

Shifting over to the newly minted grace period feature: if the above scenario plays out, the merchant can inform the user that they have X days remaining with their subscription. Both of these use cases create more meaningful user engagement, where providers can become helpful allies.

The big takeaway from this session was that each subscriber journey is unique, and the subscription management process is often more nuanced than we might realize. Just look at how many possible subscription statuses exist – the more you know about the customer’s current situation, the better-equipped you’ll be to serve them.


Day 5 at WWDC 2020


Widgets are getting smarter and more customizable

Instead of just one widget that’s available in different sizes, you can now build multiple widgets for your app! What’s more, they can be configurable: for example, you can build a widget that displays recent purchases on a user’s credit cards, with the option to sort by card and purchase sub-category. These configurations can be performed from the home screen by long pressing the widget and selecting “edit widget.”

Have multiple widgets? Enter Widget Stacks, which allows you to place multiple widgets together as a “stack” as you swipe through them. The system will automatically rotate the stack and prioritize the most important widget at a given time using stack intelligence. 

This concept is powered by user behaviour (i.e. frequency of use and time of day) and relevant app information (e.g.  in the case of a weather widget, a storm warning would bring it to the top of the stack). 


What’s new in universal links

Universal links have been around since iOS9, but WWDC 2020 offered a few updates for this long-standing technology. Here’s our rapid-fire summary:

  1. Support for WatchOS
  2. Case insensitive pattern matching
  3. Support for Unicode patterns
  4. Support for substitution variables


See you next year!

That’s all for WWDC 2020, folks. We came, we saw, we learned, and we’re already looking forward to next year’s announcements. Thanks for following along with us!


Recommended Reads