3598 stories
·
106 followers

Ten years of Overcast: A new foundation

1 Comment and 2 Shares

Today, on the tenth anniversary of Overcast 1.0, I’m happy to launch a complete rewrite and redesign of most of the iOS app, built to carry Overcast into the next decade — and hopefully beyond.

Like podcasts better than blog posts? Listen to ATP #596 for more!

What’s new

  • Much faster, more responsive, more reliable, and more accessible.
  • Modern design, optimized for easily-reached controls on today’s phone sizes.
  • Improvements throughout, such as undoing large seeks, new playlist-priority options, easier navigation, and more.

What’s not

  • Most features. Overcast is still Overcast!
  • The audio engine. It’s the best part of Overcast, and still leads the industry in sound quality, silence skipping, and volume normalization. (More soon!)
  • The business. I’m still a one-person operation, with no funding or external ownership, serving only my customers.
  • My principles. I always want to make the best podcast app, and I’ll never disrespect your time, attention, or privacy.

What’s gone

Streaming. Most big podcasts now use dynamic ad insertion, which causes bugs and problems for streaming playback.1 Downloading episodes completely before they begin playback is much more reliable.

Tapping a non-downloading episode will now open the playback screen, download it, then start playback. It works similarly to the way streaming did before, but playback begins after the download completes, not after a portion of it is buffered.

On today’s fast networks, this usually only takes a few extra seconds.

And in the near future, I’ll be adding smarter options and more control over selective downloading of episodes to further improve the experience for people who don’t automatically download every episode.

What’s next

  • The last few missing features from the old app, such as Shortcuts support, storage management, and OPML. These are absent now, but will return soon.
  • More options for downloading and deleting episodes.
  • Upgrading the Apple Watch app to the new, faster sync engine. (The Watch app is currently unchanged from the previous one.)

And, of course, more features, including some of your most-requested features over the last decade.

Getting this rewrite out the door was a monumental task. Thank you for your patience as I work through this list!

Why?

Most of Overcast’s core code was 10 years old, which made it cumbersome or impossible to easily move with the times, adopt new iOS functionality, or add new features, especially as one person.

That’s why there haven’t been many new features or changes in years.

You saw it, and I saw it. I wasn’t able to serve my customers as well as I wanted.

For Overcast to have a future, it needed a modern foundation for its second decade. I’ve spent the past 18 months rebuilding most of the app with Swift, SwiftUI, Blackbird, and modern Swift concurrency.

Now, development is rapidly accelerating. I’m more responsive, iterating more quickly, and ultimately making the app much better.

Thank you all so much for the first decade of Overcast.

Here’s to the next one.


  1. Dynamic ad insertion (DAI) splices ads into each download, and no two downloads are guaranteed to have the same number or duration of ads. So, for example, if the first half of an episode downloads, then the download fails, and it downloads the second half with another request, the combined audio may jump forward or back at the halfway mark, losing or repeating content. ↩︎

Read the whole story
sirshannon
10 days ago
reply
Share this story
Delete
1 public comment
LeMadChef
6 days ago
reply
Hands-down my favorite podcast player
Denver, CO

Here There Be Dragons

1 Share

I trust you all caught “The Red Dragon and the Gold,” the fourth episode of season 2 of HOUSE OF THE DRAGON.   A lot of you have been wanting for action, I know; this episode delivered it in spades with the Battle of Rook’s Rest, when dragon met dragon in the skies.

Has there ever been a dragon battle to match it?   I seem to recall that REIGN OF FIRE had a few scenes where a dozen dragons were wheeling through the skies.   So, okay, maybe that was a bigger scene, with more dragons on screen… but a better battle?   I don’t think so.   Our guys knocked this one out of the castle.   I think they took it as a challenge.    And the dragons…

Dragons are mythical, of course.   In the real world, the one we live in as opposed to those we like to read about… dragons never existed… though similar creatures can be found in legends all around the world.   Some believe that maybe the stories were inspired by the discovery of dinosaur bones by farmers plowing their fields.   Regardless of where the stories originated, they have been a huge part of fantasy for centuries.  And I’ve been fond of them for as long as I remember.

