I build my ideas #7 - 07/12/20

SwiftUI Kit, Recreate Kit, lil widgets, nostalgia

SwiftUI Kit

I usually read Apple’s SwiftUI documentation when trying to understand how to do something new in SwiftUI. With lots of new SwiftUI API’s, sometimes it’s hard to visualize what something will look like without example images. So I had this idea: what if there was an app that showcased everything you can do with SwiftUI out of the box?

SwiftUI Kit is a SwiftUI system components and interactions demo app based on iOS 14, macOS Big Sur, watchOS 7, and tvOS 14. It’s a great way to see how SwiftUI views appear and interact when using the system defaults. It’s also multiplatform, so you can see how system components adapt across platforms. This is made for the SwiftUI community, by the SwiftUI community. People are already contributing (including designers!) to continue to make it better. Check it out for yourself.

Recreate Kit

Nav and I work on Recreate, a video series about recreating popular UI with SwiftUI. It started with the urge to teach and inspire others to learn SwiftUI for the next generation of designers. We’ve recreated the UI of many popular apps, including Twitter, Instagram, and Messages.

The idea for each recreate video is simple: do a speed run starting from scratch to create and layout some UI. After doing this over and over, we started to realize that many apps use similar paradigms for components, like displaying a user cell or a button with an icon in it. We thought it would be neat to create our own custom SwiftUI component kit that anyone can use in their own app, featuring popular re-usable components.

The plan would be to create lots of kits beyond our own. The other we’ve got planned is iOS 6 Kit. Mostly for fun, it presents both a challenge to create and a nostalgic throwback to the past. More coming soon. Check it out.

lil widgets

As I’ve been experimenting with iOS 14 widgets as well as seeking to create the next lil app in parallel, I thought there was an opportunity to make “lil widgets.” I thought it might be interesting to create an app that is entirely for putting custom widgets on your home screen. In particular, focusing on some of the utility-based system widgets that don’t quite exist yet include tracking a package, tracking a flight, and a countdown for a date.

The idea behind lil widgets is that it acts as a dashboard to manage different widgets that it offers, for example tracking a flight. To track your flight, you’d enter your flight number inside of the app, and the widget will magically update to show your flight status. This applies to a number of other concepts, including entering a package tracking number to track your package, or a date to watch a countdown.

As I was exploring it further, Apple does let you offer multiple widgets per-app (as a bundle), but it’s limited to 5. Either I’d have to choose the 5 wisely, or create a generic widget that can adapt based on how you customize it.

That last part is most interesting. Imagine a single generic lil widget that has presets defined (like flight or package tracking) but also allows for a custom API to be plugged in. The widget would follow a standard display template (icon, value, title) and could in theory work for any API. I’ll keep exploring this concept to see if it’ll work.


On the topic of widgets, I thought to myself “what would it look like if widgets had existed in iOS 6?” Here’s my take on an imaginary iOS 6.

I used Rdio as my main music streaming service back then, as I learned many of you had too. In experimenting with layout out sample macOS Big Sur SwiftUI apps, I wanted to take a look at Rdio if it existed in 2020. It struck an emotional chord with lots of you, which shows just how much love there was for Rdio. RIP Rdio.

I’m really excited about the community that Eli is building for SwiftUI + designers with Primitive

I appeared on my first podcast. Thanks Everyday Robots!

I open-sourced a few sample SwiftUI macOS Big Sur apps: Rdio and Figma

Check out the latest Recreate post: Recreate the Messages App (iOS 14) - Part II

Cash App is hiring designers!

Ask me anything