Wed. Oct 4th, 2023

Third party interactive widgets

Okay, let’s get to the good stuff.

As is often the case with any major new system integration on iOS, Apple takes advantage of that to some extent with its own apps, but then leaves the door open for third-party developers to come in and innovate. And let me tell you: In the three months I’ve been testing interactive widgets on the home screens of my iPhone and iPad, I’ve seen some wild, inspired implementations of widget interactivity that I bet even Apple couldn’t have done back in June to predict.

We’re going to cover most of these apps and updates in standalone articles on MacStories, but here’s an overview of what I’ve seen so far.

It should come as no surprise to MacStories readers that Joe Hribar, the developer of the excellent time tracking app Timery, has been busy updating the app with expanded support for interactive widgets. Timery’s new widgets are everything I hoped for three years ago when iOS 14 launched: instead of having to launch the full Timery app when you select a timer to start from the home screen, the widget now launches your timer and it will reload – place to show you the elapsed time.

This new feature alone is great because it makes time tracking a more seamless activity than before. But it’s just an appetizer. Hribar pioneered an approach earlier this summer that I think other developers will soon follow (or have already copied): pagination within interactive widgets. If you have too many timers to fit into a widget, you can enable pagination. The widget will then have buttons that allow you to navigate between multiple pages of timers within the same widget.

As I explained above, interactive widgets support buttons, and pressing a button reloads the widget, so Hribar figured he could take advantage of this to let the user “scroll” through multiple pages of timers.

This is a genius implementation of the widget API that doesn’t break any rules and demonstrates the flexibility of SwiftUI. But I’m not done yet: Timery’s interactive widgets can start a live activity from the home screen as soon as a timer is tapped; they even support permanent configuration buttons to start a timer with adjustments from, for example, 1 minute or 10 minutes ago. There’s a lot to do with Timery’s interactive widgets; Hribar has outdone himself this year.

However, he is not alone. Indie developer extraordinaire and Widget King David Smith has embraced widget interactivity with Widgetsmith, and version 5.0 of the app is a doozy. Widgetsmith 5.0 features new home screen widgets with inline interactions and rich animations that I haven’t seen in any other app this summer. Get this: Widgetsmith has a Cover Flow widget which allows you to start playing an album or playlist directly from the home screen. Seriously, it’s the Cover Flow you remember from back in the day, only as an interactive widget:

What’s impressive here isn’t just that Smith figured out how to replicate Cover Flow’s animations and interactions in a widget. It is that you can also choose to use Apple’s Music app as the underlying player for Widgetsmith. Do you see where this is going? This means that – without ever leaving the home screen – you can use Cover Flow, tap an album, wait a second for it to start playing, and two things will happen:

  • You’ll see the ‘Play Now’ activity appear on the dynamic island;
  • If you selected the Music app as the player for Widgetsmith, the Music widget will too Also reload on the home screen once the Cover Flow one starts playing.
READ MORE  Apple's old iTunes Movie Trailers app is still around, but not for much longer

The Cover Flow widget has quickly become the widget I use most, as it works perfectly with the Music app and Marvis Pro. But it’s not the only type of interactive widget Underscore has built this year: there’s an interactive calendar widget that lets you see events for each day; a multi-tab weather widget with sections for forecast summaries, hourly conditions, and weekly forecasts; there are photo collections that let you browse multiple photos on the home screen, a weather station widget with six different sections, and more. Basically, Widgetsmith brings mini apps to the home screen thanks to interactive widgets – which is a major trend I’ve noticed this summer.

I’ve seen all kinds of system integrations supported by interactive widgets over the past three months. Music Info, a handy utility from Jordan Hipwell, comes with an interactive widget that lets you look up song credits and metadata for what’s currently playing right from the home screen. The app uses the updated ShazamKit framework in iOS 17 to detect songs even when you’re wearing AirPods, and the widget has a reload button to retrieve metadata for the current song. I have it in a music-themed stack next to the Music and Widgetsmith widgets, and it’s great.