Hell, I’m named after a dragonslayer — St. George, of course —  and he’s still a saint, when a lot of other saints were thrown out a couple decades back… which I suppose means that dragons have papal approval.   I started writing my own dragon tales long before A GAME OF THRONES.   “The Ice Dragon” and  “The Way of Cross and Dragon” were two of my best.

Every culture has its own version of dragons; Chinese dragons are wingless and do not breathe fire.   They bring good luck.    Traditional western dragons bring mostly fire and death… but modern fantasists have played with that a lot too.   The dragons of ERAGON and HOW TO TRAIN YOUR DRAGON are very different from mine own.   (Toothless is even cute).

Tolkien’s dragons were always evil, servants of Morgoth and Sauron.   They were akin to his orcs and trolls.   JRRT did not do friendly dragons.   His dragons were intelligent, though.   Smaug talks.   He also has a huge horde of gold, a very traditional dragon trait… and he sleeps on his treasure, for months and years at a time.

Before Peter Jackson’s Smaug, the best dragon ever seen on film was Vermithrax Pejorative in DRAGONSLAYER.    Two legs and two wings, dangerous, fire-breathing, a flyer, does not talk, does not horde gold.   An inspiration for all dragonlovers.

At the other end of the scale is the dragon in DRAGONHEART (voice by Sean Connery).   Fat, four-legged, talking, a good guy who befriends the hero.   A much inferior dragon in a much inferior film.  Bah.

In A SONG OF ICE & FIRE, I set out to blend the wonder of epic fantasy with the grittiness of the best historical fiction.   There is magic in my world, yes… but much less of it than one gets in most fantasy.   (Tolkien’s Middle Earth was relatively low magic too, and I took my cue from the master).   I wanted Westeros to feel real, to evoke the Crusades and the Hundred Years War and the Wars of the Roses as much as it did JRRT with his hobbits and magic rings.

I would have dragons, yes… in part because of my dear friend, the late Phyllis Eisenstein, a marvelous fantasist and science fiction writer in her own right, now sadly missed…  but I wanted my dragons to be as real and believable as such a creature could ever be.   I designed my dragons with a lot of care.   They fly and breathe fire, yes, those traits seemed essential to me.  They have two legs (not four, never four) and two wings.
LARGE wings.   A lot of fantasy dragons have these itty bitty wings that would never get such a creature off the ground.   And only two legs; the wings are the forelegs.   Four-legged dragons exist only in heraldry.   No animal that has ever lived on Earth has six limbs.   Birds have two legs and two wings, bats the same, ditto pteranodons and other flying dinosaurs, etc.

Much  of the confusion about the proper  number of legs on a dragon has its roots in medieval heraldry.  In the beginning both versions could be seen on shields and banners, but over the centuries, as heraldry became more standardized, the heralds took to calling the four-legged beasties dragons and their two-legged kin wyverns.   No one had ever  seen a dragon or a wyvern, of course; neither creature actually existed save in legend, so there was a certain arbitrary quality to this distinction… and medieval heralds were not exactly renowned for their grasp of zoology, even for real world animals.  Just take a look at what they thought a seahorse looked like.

Dragons DO exist in the world of Westeros, however (wyverns too, down in Sothoryos), so my own heralds did not have that excuse.   Ergo, in my books, the Targaryen sigil has two legs, as it should.  Why would any Westerosi ever put four legs on a dragon, when they could look at the real thing and could their limbs?   My wyverns have two legs as well; they differ from the dragons of my world chiefly in size, coloration, and the inability to breath fire.    (It should be stressed that while the Targaryen sigil has the proper number of legs (two), it is not exactly anatomically correct.   The wings are way too small compared to the body, and of course no dragon has three heads.   That bit is purely symbolic, meant to reflect Aegon the Conqueror and his two sisters).

