WWDC 2024

Published under Mango Paper, Jun 16, 2024

Even though I'm in a limbo state without a day job, between the kid not having school and international travel, I didn't spend much time on following WWDC 2024. Nevertheless, I followed my Mastodon timeline, watched some sessions, listened to some podcasts, and took some notes.

WWDC 2024 Apple Logo

User features I love

You can now mirror your iPhone screen directly on your Mac

You can even interact with it. And notifications and sound on your phone will come to your Mac. This is going to be my favorite feature.

You can now pause Apple Watch rings

I have attempted closed ring streaks in the past, twice. Both of them ended with one day of unclosed ring, then followed by not caring about the rings any more. Apple has finally learned that the ability to pause your streak can actually get people move more, not to mention the days when you have injures or other health issues and it's actually unhealthy trying to meet your original goals.

Sessions I watched

Bring your app to Siri

If your app is in one of their support domlistSeperatorphoto app,listSeperatorse functionalities to Siri via Assistant Schemas. There will be ~100 actions and 12 domains (only 2 domains available now, and the rest coming later). I don't have such an app, so it doesn't seem relevant to me. This approach is such a brute force way of making Siri appears to be smarter. It works great if your app is a supported domain.

Bring your app’s core features to users with App Intents

This is mostly refresher session for what App Intents are. Luckily, I have been keeping up to date with App Intents in Mango Baby and my users do love the features that brought by the framework. The iOS 18's new Control Center controls are also based on App Intents, and I will need to support them.

Design App Intents for system experiences

  • If you touch App Intents at all, which you should, this is a must watch session. It's also only 10 minutes long.
  • "Anything your app does should be an App Intent."
  • "In iOS 18, opening your app is now a common behavior to show people that the intent has made a change in the app."

What's new in App Intents

  • New APIs to index app entities.
  • Make entities transferable. Also see WWDC 22 Meet Transferable session.
  • Special useful IntentFile.
  • Entities can now have a URLRepresentation.
  • New parameter type: UnionValue.

Bring your Live Activity to Apple Watch

  • Existing iOS 18's Live Activity will appear on watchOS 11's smart stack.
  • Alerting live activity update shows on the watch.
  • You can customize the Live Activity for Apple Watch.
  • If you also have a watch app, you can choose to launch the watch app when tapping the Live Activity.
  • Local over-budget updates may not be processed immediately, but latest info will be shown when raising wrist.
  • Start, End, and alerting updates are prioritized for Apple Watch.
  • Adjust your view for Always On Display using isLuminanceRedueced Environment value.

