{"id":25116,"date":"2019-04-29T11:08:30","date_gmt":"2019-04-29T15:08:30","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=25116"},"modified":"2019-05-09T14:51:14","modified_gmt":"2019-05-09T18:51:14","slug":"the-under-appreciated-awesomeness-of-apple-events-the-technology","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2019\/04\/29\/the-under-appreciated-awesomeness-of-apple-events-the-technology\/","title":{"rendered":"The Under-Appreciated Awesomeness of Apple Events (the Technology)"},"content":{"rendered":"<p><a href=\"http:\/\/inessential.com\/2019\/04\/25\/the_under_appreciated_awesomeness_of_app\">Brent Simmons<\/a> (<a href=\"https:\/\/twitter.com\/brentsimmons\/status\/1121560560380854274\">tweet<\/a>):<\/p>\n<blockquote cite=\"http:\/\/inessential.com\/2019\/04\/25\/the_under_appreciated_awesomeness_of_app\">\n<p>That&rsquo;s where automation &mdash; Apple events &mdash; comes in. It doesn&rsquo;t get in the way of the UI, but if you can find your way to Script Editor (or a similar app: there are others), you can learn how to write any feature or workflow you can dream of (as long as it&rsquo;s technically possible).<\/p>\n<p>Part of the genius of this is that you&rsquo;re scripting the apps you already use. You&rsquo;re scripting these great GUI apps that you know and love. No command line, no piping\/launching\/closing. Just pulling information from apps and telling them to do things.<\/p>\n<p>[&#8230;]<\/p>\n<p>An outside observer might think Mac users just use pretty &mdash; and pretty simple &mdash; apps, and that&rsquo;s the whole story. But that completely misses the power and genius of Macs.<\/p>\n<p>I can&rsquo;t think of another platform with the sheer level of automation power that OS X (now macOS) has.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/www.stclairsoft.com\/blog\/2019\/04\/26\/applescript-and-apple-events\/\">Jon Gotow<\/a>:<\/p>\n<blockquote cite=\"https:\/\/www.stclairsoft.com\/blog\/2019\/04\/26\/applescript-and-apple-events\/\">\n<p>With <a href=\"https:\/\/9to5mac.com\/2019\/02\/20\/marzipan-mac\/\">Marzipan<\/a> reportedly coming in macOS 10.15 this year, Apple is further de-emphasizing the cooperative nature of macOS apps, and will most likely not support Apple events in the &ldquo;iPad apps adapted to run on the Mac&rdquo; context of Marzipan.<\/p>\n<p>[&#8230;]<\/p>\n<p>And as Brent says (and <a href=\"https:\/\/www.stclairsoft.com\/blog\/2016\/11\/17\/sal-soghoians-position-eliminated-at-apple\/\">as I detailed in an earlier post<\/a>), many Mac apps use Apple events to directly integrate with other applications. They tie everything together for you, taking your Mac experience from &lsquo;good&rsquo; to &lsquo;great&rsquo;. Just in my own apps, <a href=\"https:\/\/www.stclairsoft.com\/DefaultFolderX\/index.html\">Default Folder X<\/a> communicates this way with the Finder, Path Finder, ForkLift, Terminal and iTerm2 to give you seamless access to folders no matter where you need them. <a href=\"https:\/\/www.stclairsoft.com\/AppTamer\/index.html\">App Tamer<\/a> uses Apple events to make sure it doesn&rsquo;t interrupt iTunes and Spotify when they&rsquo;re streaming music for you. And there are numerous other examples throughout the Mac ecosystem (and probably on your Mac right now).<\/p>\n<\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2019\/04\/23\/collision-course\/\">Collision Course<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2019\/02\/20\/apple-to-target-combining-iphone-ipad-and-mac-apps-by-2021\/\">Apple to Target Combining iPhone, iPad, and Mac Apps by 2021<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2018\/10\/04\/happy-25th-birthday-applescript\/\">Happy 25th Birthday, AppleScript<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2016\/11\/16\/thank-you-sal\/\">Thank You, Sal<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2012\/12\/12\/the-unlikely-persistence-of-applescript\/\">The Unlikely Persistence of AppleScript<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2003\/02\/18\/apple_events\/\">Apple Events<\/a><\/li>\n<\/ul>\n\n<p id=\"the-under-appreciated-awesomeness-of-apple-events-the-technology-update-2019-05-02\">Update (2019-05-02): <a href=\"https:\/\/sixcolors.com\/post\/2019\/05\/are-we-headed-for-a-mac-automation-schism\/\">Jason Snell<\/a>:<\/p>\n<blockquote cite=\"https:\/\/sixcolors.com\/post\/2019\/05\/are-we-headed-for-a-mac-automation-schism\/\">\n<p>I have a million questions about the future of user automation on Apple&#8217;s platforms, beyond just the scope of the changes in macOS 10.15. Are URL schemes <em>really<\/em> the future of inter-application communication, or is Apple working on a new system that&#8217;s a successor to AppleEvents that will offer a more robust pathway than a giant string of plain text? Is Shortcuts going to gain more low-level capabilities on both platforms? Will third-party automation utilities like Keyboard Maestro be able to control UIKit apps effectively?<\/p>\n<p>In the end, I&#8217;m not as concerned with <em>how<\/em> user automation is preserved on macOS as I am concerned that it <em>is<\/em>  preserved. Shortcuts is a remarkably powerful app, and even URL schemes can be richer than you might think&#8212;though they&#8217;re definitely inelegant.<\/p>\n<\/blockquote>\n<p>They can do a lot more than you might think, but they&rsquo;re definitely not a replacement for something like Apple events.<\/p>","protected":false},"excerpt":{"rendered":"<p>Brent Simmons (tweet): That&rsquo;s where automation &mdash; Apple events &mdash; comes in. It doesn&rsquo;t get in the way of the UI, but if you can find your way to Script Editor (or a similar app: there are others), you can learn how to write any feature or workflow you can dream of (as long as [&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":"2019-04-29T15:08:34Z","apple_news_api_id":"79d26053-36ee-4db6-9a61-b002d0b4d00a","apple_news_api_modified_at":"2019-05-09T18:51:19Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAQ==","apple_news_api_share_url":"https:\/\/apple.news\/AedJgUzbuTbaaYbAC0LTQCg","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":[159,1621,1336,295,30,1609,71],"class_list":["post-25116","post","type-post","status-publish","format-standard","hentry","category-technology","tag-applescript","tag-marzipan","tag-default-folder-x","tag-history","tag-mac","tag-macos-10-14","tag-programming"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/25116","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=25116"}],"version-history":[{"count":3,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/25116\/revisions"}],"predecessor-version":[{"id":25197,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/25116\/revisions\/25197"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=25116"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=25116"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=25116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}