FWIW, the shows got it half right (both of them).   GAME OF THRONES gave us the correct two-legged sigils for the first four seasons and most of the fifth, but when Dany’s fleet hove into view, all the sails showed four-legged dragons.   Someone got sloppy, I guess.   Or someone opened a book on heraldry, and read just enough of it to muck it all up.   A little knowledge is a dangerous thing.   A couple years on, HOUSE OF THE DRAGON decided the heraldry should be consistent with GAME OF THRONES.. but they went with the bad sigil rather than the good one.   That sound you heard was me screaming, “no, no, no.”   Those damned extra legs have even wormed their way onto the covers of my books, over my strenuous objections.

RIGHT

WRONG

Valyrian dragons differ in other ways from the likes of Smaug and Toothless and Vermithrax as well.

My dragons do not talk.   They are relatively intelligent, but they are still beasts.

They bond with men… some men… and the why and how of that, and how it came to be, will eventually be revealed in more detail in THE WINDS OF WINTER and A DREAM OF SPRING and some in BLOOD & FIRE.  (Septon Barth got much of it right).   Like wolves and bears and lions, dragons can be trained, but never entirely tamed.   They will always be dangerous.   Some are wilder and more wilful than others.  They are individuals, they have personalities… and they often reflect the personalities of their riders, thanks to bond they share are.    They do not care a whit about gold or gems, no more than a tiger would.   Unless maybe their rider was obsessed with the shiny stuff, and even then…

Dragons need food.   They need water too, but they have no gills.  They need to breathe .  Some say that  Smaug slept for sixty years below the Lonely Mountains before Bilbo and the dwarves woke him up.   The dragons born of Valyria cannot do that.   They are creatures of fire, and fire needs oxygen.   A dragon could dip into the ocean to scoop up a fish, perhaps, but they’d fly right up again.  If held underwater too long, they would drown, just like any other land animal.

My dragons are predators, carnivores who like their meat will done.   They can and will hunt their own prey, but they are also territorial.   They have lairs.   As creatures of the sky, they like mountain tops, and volcanic mountains best of all.  These are creatures of fire, and the cold dank caverns that other fantasists house their pets in are not for mine.     Man-made dwellings, like the stables of Dragonstone, the  towers tops of the Valryian Freehold, and the Dragonpit of King’s Landing, are acceptable — and often come with men bringing them food.  If those are not available, young dragons will find their own lairs… and defend them fiercely.

My dragons are creatures of the sky.   They fly, and can cross mountains and plains, cover hundreds of miles… but they don’t, unless their riders take them there.   They are  not nomadic.  During the heyday of Valyria there were forty dragon-riding families with hundreds of dragons amongst them… but (aside from our Targaryens) all of them stayed close to the Freehold and the Lands of the Long Summer.  From time to time a dragonrider might visit Volantis or another Valyrian colony, even settle there for a few years, but never permanently.  Think about it.   If dragons were nomadic, they would have overrun half of Essos, and the Doom would only have killed a few of them.   Similarly, the dragons of Westeros seldom wander far from Dragonstone.   Elsewise, after three hundred years, we would have dragons all over the realm and every noble house would have a few.   The three wild dragons mentioned in Fire & Blood have lairs on Dragonstone.   The rest can be found in the Dragonpit of King’s Landing, or in deep caverns under the Dragonmont.    Luke flies Arrax to Storm’s End and Jace to Winterfell, yes, but the dragons would not have flown there on their own, save under very special circumstances.   You won’t find dragons hunting the riverlands or the Reach or the Vale, or roaming the northlands or the mountains of Dorne.

Fantasy needs to be grounded.   It is not simply a license to do anything you like.    Smaug and Toothless may both be dragons, but they should never be confused.   Ignore canon, and the world you’ve created comes apart like tissue paper.

Read the whole story
sirshannon
12 days ago
reply
Share this story
Delete

The Wicked + the Divine: The Covers Version Kickstarter

1 Share

wicdiv:

It’s been out for a week, but Tumblr wouldn’t let us post, so it’s been delayed. We’ve already backed! It’s awesome. If you haven’t already, you can go nose. The main tiers are…

The Standard Edition - £40

Deluxe Edition including signed bookplater - £75

And there’s an edition which adds a high quality print above all of that.

Go nose for all the details! We’re pretty pleased with the shipping we’ve secured too.

