AI Drawing from Beginner to Proficient

Published under Mango Paper, Jun 19, 2024

Every time I go to a bookstore in China, I'd like to checkout the IT section. The books there simply bring me so many childhood memories.

This time, there is a new book next to the usual Photoshop tutorial books:
Stable Diffusion, AI Drawing from Beginner to Proficient.

A book titled AI Drawing with Stable Diffusion, next to other Photoshop tutorial books.

A book titled Stable Diffusion, AI Drawing from Beginner to Proficient, next to other Photoshop tutorial books.

The book market still moves fast.

∞ How Innovative Is China in Nuclear Power?

Published under Mango Paper, Jun 18, 2024

Stephen Ezell writes for ITIF:

Though China built upon a foreign base of technology, it has become the world’s leading proponent of nuclear energy. Chinese firms are well ahead of their Western peers, supported by a whole-of-government strategy that provides extensive financing and systemic coordination.

I grew up in the 90s next to China's first nuclear power plant Qinshan Nuclear Power Plant. I felt forever educated that Qinshan was one of the only two nuclear power plants in the country. It's certainly a different era now.

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:

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, 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.

Page 1 Next page »