{"id":33792,"date":"2021-10-01T17:00:22","date_gmt":"2021-10-01T21:00:22","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=33792"},"modified":"2021-10-19T19:49:20","modified_gmt":"2021-10-19T23:49:20","slug":"ios-15-shortcuts-and-swiftui","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2021\/10\/01\/ios-15-shortcuts-and-swiftui\/","title":{"rendered":"iOS 15 Shortcuts and SwiftUI"},"content":{"rendered":"<p><a href=\"https:\/\/www.macstories.net\/stories\/ios-and-ipados-15-the-macstories-review\/12\/#technical-issues\">Federico Viticci<\/a>:<\/p>\n<blockquote cite=\"https:\/\/www.macstories.net\/stories\/ios-and-ipados-15-the-macstories-review\/12\/#technical-issues\"><p>Unfortunately, the Shortcuts experience in iOS and iPadOS 15 is hindered by a variety of severe UI and performance bugs that have made this update the least stable and reliable one in recent memory. I believe Apple is aware of these bugs and is actively working on fixing them, but that doesn&rsquo;t change the core problem: the Shortcuts app shipping with iOS and iPadOS 15.0 is buggy, crashes often, and gets in the way of power users with SwiftUI-related issues that prevent interactions with the editor.<\/p><p>I don&rsquo;t want this section to read like a feedback report, so I&rsquo;ll keep it short, but I also think it&rsquo;s important to point out that the Shortcuts team should have done a better job with app performance and stability this year. For instance, due to a <a href=\"https:\/\/twitter.com\/viticci\/status\/1435582851207028738\">widely reported SwiftUI bug<\/a>, it&rsquo;s often impossible to click UI elements in the editor unless you close and reopen it. This bug is <em>so<\/em> bad, it has made it extremely challenging for me to work on long shortcuts this summer since I&rsquo;d have to close and reopen the editor (thus losing my position in it) every 30 seconds. I&rsquo;m astounded this bug shipped to customers.<\/p><p>Alas, there&rsquo;s a lot more. Sometimes, drag and drop for actions just refuses to work or drops an action in an entirely different spot in the editor. The &lsquo;Run Shortcut&rsquo; action &#x2013; a fantastic tool for power users that lets you <a href=\"https:\/\/www.macstories.net\/ios\/workflow-1-7-1-brings-new-icon-glyphs-run-workflow-action\/#run-workflow\">use shortcuts as functions<\/a> &#x2013; is somewhat broken at the moment and doesn&rsquo;t always recognize input. The magic variable output of Choose from Menu blocks no longer works. Sometimes, the share sheet sees no input passed from other apps. When I run shortcuts that contain Files actions with the editor open on my iPad, the app crashes.<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/pxlnv.com\/linklog\/siri-regressions-bugs-ios-15\/\">Nick Heer<\/a>:<\/p>\n<blockquote cite=\"https:\/\/pxlnv.com\/linklog\/siri-regressions-bugs-ios-15\/\"><p>As my professional and personal technology experiences increasingly revolve around the software-as-a-service model, I have recently been thinking a lot about the lack of stability as a priority. We are on the receiving end of a firehose of changes, redesigns, new features, and reimplementations of existing products. Yet the threshold for problems that will prevent a product from being shipped seems to be getting stricter.<\/p>\n<p>What Viticci describes is an application that Apple shipped &mdash; in a production release of its most popular operating system &mdash; in an entirely unusable state. It is not a solitary case, nor is Apple the only software vendor to rush something out the door. But stuff like these Shortcuts problems &mdash; some of which are UIKit problems &mdash; and Siri regressions are profoundly disruptive to frequent users.<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/twitter.com\/stroughtonsmith\/status\/1443622789987147779\">Steve Troughton-Smith<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/stroughtonsmith\/status\/1443622789987147779\">\n<p>A painful reckoning for Shortcuts &amp; SwiftUI. I don&rsquo;t think Shortcuts can afford to rewrite its UI every year anymore, it&rsquo;s too critical a tool for its users and the consequences of it going wrong (like it has, this year) are devastating. SwiftUI was a misguided leap of faith<\/p>\n<p>The newly-rewritten multiplatform Shortcuts app was always going to go one of two ways: a poster child for SwiftUI, or a cautionary tale. I&rsquo;m really curious what, if anything, broader-Apple will learn from the experience &mdash; how it&rsquo;s developing SwiftUI, and how it&rsquo;s positioning it<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/twitter.com\/tclementdev\/status\/1443836768273510405\">Thomas Clement<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/tclementdev\/status\/1443836768273510405\">\n<p>SwiftUI still has a long way to go, especially on macOS.<\/p>\n<p>Certain basic things are still broken or simply impossible to do. The bridging with AppKit can be impossible to work with so there&rsquo;s just no good solution sometimes.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/twitter.com\/stroughtonsmith\/status\/1443692971187130373\">Steve Troughton-Smith<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/stroughtonsmith\/status\/1443692971187130373\"><p>We&rsquo;re in &lsquo;year 3&rsquo; of SwiftUI, and my base advice remains unchanged &mdash; it is great for auxiliary non-critical UI layouts (inspector sidebars, settings windows, and panels), watchOS apps, and rapid prototyping. Beyond that, it just does not meet the bar for complex, reliable apps<\/p>\n<p>[&#8230;]<\/p>\n<p>There&rsquo;s a clear analogy, and lesson to be learned, between &lsquo;SwiftUI is the future&rsquo;, and &lsquo;iPad is the future of computing&rsquo;<\/p><\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2021\/06\/08\/shortcuts-for-mac\/\">Shortcuts for Mac<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2021\/02\/26\/apple-documentation-and-swiftui-for-mac\/\">Apple Documentation and SwiftUI for Mac<\/a><\/li>\n<\/ul>\n\n<p id=\"ios-15-shortcuts-and-swiftui-update-2021-10-04\">Update (2021-10-04): <a href=\"https:\/\/twitter.com\/viticci\/status\/1444969782911057921\">Federico Viticci<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/viticci\/status\/1444969782911057921\">\n<p>Imagine if you couldn&rsquo;t trust that the Notes app for iPhone and iPad actually saves your text. Or that you fear Mail may send truncated emails to people.<\/p>\n<p>That&rsquo;s how bad Shortcuts is right now \/ has been since June. It&rsquo;s painful to watch and I have no idea what&rsquo;s going on there.<\/p>\n<\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2019\/10\/11\/mail-data-loss-in-macos-10-15\/\">Mail Data Loss in macOS 10.15<\/a><\/li>\n<\/ul>\n\n<p id=\"ios-15-shortcuts-and-swiftui-update-2021-10-19\">Update (2021-10-19): <a href=\"https:\/\/twitter.com\/stroughtonsmith\/status\/1445791944412696576\">Steve Troughton-Smith<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/stroughtonsmith\/status\/1445791944412696576\">\n<p>In 2015, you could build pretty much everything you needed to build in an iOS app with Swift. It was very much a peer to ObjC, even if very unfinished, and there was a clear path from one to the other. It could back deploy to iOS 7, and even iOS 6 (unofficially)<\/p>\n<p>SwiftUI is not that. It is not a full-featured replacement for existing UI frameworks, has no back-deployment strategy, and has all manner of issues that can make your app buggier &amp; less consistent if not properly handled as Apple&rsquo;s own apps have demonstrated to disastrous effect<\/p>\n<p>It is not clear at all that someday SwiftUI will power everything you see on iOS, without some bigger, better, more powerful UI framework underneath. That&rsquo;s certainly the dream for a lot of folks, but I honestly don&rsquo;t know if <em>iOS<\/em> is the platform that will ever get to that point<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/twitter.com\/viticci\/status\/1445862743471321090\">Federico Viticci<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/viticci\/status\/1445862743471321090\"><p>I&rsquo;m afraid we&rsquo;re in for a <em>long<\/em> season of Shortcuts bugs due to their SwiftUI rewrite in iOS 15. <em>If<\/em> these can get fixed before 16.<\/p>\n<p>iOS 15.1 beta 3, still can&rsquo;t reliably drag and drop an action.<\/p>\n<p>Drag and drop&#8230;for an app based on dragging and dropping things around.<\/p><\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Federico Viticci: Unfortunately, the Shortcuts experience in iOS and iPadOS 15 is hindered by a variety of severe UI and performance bugs that have made this update the least stable and reliable one in recent memory. I believe Apple is aware of these bugs and is actively working on fixing them, but that doesn&rsquo;t change [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2021-10-01T21:00:28Z","apple_news_api_id":"143079e1-ada7-4e8f-8b86-d81ccdc47c35","apple_news_api_modified_at":"2021-10-19T23:49:24Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAg==","apple_news_api_share_url":"https:\/\/apple.news\/AFDB54a2nTo-LhtgczcR8NQ","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[1143,131,31,2078,71,1686,1812],"class_list":["post-33792","post","type-post","status-publish","format-standard","hentry","category-technology","tag-apple-software-quality","tag-bug","tag-ios","tag-ios-15","tag-programming","tag-shortcuts","tag-swiftui"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/33792","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=33792"}],"version-history":[{"count":4,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/33792\/revisions"}],"predecessor-version":[{"id":33968,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/33792\/revisions\/33968"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=33792"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=33792"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=33792"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}