Happy 10th WicDiv anniversary (plus a week, because if we were competent, we wouldn’t be wicdiv)

Read the whole story
sirshannon
27 days ago
reply
digdoug
24 days ago
Did you see me wearing my YOL∞ shirt one joco? I need to back this Kickstarter.
Share this story
Delete

WWDC 2024 Viewing Guide

1 Share

My WWDC 2024 viewing guide to help you plan the sessions you want to watch.

Where Do I Start?

The theme for the year is Apple Intelligence. Start by watching the Platforms State of the Union (SOTU) (5 minute recap) for a summary of what’s new this year.

You don’t have to learn everything new today!

There are over 100 sessions and a lot of new stuff to learn. You may feel like you’re getting left behind. Don’t let it overwhelm you. You’ve got time.

The new API’s need iOS 18 and some features are coming later this year. Don’t burn yourself out trying to keep up.

Watching The Sessions

I watch the videos using the Apple Developer app. It’s available on macOS and iOS. The video player supports from 0.5x to 2x playback, most videos have transcripts and allow copying of the onscreen sample code. You can also watch on YouTube.

There are a lot of sessions, but many are short (10-20 minutes). There’s no padding and Apple’s engineers get to the point quickly.

Swift

Swift is ten years old and the big news this year is Swift 6:

  • What’s new in Swift Swift 6 language mode. Static Linux SDK for Swift. Swift Testing open source testing library. Explicit module builds. New organisation on github.com/swiftlang. Language updates for noncopyable types, embedded swift, C++ interop, typed throws, data-race safety.

  • Migrate your app to Swift 6 Ben walks through migrating a sample app to Swift 6. Full enforcement of data isolation when enabled. For each target, enable complete concurrency checking in Swift 5 mode before enabling Swift 6 language mode. See Swift 6 migration guide.

  • Consume noncopyable types in Swift New Copyable protocol. Every type is Copyable by default. Noncopyable types can be consumed or borrowed but not copied. Swift 6 supports noncopyable generics.

  • A Swift Tour: Explore Swift’s features and design New to Swift? This is a fast introduction and tour of many of Swift’s features.

  • Go small with Embedded Swift Subset of Swift used on Secure Enclave Processor in Apple devices. Still Experimental, use a preview toolchain from swift.org. Demo building a HomeKit device using an ESP32C6 board with a RISC-V microcontroller and the Matter protocol.

  • Explore the Swift on Server ecosystem Apple uses Swift on Server for App Store processing, SharePlay file sharing, and the Private Cloud Compute service. Building a service using VS Code, Vapor, PostgresNIO.

  • Explore Swift performance Function calls, static vs dynamic dispatch. Memory Layout, Swift structs, tuples, and enums use inline storage. Classes and actors use out-of-line storage. Memory allocation, global, stack, heap. Value copying.

SwiftUI

A solid set of updates to SwiftUI:

  • What’s new in SwiftUI New floating tab bar. Zoom navigation transition. Create custom controls for control center. Mesh gradients. Document launch scene type. New SFSymbol animations. Window styles and scene types on macOS. Custom hover effects. Alternate key modifier. Custom container views. Text renderer API. Entry macro. Use state directly in previews with Previewable macro. Mix colors. ScrollView geometry changes. SwiftUI view protocol is now MainActor.

  • SwiftUI essentials Recap and tour of SwiftUI concepts and APIs.

  • Swift Charts: Vectorized and function plots LinePlot to visualize a function and AreaPlot to fill area between functions. Vectorized plot APIs for larger datasets.

  • Demystify SwiftUI containers Building custom container views. New ForEach(subviewOf:) to wrap content subviews in custom container. Container values keyed storage to create container-specific modifiers.

  • Create custom visual effects in SwiftUI Custom scroll effects with scroll transition and visual effects modifiers. Color effects with mesh gradients. Custom transitions by conforming to Transition. Text animations with TextRenderer and TextAttribute. Metal shaders and Layer Effects.

  • Catch up on accessibility in SwiftUI Prefer styling over custom controls. Combine elements to simplify navigation. Accessibility label isEnabled parameter. Add actions for controls in an overlay. Label now accepts a view. Drop point modifier.

  • Work with windows in SwiftUI The session uses visionOS but the window management API’s (mostly) work across iOS, iPadOS, visionOS, and macOS.

  • Tailor macOS windows with SwiftUI Style windows toolbars, container background, disabling minimize and restoration behavior. Set initial placement, and ideal placement when zoomed.