I’ve said before that I was disappointed to see that Apple doesn’t offer a true Now Playing widget with inline play buttons on the home screen. I say that because I’ve seen third-party developers build widgets like this before, and it’s a shame Apple hasn’t tried it. For example, Adam Linder’s Albums app adds three different flavors of Now Playing widgets, including a large one with full play controls for playing/pausing songs and switching albums. Obviously these widgets don’t support the scrub controls you’d typically use for track progression and volume in a dedicated player, but they’re a good start nonetheless.

WidgetPod, a utility for Now Playing widgets from Aditya Rajveer, used to rely on a workaround in iOS 16 to simulate home screen interactivity. In iOS 17, WidgetPod added truly interactive widgets that let you control music playback, refresh what’s playing, and even enjoy a song straight from the home screen (something the Music widgets don’t support).

Speaking of scrubbing in a widget: As I noted above, interactive widgets don’t support scrolling gestures in iOS 17, meaning UI elements like progress bars and sliders aren’t well suited to the Home screen at this time. Unless you are Clément Marty, the developer of Home Widget, who has found a way to turn a potential Sherlocking into a competitive advantage thanks to the interactivity of widgets. As we’ve seen, iOS 17’s built-in Home widgets are great, but they can’t go beyond turning accessories on and off. In Home Widget for iOS 17, Marty has come up with a solution to offer ‘sliders’ for brightness levels, shutter opening levels, and even color pickers for HomeKit accessories that you can control directly from the home screen.

Marty’s clever approach relies on reloading a widget after you tap an accessory, so you see a “pop-up” with a “slider” that lets you change the brightness level of a lamp, for example. The quotes are necessary because these aren’t really popups (it’s the same widget view) nor are they sliders (you can’t swipe over them): you can only tap the slider to adjust the brightness level, and you can “close ‘ the pop-up with a button. Everything works as you’d expect, including changing the colors of the widget’s lights, with the exception that each gesture must be a tap/click on the widget. Would it be better if the widget supported real sliders? Yes. Will I still use the Home Widget in addition to the Home widgets for additional controls? Absolute.

This is where we get into more esoteric territory, and I need to do this to show you why there is no such thing as the iOS developer community. Developed by Leo Mehlig of Structured, Klang is a soundboard app that lets you play sounds through interactive widgets on the home screen. Whether you’re a podcaster and want quick access to certain sound effects or just want to quickly play a cow or elephant sound via a widget, Klang has you covered. Expect to see more apps along these lines soon.

READ MORE  The Weather app adds more detailed data in iOS 17, iPadOS 17, and macOS Sonoma

Then there are games. Yes, you read that right: a new category of apps you’ll soon find in the App Store are games you can play with basic interactions as home screen widgets. Tic Tac Toe Widget, created by Greg Gardner of Launcher (who also updates Launcher widgets with pagination support), lets you play, well, a game of Tic Tac Toe against a bot on your home screen. It’s crazy, it’s fun and I love it. Another is Widge, a widget gaming app created by Adam Shaw that supports several types of tap-based puzzles, including sliding puzzles and lights on, that work with photos from your own library.

Hopefully the examples I’ve provided in this review give you an idea of ​​the interactions you can expect from this new breed of widgets in iOS 17. Although I’m still waiting for third-party developers to come up with interesting ideas for note-taking and clipboard-based widgets (if you have, please contact us!), I think something is already very clear: Apple has opened the floodgates again with widgets, and just like three years ago, the developers are pouring in .

Interactive widgets as modular apps

Interactive widgets are exactly the kind of interactions I want to have with my iPhone. Sometimes I know I want to open a full app, so I spend a few minutes on it, close it, lock my iPhone, and then unlock it again after a minute because I’m hooked. I think I speak for many of us here. But sometimes I just need to do something quickly while I’m doing something else and I don’t want to switch contexts. This is where interactive widgets come in: they are productivity catalysts for standalone interactions that can take place in the neutral, limbo state of the home screen.

This is what I meant above when I mentioned app modularity: to an even greater extent than what Shortcuts has been doing for years, interactive widgets take specific functionalities from apps and make them available as a la carte components that you can mix and match as you please.

The widget story in iOS 17 reminds me of three years ago, with a palpable sense of excitement based on the feeling that the way we use our phones is about to change again. Apps are becoming interactive in more and more places, ultimately allowing us to be faster, more efficient and better connected.

By Admin