Back to Journal, let’s start with the editor. We’ve seen this pattern a lot — a keyboard toolbar that summons other sheets. This is an elegant implementation: the toolbar stretches to the bottom and the keyboard sits on top.
Top-level
Back to Journal, let’s start with the editor. We’ve seen this pattern a lot — a keyboard toolbar that summons other sheets. This is an elegant implementation: the toolbar stretches to the bottom and the keyboard sits on top. 18 comments
Speaking of things you’ve seen before, take a look at what happens when you remove items from the attachment grid. It’s fairly similar to what you’d see on X, but they animate between layouts here, which is always a nice touch. You can record audio and attach them to entries like this. The pulse animation doesn’t respond to amplitude or anything fun, but at least it gets turned off if the Reduce Motion accessibility setting is enabled! One last thing here: Journal never asks for full photo library permissions, it just uses an inline system photo picker. And when an app uses it, the system provides a little animation to let you know the app doesn’t have full access to your library: https://developer.apple.com/videos/play/wwdc2023/10107/ Take a look at the date picker in the editor view, this is so weird: • Why does it appear in a pseudo-action sheet? While we’re talking about weirdness, let’s read the nav bar to absolute filth. Ahem: • Why can you preemptively bookmark an entry? Is the expectation that you’ll write an entry, think “this one is a banger,” and bookmark before you even finish it? Here’s our proposal: Get rid of the bookmark button. Move discard to its rightful place, as a cancel button on the leading edge. The nav title is already the date, so we can make this a button to change the date. We’ll give that a slight background as a hint to it being editable. Alright, enough about the editor. Let’s get to that gorgeous, lickable timeline. We actually got an early look back at WWDC of an earlier timeline concept. Which version do you prefer? 🤔 The timeline is this really nice card-style interface with a branded gradient in the background. In light mode, it’s quite subtle. In dark mode, it’s really 🅱️oppin’. Very good gradient, 9/10. For the longest time, Apple’s guidance was to avoid Android-y floating action buttons (FABs) like the plague. But it seems they’re slowly coming around to them? We love to see it. Taking a closer look at that footer, you’ll notice the variable blur effect. This has been showing up in a TON of first-party apps. Achieving this effect is quite difficult. There’s nothing in Figma that lets you do this and the API to do this is private (for now) 😕 Some people mimic this by making a blurred overlay and gradient masking it, but that creates a nasty halo effect when you dim the opacity of a blur layer. It’s not worth it, don’t do it. (By the way, we created this graphic using Here’s another common pattern that’s highly polished here: the media grid. You’d normally see this in a social media timeline, but we love the nested corner radius the grid items, how inner corners are sharper, and how items delightfully spring in and out of the light box view. When you scroll in the timeline, there’s some interesting behavior with the nav bar title — it collapses to the leading edge rather than the center. The stock nav bar, with centered text and trailing buttons, looks a bit lopsided; this is a nice fix! Next: card swipe actions. This rounded style is hard to replicate with public APIs, especially SwiftUI List. Most people give up and write a custom implementation, which is a shame since you relinquish a lot of accessibility features when you do that. Apple uses a few private swipe action styles — circular in Mail, or round-rects in Weather. Seb Vidal is taking one for the team by attempting to get his swizzled implementation through App Review. Godspeed, soldier 🫡 Thanks for following along! Hope you enjoyed this peek into our own design journal. 📓😊 @lickability You may love to see it, but I deeply dislike them. It’s disappointing to see Apple start using them, too. |
When a sheet appears, it swaps place with the keyboard. The toolbar never changes position; the sheets are always the same size as the keyboard. Compare this to the X/Twitter composer, where the Add Media gallery is full-screened. Use modals sparingly!