UIKit

UIKit has not been forgotten:

  • What’s new in UIKit Document launch and combined tab bar/sidebar. New zoom transition. Animations and gesture recognizers unified across UIKit and SwiftUI. Automatic trait tracking, in place of registerForTraitChanges. List environment trait. UIUpdateLink for complex animations. New symbols animations. Text formatting options. UITextView supports Writing Tools UI. Menu actions on iPhone. Apple Pencil Pro support (added in iPadOS 17.5).

iPadOS

Not much for iPadOS this year:

  • Elevate your tab and sidebar experience in iPadOS Tab bars have a new compact look at top of app. In iPadOS 18, tab bars can optionally be displayed as a sidebar. Hiding sidebar animates it back to tab bar. New SwiftUI and UIKit tab view syntax.

AppKit

  • What’s new in AppKit Writing Tools API. Adopt Genmoji and Image Playground. Window Tiling. NSHostingMenu to use SwiftUI menus. Use SwiftUI animations. Open context menus with keyboard. Text highlighting. SFSymbol animations. Save Panel standard file format picker. System cursors. NSToolbar display mode customizations. Text entry suggestions.

watchOS

The big change this year is Live Activities:

  • What’s new in watchOS 11 Live activities. App Intent RelevantContext API to suggest relevant widgets. Interactive widgets. Expanded double tap usage. WorkoutKit pool swimming activity. HealthKit state of mind API.

  • Design Live Activities for Apple Watch Live activities from your iOS app now automatically appear in the smart stack on the watch. Default appearance reuses the dynamic island compact view but can be customized by adopting the Apple Watch size class.

  • Bring your Live Activity to Apple Watch Walk through of building a live activity for Apple Watch. Customize by providing new layout in supplementalActivityFamilies modifier. Updates sync to Apple Watch. When the watch has limited connectivity start, end and alert updates are prioritized.

  • Build custom swimming workouts with WorkoutKit User selectable workout locations. Average power alerts for running/cycling. Pace alerts for indoor running. Distance goals supported for more workouts. Custom step names. Custom pool swimming workouts. Distance with time goal.

tvOS

Cross-platform Sessions

Developer Tools

The Apple Intelligence features require macOS Sequoia:

  • What’s new in Xcode 16 Code completion with on-device model. Swift 6 language mode. Previewable macro and PreviewModifier. Faster Previews. Opt-in to Explicit modules. Thread performance checker show excessive disk writes and slow app launches. Unified backtrace view. RealityKit debugger. Swift Testing framework. Instruments Flame Graph to visualize code execution.

  • Xcode essentials This is a 35 minute video tour of Xcode that has a load of useful hints and tips for getting the most out of Xcode.

Build

  • Demystify explicitly built modules Xcode 16 explicitly built modules. More efficient, deterministic builds. Enable in build settings. Unify settings at project level rather than at the target if possible to allows modules to be shared.

  • Extend your Xcode Cloud workflows Reminder that developer program includes 25 hours of build time. Example workflow using an external test server. Custom aliases for Xcode and platform versions. Using the App Store Connect API to start manual integration tests when test server repo changes. Webhooks to deploy to production.

Debug

  • Run, Break, Inspect: Explore effective debugging in LLDB Open crashlog in Xcode and choose project to see state of the program when it crashed. Using breakpoint actions and conditions. Swift Error breakpoint to stop when Swift Error is thrown. Swift 6 @DebugDescription to annotate complex types.

  • Analyze heap memory Dynamic memory allocations on the heap. Enable MallocStackLogging in the Xcode Scheme. Using Allocations instrument to understand transient and persistent memory growth. Memory graph debugger to answer why an object still exists. Leaks caused by Swift closure reference cycles. Weak vs unowned references.