Design Live Activities for Apple Watch

  • watchOS 11 introduces suggested widgets on the smart stack.
  • Widgets open automatically when raising wrist. (Question: what's the smart stack behavior on watch faces like Modular?)
  • Widgets are interactive. Live Activity without a watch app expands to a full view when tapped.
  • Widget should only show significant states based progress, action, and importance.
  • Controls are best for live activities that need to be played, paused or resumed.
  • Watch the WWDC 23 session Design Widgets for the Smart Stack on Apple Watch for additional design guidelines.
  • Recommend using standard margins and text styles.

What's new in App Store Connect

  • Submit featuring nominations for the editorial team to consider. Types include new content, app enhancements, and new apps.
  • Callout: "There’s more to your app than the software people interact with. There are the values you live by and the story of how you create your app. These could be related to promoting inclusivity or accessibility. For callouts such as these, we have the Helpful Details input."
  • New TestFlight invitation experience.
  • Ability to set criteria, like OS version, for public invitations.
  • Use custom product pages with deep links to highlight different features. Best for social channels, marketing campaigns, or Apple Search Ads.
  • New promote your app feature to generate marketing assets for social media sharing.

What's new in SF Symbols 6

  • New animation presets.
  • Custom symbol components need to be re-exported and imported to make Magic Replace work.
  • New feature in the SF Symbols app to annotate custom symbols for the new animations.

Meet the Translation API

  • Simple translation overlay with system UI.
  • Flexible translation API.
  • On-device ML models need to be downloaded, but shared with all apps, including Apple's Translate app.
  • If possible, use nil source language for auto detection.
  • Use batch translation for translating multiple strings.
  • Check LanguageAvailability for supported languages. Note that the list isn't huge.
  • Use real device when developing.
  • Batch translation should use the same source language. Use multiple batch requests to translation different languages. (Question: but often times I don't know the source language so in the end I have to use a single request to translate one string.)
  • New SF Symbol for translate.

Demystify SwiftUI containers

  • New APIs to build custom containers.
  • New API ForEach(subviewOf:) iterates through resolved subviews.
  • What's a subview? There are declared subviews and resolved subviews.
  • Resolved subviews can be backed up by a ForEach producing a collection of resolved subviews, or a Group.
  • EmptyView resolves to zero subviews. Conditional if resolves to subviews conditionally.
  • New API Group(subviewsOf:) gives the collection, thus count, of the resolved subviews.
  • New API ForEach(sectionOf:) iterates through each section for sections support.
  • New "Container values" of resolved views can be accessed by their direct container, to support container-specific customization options, just like .listSeperator.


Other news

Other links

My action items

These are my immediate action items in preparation for my September launch.

  • Support Control Center controls for all my apps.
  • Adopt the zoom API in Mango Baby.
  • App Intent: support get, create, edit, delete, and open each log.
  • Make app intent entities indexed by spotlight, and make them transferable.
  • Check out the new App Intent API in detail.
  • Live Activity: check out what is Live Activity alerting update.
  • Customize Mango Baby's Live Activity on Apple Watch.
  • Submit App Store Featuring nominations.
  • Use the new translation API in Mango 5Star, with UI inspired by the Meet the Translation API session.
  • Accelerate the development of the Mango Baby watch app, and support the double tap gesture.
  • Update Siri icon the Mango Baby.

∞ Ted Chiang Wins the 2024 PEN/Malamud Award for Excellence in the Short Story

Published under Mango Paper, Jun 13, 2024

Ted Chiang

From the PEN/Faulkner Foundation:

The PEN/Faulkner Foundation announces that Ted Chiang has been selected as the winner of the 2024 PEN/Bernard and Ann Malamud Award for Excellence in the Short Story.

“Ted Chiang’s stories are an absolute wonder to behold,” said PEN/Malamud Award Committee Chair Jung Yun. “Not only do they demonstrate his exceptionally high standards for creativity and construction, they also invite readers to think, imagine, and explore unique worlds beyond their own. Whether set in an alternate version of the past, or one possible version of the future, his work prompts important questions that are deeply relevant to how we live today. In doing so, Chiang exemplifies Bernard Malamud’s belief that a short story can produce ‘the surprise and effect of a profound knowledge in a short time.’”

One of my favorite authors. Ted Chiang is so well deserved!

∞ The Weird Fish and Connected Trivia Made to an WWDC session

Published under Mango Paper, Jun 12, 2024

Federico Viticci:

Friends, we did it:

The Weird Fish 🦠 and @connected trivia have officially made it to a WWDC session: https://developer.apple.com/wwdc24/10117

I'm loving this so much 😂

The WWDC 2024 Meet the Translation API session has included this content for Connected and fans:

Screenshot of a demon from the WWDC 2024 Meet the Translation API session

The WeirdFish's post translates to:

The hike was great, but it was so difficult that I had to pause the podcast. And I was an experienced hiker and hiked all over Rome, London, and Memphis.

Wholesome content like this warms my heart.

Published under Mango Paper, Jun 12, 2024

If AI is Apple Intelligence, then ML is Mango Learning.

∞ Saying Thanks to Open Source Maintainers

Published under Mango Paper, Jun 12, 2024

Brett Cannon writes,

After signing up for GitHub Sponsors, I had a nagging feeling that somehow asking for money from other people to support my open source work was inappropriate. But after much reflection, I realized that phrasing the use of GitHub Sponsors as a way to express patronage/support and appreciation for my work instead of sponsorship stopped me feeling bad about it. It also led me to reflect on to what degree people can express thanks to open source maintainers.

Be nice
Be an advocate
Produce your own open source
Say thanks
Fiscal support

What a fantastic list of ways how you can thank open source maintainers.

WWDC 2024 Wishlist

Published under Mango Paper, Jun 10, 2024

Here is my short WWDC 2024 wishlist. Some of them will have a high chance of being true, and some other wishes will never be granted.

Developer Wishes

  • LLM powered code autocompletion in Xcode. Bonus: integrate with SwiftUI preview in some way.
  • GenAI related iOS and macOS APIs that can be automatically improved with newer models under the hood.
  • Better tools to create and maintain custom SF Symbols. Bonus: GenAI assisted SF Symbol design tools.
  • Swift Package Manager in Xcode no longer needs to re-download or re-resolve dependencies for no good reason.
  • Continued improvements to CKSyncEngine.

User Wishes

  • visionOS guest profiles. Or at least do something to guest mode.
  • iOS Fitness app supports exporting GPX files for individual runs/hikes/rides.
  • iPadOS multi-user support. I know this will never see a light of day, but it has to be said by someone.
  • macOS Safari has Chrome-like pinned tabs behaviors. This is the only blocker for me to switch to Safari on Mac.

Have a wonderful WWDC 2024!

New Umbrella Feature: Posts Are Now Associated with Nodes

Published under Mango Umbrella, Jun 10, 2024

I just released a new feature to my Umbrella system: all the posts are now associated with a top-level node. Each top-level node page will also display its recent posts under it.

Nodes are similar to categories in a traditional blog. Except a node here, rather than a category, also has its own page with rich content and sub-nodes.

I hope this feature make my posts better organized. For example, you can now find all Mango 5Star's release notes with the URL https://mangoumbrella.com/5star/posts, keep track of my recent Hiking history, or peak at the things that I have Reviewed.

If you wish to have a dedicated RSS/JSON Feed for a particular node, please let me know and I'll add this. Right now I only have an RSS Feed and a JSON Feed for all posts.

∞ A Link Blog in the Year 2024

Published under Mango Paper, Jun 9, 2024

Kellan Elliott-McCrea writes:

Like many people I’ve been dealing with the collapses of the various systems I relied on for information over the previous decades. After 17 of using Twitter daily and 24 years of using Google daily neither really works anymore. And particular with the collapse of the social spaces many of us grew up with, I feel called back to earlier forms of the Internet, like blogs, and in particular, starting a link blog.

This is the very definition of something that no one needs. Technology doesn’t work like this, you can’t solve today’s problems by slavish devotion to earlier forms, its one-way doors all the way down. And certainly no one needs my link blog. I don’t really consume that much media from that many varied sources.

But I’m impressed by the folks who never stopped, Nelson, Simon, Andy, Jason, and figure that there is value in the doing, for myself if no one else.

My first linked post was written in 2012. Even though my website went through a few revisions, and I haven't been consistently blogging, I'm glad I haven't given up 12 years later today. We need more link blogs, or just blogs.

Boat Mural Timelapse

Published under Mango Paper, Jun 8, 2024

Artist Hanif Panni describes the project:

My neighbor has a sea-faring vessel which he parks on the side of his home. A few weeks ago, he received a letter from the city stating he needed to build a new fence to hide said vessel from view of the street. After reluctantly building the fence and driveway, he presented a sassy idea to me that would require my artistic skills. So here it is…

A painting of boat in a driveway next to a house on a fence in front of a boat in a driveway next to a house!

This was a fun one, even got my oldest boy to help out!

Also checkout other press coverages of the story.

Bartender Mac App Under New Ownership

Published under Mango Paper, Jun 5, 2024

There is a Reddit thread about the new Bartender ownership situation.

MacUpdater, a Mac app that helps you track and update all your Mac apps, put a warning about the new Bartender release. u/CoreCode from MacUpdater has a very detailed explanation why they added the warning. Calling out two points:

This is concerning because 'App Sub 1 LLC' seems to be a dubious company publishing a few low quality iPad apps (https://apps.apple.com/us/developer/app-sub-1-llc/id1667982354) and with an equally dubious homepage (https://stepsforiphone.com/). why was their certificate used to sign Bartender releases?

On 15. May the final release of Bartender 5.0.52 was released and again it was not signed by the known-and-safe 'Surtees Studios Limited (8DD663WDX4)' but by a 'Bartender App LLC (24J875RH8J)' never seen before

u/Ordinary_Delivery_79, self-claimed as the new Bartender owner responded:

Hey everyone, new owners of Bartender here! Our team acquired Bartender from Ben S, the original developer, two months ago. As we prepare to roll out updates for Bartender, we needed to re-sign the app with Apple using our company's information, replacing Ben's. This led to a one-time certificate change.

Truth be told, we should have notated it on the release notes but, since we could not update them retroactively, we included this fact on our blog & shared it with users as they emailed us. We've collaborated closely with Ben to understand his vision for Bartender. Our goal is to implement many of the improvements he had planned and address any reported bugs from the past few months to enhance Bartender's performance.

But there are no other information and this doesn't reassure users.

Jason Snell on Sixcolors:

These things happen—no developer should be chained to their software forever—but it’s odd that (anonymous?) new owners could appear without any communication to existing Bartender customers beyond a note saying a certificate had been changed. It’s Apple’s rules around signing app binaries, and the attention of MacUpdater, that brought this out into the open at all.

A glance around the Bartender website does reveal that while Surtees celebrated 12 years of Bartender in a blog post announcing version 5, posts from 2024 read more like SEO spam, with “key takeaways” summaries at the top, followed by unrelated Mac tips, followed by a pitch for Bartender.

Juli Clover from MacRumors:

At this point, it does not appear that Bartender's new owners plan to inform customers about the change in ownership, but users should be aware that the app has been sold and is no longer being updated by the original developer. The new owner's intentions are not clear, but as Reddit users have pointed out, the situation raises some red flags.

Filipe Espósito from 9to5mac:

Even so, it still seems a bit suspicious that the new developers only introduced themselves after all the controversy. Some users said they didn’t trust the app’s new owners and uninstalled it. Bartender’s official website has no mention of the acquisition.

Craig Hockenberry:

The problem with Bartender is that you are giving Accessibility and Screen Recording permissions to an unknown entity. With Accessibility APIs you can control the Mac (including other apps). With Screen Recording APIs you can see everything that's happening. Both of those things require trust, and the new owners being silent about the matter does not gain that. I wouldn't touch it with a ten foot pole until that communication happens.

Also remember that Bartender is not running in a sandbox, so it has a lot more access to the system than something from the Mac App Store. Like being able to establish network connections without entitlements. Or accessing data outside of the app's container. And since it's likely the app launches automatically and runs continuously, it's trivial to exfiltrate anything that's collected. At this point, it feels like someone bought a really nice back door.

Jeff Johnson:

I am doing fine, hope to be an indie dev forever, have no plans to sell StopTheMadness, and indeed never had an acquisition offer, but if someone totally mad offered me $millions for it, I absolutely would owe my customers an announcement.

Don’t let anyone tell you otherwise. It’s a sacred responsibility to run my native code on other people’s computers, and I take that responsibility seriously. Your customers trusted you, and any developer who violates that trust harms all other developers.

I personally don't use Bartender. My only need is to hide some of the rarely used menu bar items, and to make them available only when needed. The open source Hidden Bar app meets my exact need.

UPDATE on 2024-06-05: Ben Surtees, the original creator of Bartender, came out with a statement:

It's Ben Surtees, the original developer of Bartender. Twelve years ago, I embarked on a journey to create Bartender, a macOS app designed to help you manage your menu bar items. Over the years, it has been incredibly rewarding to see Bartender grow and become an essential tool for so many of you. Your support and feedback have been invaluable in shaping the app into what it is today.

After the release of Bartender 5, I came to the realization that supporting all the users and maintaining the app at the high standard I expect and you deserve was too much for one person. It required a dedicated team that could provide continuous support, innovate, and keep up with the fast-evolving macOS landscape. This realization led me to make a difficult decision.

This reads a genuine statement. Though the recent likely AI-written blog posts on Bartender's blog don't increase much of my confidence in the story.

UPDATE on 2024-06-06: According to u/pulsarsolar from a user support email with the new owner:

We've removed Amplitude from the latest test build (v5.0.53).

UPDATE on 2024-06-08: Adam Engst from TidBITS:

Instead, this was merely a case of botched PR. As a friend with a decades-long career in the field once told me, the goal of PR is to tell the truth and tell it first. Had Surtees and Applause announced the acquisition before making any technical changes, they could have avoided this online tempest and harm to Bartender’s reputation and user base. Now it’s up to Applause to mend the damage by focusing on transparency.

« Previous page Page 2 Next page »