Tuesday, September 1, 2026

TipKit for the Real World

Craig Hockenberry:

Then, when you look at the sample code, it’s all SwiftUI. At least the sample compiles and runs because it uses a completely different syntax than what was shown at WWDC.

[…]

Eventually I stumbled upon TipUIPopoverViewController which inherits from UIViewController. That should work! […] But it didn’t: the close button on the popover didn’t work.

[…]

Until you realize that any changes you make are stored in a SQLite database, debugging is very confusing. It’s also easy for your own state to get out-of-sync with the Tip state: there is not a single source of truth.

[…]

Unfortunately, that sample code doesn’t scale well. If you have a view with multiple tips, you’re going to be littering your code with tip instances, observation tasks, and popover controllers. It’s a mess and a clear sign that the TipKit developers didn’t think much about UIKit.

Fatbobman:

In the previous article, we introduced the basic usage of TipKit. In this article, we will discuss some advanced topics related to TipKit, such as how to fully customize Tip views (not using TipView and popoverTip), how to use TipKit with UIKit, and how TipKit can share data across different applications, as well as how to reuse Tip declaration code. Additionally, we will attempt to address some common questions and concerns about TipKit.

Previously:

5 Comments RSS · Twitter · Mastodon


Not a fan of all these "tips" that show up everywhere. Every app these days has delusions of grandeur that the three buttons and a pull to refresh are somehow so unique, a "tip" needs to show to educate you to click on "…" to show "more". Too bad there is no OS-wide toggle to disable all of them.


It's pretty funny that the WWDC 23 introduction video shows them adding a tip to the "favorite" button.


Does anybody actually like tooltips?

I feel like we've made almost no progress in this area since Balloon Help (1991). Perhaps even negative progress, since you could easily turn Balloon Help off.


Balloon help was awesome because you could turn it on when you needed it and off when you were done. The main problem with it was that it was unevenly supported by apps, so people never got used to turning it on; half the time, it didn't do anything.


That's the perennial problem. You download an application and then discover it's some half-assed port (maybe Electron) that doesn't support click-through, or drag-n-drop, or common keyboard shortcuts, or whatever. Mediocre apps are always training users to ignore all the technologies that aren't well-supported everywhere.

Somebody should make a website that reviews apps with a big table showing which native technologies they support.

Leave a Comment