Testing

  • Meet Swift Testing New open source package for testing, default when adding a unit test bundle target. Add @Test to mark a function as a test. Use #expect macro to validate test values. #require causes tests to fail. Add information with Traits. Assign tags to group tests in test navigator or include/exclude in a test plan. Parameterized testing to rerun a test with different inputs. XCTest still required for UI and performance testing.

  • Go further with Swift Testing Expect throws macro to validate an expected error is thrown. Use withKnownIssue to ignore failing tests. CustomTestStringConvertible for a test specific description. Parameterized testing to test combinations of inputs (max two collections). Organizing with tags. Xcode Cloud support. Parallel testing and random ordering by default. Testing code with completion handlers or callbacks.

Localization

  • Build multilingual-ready apps Multi-lingual keyboard to type more than one language. Live text supports Arabic. Magic Keyboard function row redesigned for Arabic. String catalogs now detect common validation issues. Grammar engine now supports Hindi and Korean. New method to format numbers within localized strings. Add UIPrefersShowingLanguageSettings to InfoPlist for users who often use apps in different languages.

Accessibility

  • Get started with Dynamic Type Building apps that scale content with dynamic type. Use the built-in text styles. Change layouts with larger text. Prioritize scaling essential content over decorative views and icons. ScaledMetric. Large Content Viewer.

App Store and Distribution

  • What’s new in StoreKit and In-App Purchase Transaction history includes finished consumable transactions. Win-back offers. Demo of new StoreKit views control styles. Control placement API. Xcode 16 supports testing privacy policy and licence locally. iOS 18 deprecates original StoreKit API.

  • Explore App Store server APIs for In-App Purchase App Store server API replaced the Verify Receipt endpoint deprecated in 2023. Open Source App Store Server Library is the recommended way to use the API. New one-time charge notification. Get Transaction History v2 endpoint now returns full history of customer’s purchases. New price and currency transaction and renewal info fields.

  • Implement App Store Offers Introductory, Promotional, and Offer Codes. Transaction and RenewalInfo now include offer type when customer redeems an offer. New view modifier to show subscription promotional offers. Offer code redemption sheet now available on macOS. Win-back offers to re-engage churned subscribers. Streamlined purchasing.

  • Meet AdAttributionKit New iOS framework for privacy-preserving ad attribution using crowd anonymity. Works with ad networks already registered with SKAdNetwork.

  • What’s new in App Store Connect Featuring Nominations. Add details about new content, enhancements, or launches to App Store Connect so the editorial team can consider featuring it. New TestFlight invitation experience for iPhone and Vision Pro. Criteria on public links to filter for device platforms and OS versions. Deep links to product pages. Promote your app with a shareable link to product page. Push notification when editorial teams features your app. Just one set of required screenshots for iPhone and one set for iPad.

Photos and Camera

  • Build a great Lock Screen camera capture experience LockedCameraCapture framework allows third-party camera apps to run from the Lock Screen. Uses a Locked Camera Capture extension.

  • Build compelling spatial photo and video experiences Public API to record spatial video using iPhone 15 Pro. Photo picker can filter on spatial media. PreviewApplication API to launch QuickLook scene.

  • Keep colors consistent across captures Human brain recognizes objects and remembers their color regardless of ambient lighting. Constant Color capture mode aims to replicate this consistency. Use cases include product and skin photography. Compares flash image with ambient image.

  • Use HDR for dynamic image experiences in your app New Adaptive HDR draft standard for backward compatibility by storing HDR and SDR in a single file. iPhone 15 and 15 Pro are transitioning to Adaptive HDR. On iOS 18 and macOS 15, Messages, Quick Look and Preview join Photos in being able to render HDR images. SwiftUI Image and UIKit UIImage support Adaptive HDR.

  • What’s new in DockKit DockKit powered stands available at Apple Stores. Intelligent Subject Tracking uses Machine Learning to identify most relevant person to track. Watch Control. New DockKit Gimbals. Tracking support for photo, panorama, and cinematic modes.

