@simonemontalto @mgorbach This might be a TERRIBLE idea, but I think there's a way to implement this.
Your widget could have two buttons next to each other, - and +. When tapping one of the two you update a value persisted to disk and re-render the widget. Above the two buttons you have a label showing the persisted value.
Below it all you could have a "Save" button that persists the number to your database.
@simonemontalto @mgorbach oh yeah, that’s right! As you could’ve guessed I’m a light reader 😅
Maybe an option is to have two buttons per side?
<<-10 <-1 +1> +10>>
@mgorbach Hey! Love App Intents, but can't use interactive widgets because of a limitation with how they are run — this is stopping me from shipping for iOS 17. Context here: FB12479763
Thanks!
@mgorbach And have mentioned before, but would love a way to "compose" App Intents for App Shortcuts.
e.g. "Like current song" should be made up of "Get current song → Like {song}".
Otherwise I'm required to duplicate my intents into hard coded versions e.g. "Like current song", etc. just for this
I would guess from a UX standpoint, you would also prefer composable intents because it highlights to new shortcuts users that actions /are/ composable, and users can jump in and edit as needed too!
@mgorbach I have implemented them in a few of our apps, but a problem remains: I don't have a good overall view of how & where intents are used.
It a piece in several different puzzles. For example, supporting Shortcuts was a goal and something we tested, but I don't know how Siri and Widgets will use that same definition.
It's an all encompassing technology without any samples/documentation that covers all the cases in a holistic way.
@mgorbach Biggest pain point right now is that our Interactive App Intents stopped working in seed 2. They were working in seed 1, now only get the following error in the console:
Could not find an intent with identifier NextInstructionIntent, mangledTypeName: Optional("15WidgetExtension21NextInstructionIntentV")
@mgorbach Another issue we've run into is that the new Interactive Button requires an App Intent.
We want to start playing music in our main target from the widget. Should be possible using INPlayMediaIntent, but this intent doesn't conform to AppIntent so can't be used 😢
@mgorbach I think bigger picture/higher level documentation could help.
Currently everything is pretty well documented, but maybe the higher level vision and patterns are still hard to see.
AppIntents becomes more powerful if all participating apps are implemented using same ideas I think.
I always liked this:
https://dl.acm.org/doi/pdf/10.1145/141937.141943
Maybe the most strait forward way to provide this would be an official, comprehensive, and updated example app.
@mgorbach When implementing AppIntents I found this project by far the most useful resource: https://github.com/mralexhay/Booky
It's nice, but incomplete. More useful would be if Apple maintained a similar project and really exercised all the major features and expected patterns.
That would make AppIntent adoption much easier and I think really increase the quality of the average app implementation.
@mgorbach More thorough documentation, more "how to tie everything together" high-level documentation, generally more documentation, example projects on GitHub/ GitLab/ whatever.
I'll be frank: There have been so many "How to draw an owl"-meme moments for me while getting into App Intents (and Apple frameworks in general) — thankfully, I found a nice group of devs who I could quiz but without them, I would've been utterly lost.
Please get to the level of, say, a RevenueCat SDK documentation.
@mgorbach I dig the macOS/iOS frameworks but I think Apple could do a much, much, MUCH better job when it comes to technical documentation. There's so much glossing-over, it's not friendly to newcomers or relative newcomers.
Thanks! 🖖🏼
@mgorbach that’s finally what I had to do to get everything working. I figured shortcuts may be generated during compile time or app install based on the contents of the app target- not the packages.
The worst of it was that a “ghost” shortcut was still showing in Shortcuts.app before I finally did this. I had to rerun over and over again while changing the shortcut title to finally notice what was going on.
@mgorbach just stumbled scores your post and thought I might also share boundaries I hit.
I wanted to share all my AppIntents via a local SPM package. But when declare them as part of an AppShortcut provider, they are not found during build time. I do also use the new AppIntentsPackage but no luck so far. Should this setup be supported ?
Feedback is filed under: FB12550171