Privacy and Security

  • What’s new in privacy New pickers for FinanceKit, Image Playground, AccessorySetupKit (Bluetooth, WiFi). MAC address rotation on iOS and macOS. User notification of app extension installs, App group container, and local network access permissions on macOS. Cron is off by default. Limited Contact sharing. Lock sensitive apps. Automatic passkey upgrades. Caller ID privacy information retrieval.

  • Streamline sign-in with passkey upgrades and credential managers Automatically upgrade existing accounts to passkeys. New Passwords app with support for passkeys.

System Frameworks

SwiftData

  • What’s new in SwiftData New Unique macro causes an upsert on collision. SwiftData history tracking. Custom data stores. Easier preview data with preview traits and @Previewable. New Expression macro. Index macro for faster queries.

  • Create a custom data store with SwiftData DataStore protocol allows SwiftData to use any persistence backend. Example of using a JSON file as a data store.

  • Track model changes with SwiftData history SwiftData history tracking lets you query and process changes in the order they occurred. A token acts as a bookmark into the transaction history. Example app shows reviewing changes made from a widget. Default store manages history data retention. Matches Core Data history tracking.

Contacts

  • Meet the Contact Access Button Limit access to selected contacts. Contact access picker to grant access to additional contacts. Contact Access button grants access to new contacts with single tap. Only grants access if the button is legible and unobstructed.

PencilKit

  • Squeeze the most out of Apple Pencil PencilKit tool picker now let’s you define the available tools, add an accessory button, or custom tools to the picker. Apple Pencil Pro APIs for roll angle, squeeze gesture, and haptic feedback.

WeatherKit

  • Bring context to today’s weather Precipitation amounts and cloud cover by altitude. Contextually highlight upcoming weather changes. Compare to historical averages since 1970. FlatBuffers for faster data transfer.

Maps and Location

HealthKit

Apple Wallet and Apple Pay

  • What’s new in Wallet and Apple Pay Apple Pay works with non-Safari browsers in iOS 18. Fund transfers available on the web. Redesigned event ticket pass designs.

  • Meet FinanceKit Access to financial data stored on-device in Apple Wallet. Account, balance, and transactions. Transaction picker for user to select which transactions they want to share. Query APIs available on iPhone from iOS 17.4.

TipKit

  • Customize feature discovery with TipKit Tip groups to control order that tips are shown. Reusable tips with custom identifiers. Custom tip view styles. Sync tips with CloudKit (uses SwiftData). Use UIDevice for platform specific tips.

AccessorySetupKit

  • Meet AccessorySetupKit New framework for privacy-friendly discovery and authorization of Bluetooth and WiFi accessories. New picker can grant access to Bluetooth and WiFi in single operation.

App Services

App Intents

The scope of App Intents seems to grow every year:

  • What’s new in App Intents Index app entities to make them searchable and actionable in Spotlight. Make App entities Transferable. Add a URLRepresentation so Siri and Shortcuts can open or share. New UnionValue parameter for AppIntents. App entities can now be defined in a framework and referenced in app or extension targets.

  • Design App Intents for system experiences Updated guidance, previously an App was expected to have a few intents, now anything your app does should be an App Intent.

  • Bring your app’s core features to users with App Intents Reduce friction when switching apps by exposing app’s core features using App Intents. Code samples for adding Shortcuts action, home screen widget, control center control, and app shortcuts for Spotlight and Siri.

  • Bring your app to Siri Twelve new App Intent domains in iOS 18 including Mail and Photos with over 100 kinds of intents. Conform App Intent to Assistant Schema. Assistant Entity exposes intents to Siri.

WidgetKit and Live Activities

Spotlight

Journalling

  • Enhanced suggestions for your journalling app Landscape support. New asset types for State of Mind. New motion activity types for run, and mixed walk/run activities. Generic media suggestions for music and podcasts. Reflection prompts.

CloudKit

CarPlay

These two CarPlay sessions are intended for automaker system designers looking to support next generation CarPlay:

Business and Education

  • What’s new in device management Apple Vision Pro support. Turn off Activation Lock. Limit new accounts to Managed Apple Accounts. New software update settings. Manage Safari extensions and Mac external and network storage.

  • Introducing enterprise APIs for visionOS Six new APIs for enterprise customers. Access to main camera, passthrough in-screen capture (see what I see), barcode and QR code scanning, access to Neural Engine to run ML models on-device, configurable object tracking, app compute settings to increase performance.

Design

SF Symbols

  • What’s new in SF Symbols 6 New animation presets for Wiggle, Rotate, and Breathe. Magic replace is now the default transition animation. Over 800 new symbols.

Audio and Video

ScreenCaptureKit

SharePlay

Other Audio and Video Sessions

Spatial Computing

Design

visionOS

Safari and Web

QuickLook

  • What’s new in Quick Look for visionOS New PreviewApplication API built on SwiftUI and Swift Concurrency for adding Quick Look windowed previews to an app. Surface snapping when previewing 3D models. Quick Look configurations to choose between USDZ variants.

ARKit

RealityKit

Reality Composer Pro

USD

  • What’s new in USD and MaterialX USD support for blend shapes for facial motion. QuickLook support for USD variants. Adjust size tool in Preview. Convert to USDZ action in Shortcuts. Command line USD tools.

  • Discover area mode for Object Capture Area mode to capture objects you can’t easily walk around. New Mac sample app for higher quality processing when creating 3D models. Data Loading API for Photogrammetry samples.

Machine Learning and AI

  • What’s new in Create ML Create ML App has new explore option. Object tracking of real world objects. Time series classifier and forecaster. DateFeatureExtractor.

  • Explore machine learning on Apple platforms Getting started with machine learning on Apple platforms. Apple Intelligence capabilities for Writing Tools, Image Playground, and new Siri App Intents. Vision framework new Swift API with Swift 6 support and added hand pose detection. New framework for language translation.

  • Train your machine learning and AI models on Apple GPUs TensorFlow, PyTorch, JAX, and MLX can use Metal for training models. New ExecuTorch framework to deploy PyTorch models.

  • Support real-time ML inference on the CPU Basic Neural Network Subroutines (BNNS) for machine learning inference and training on the CPU. New BNNSGraph API for real-time use cases.

Three sessions that cover the machine learning workflow of model training, preparation and integration:

Apple Intelligence

  • Get started with Writing Tools Proofread, rewrite or transform text view in iOS, iPadOS, and macOS. Supported by UITextView, NSTextView or WKWebView. Protect text ranges from being rewritten.

  • Meet the Translation API Translation framework allows third-party apps to access the machine learning models powering Apple’s Translate app.. Translation overlay (iOS 17.4) or flexible translation API allows translation of one or more strings. Translation APIs do not work in the simulator.

Vision

Metal and Games


WWDC 2024 Viewing Guide was originally posted 17 Jun 2024 on useyourloaf.com.

WWDC 2024 Sale! Save 20% off Modern Auto Layout


Read the whole story
sirshannon
37 days ago
reply
Share this story
Delete

dg-kino:shaaknaa:vrumblr:spaceshipsandpurpledrank:It’s amazing how much baking y...

4 Shares

dg-kino:

shaaknaa:

vrumblr:

spaceshipsandpurpledrank:

It’s amazing how much baking you can do when you follow all the goddamn directions. Baking is not a category in which you can fuck around unless you have tons of experience.

“Cooking is an art, but baking is a science.”

“i am a god” in the most neutral possible tone

Read the whole story
sirshannon
41 days ago
reply
sarcozona
59 days ago
reply
Epiphyte City
Share this story
Delete

fieldbears:thepromiscuousfinger:was tim okay though

2 Comments and 4 Shares

fieldbears:

thepromiscuousfinger:

was tim okay though

Read the whole story
fxer
61 days ago
reply
Tim was survived by his dry erase marker and box of crayons
Bend, Oregon
DMack
61 days ago
I didn't care what happened to Wall-e then, and I want to push ChatGPT off a bridge now
sirshannon
41 days ago
reply
Share this story
Delete
1 public comment
davenelson
61 days ago
reply
Many autistic people anthropomorphize inanimate objects on the regular, not just those with a face.
Atlanta, Georgia
Next Page of Stories