{"id":9743,"date":"2026-07-06T03:08:33","date_gmt":"2026-07-06T00:08:33","guid":{"rendered":"https:\/\/handoli.com\/index.php\/2026\/07\/06\/escape-from-squircle-jail\/"},"modified":"2026-07-06T03:08:33","modified_gmt":"2026-07-06T00:08:33","slug":"escape-from-squircle-jail","status":"publish","type":"post","link":"https:\/\/handoli.com\/index.php\/2026\/07\/06\/escape-from-squircle-jail\/","title":{"rendered":"Escape from Squircle Jail"},"content":{"rendered":"<p class=\"wp-block-paragraph\">This weekend, I was wrapping up <a href=\"https:\/\/irisphotos.app\/\">a new release of Iris<\/a> and decided to have some fun after a user emailed to say:<\/p>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">I have a rather niche feature request\u2014but wondering if it would be possible to offer an alternative app icon with the beautiful flower freed from its squircle? I know that Apple has mandated the squircle from macOS Tahoe on; but I\u2019m still running Sequoia, and I imagine other users may be as well. I love the way apps like Nova and Sketch offer alternative \u201clegacy\u201d icons, and it would make Iris feel even more at home in my dock <img decoding=\"async\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/17.0.2\/72x72\/1f642.png\" alt=\"\ud83d\ude42\" class=\"wp-smiley\"\/><\/p>\n<\/blockquote>\n<p class=\"wp-block-paragraph\">We all know about macOS Tahoe\u2019s <a href=\"https:\/\/daringfireball.net\/linked\/2025\/11\/07\/tahoes-terrible-icons\">terrible app icons<\/a> and how 3rd party developers have been confined to <a href=\"https:\/\/atp.fm\/643?utm_source=irisphotos\">squircle jail<\/a>.<\/p>\n<p class=\"wp-block-paragraph\">If you\u2019re lucky enough to distribute an app outside the Mac App Store, you can break free of squircle jail using  <a href=\"https:\/\/developer.apple.com\/documentation\/appkit\/nsdocktileplugin\">NSDockTilePlugIn<\/a>. It\u2019s not strictly the intended use-case of that API. And it\u2019s not allowed in the Mac App Store, either. But it can solve the problem.<\/p>\n<p class=\"wp-block-paragraph\">So today\u2019s release of Iris adds three additional app icons to choose from in the app\u2019s <em>Special<\/em> <s>Preferences<\/s> Settings pane. And since they use the NSDockTilePlugIn API, the custom icon remains even when you quit the app.<\/p>\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"531\" src=\"https:\/\/cdn.tyler.io\/wp-content\/uploads\/2026\/07\/CleanShot-2026-07-05-at-19.38.26.gif\" alt=\"\" class=\"wp-image-3107\"\/><\/figure>\n<p class=\"wp-block-paragraph\">But let\u2019s take this a step further. Past useful, beyond silly and ridiculous, and all the way to fun. (Remember when software was allowed to be whimsical?)<\/p>\n<p class=\"wp-block-paragraph\">One of <a href=\"https:\/\/irisphotos.app\/manifesto\/\">Iris\u2019s Guiding Principles<\/a> is \u201cFun\u201d:<\/p>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">There is no reason to maintain and invest in your family\u2019s photo and home video library if you\u2019re not also going to enjoy your memories.<\/p>\n<\/blockquote>\n<p class=\"wp-block-paragraph\">I added another setting named \u201cShow Faces in Dock\u201d. Once enabled, you can choose any person\u2019s face in your library and\u2026add them to the Dock. Now your favorite people can hang out alongside your favorite apps.<\/p>\n<div><\/div>\n<p class=\"wp-block-paragraph\">Why?<\/p>\n<p class=\"wp-block-paragraph\">Because software should be fun and joyful just as much as it should be useful. That\u2019s why.<\/p>\n<p class=\"wp-block-paragraph\">Iris is available <a href=\"https:\/\/irisphotos.app\/\">directly from the app\u2019s website<\/a> or in the <a href=\"https:\/\/apps.apple.com\/us\/app\/iris-photo-video-library\/id6761598836\">Mac App Store<\/a>. Only the direct version includes fun extras like custom app icons and Dock faces.<\/p>\n<p class=\"wp-block-paragraph\">\n<\/p>","protected":false},"excerpt":{"rendered":"<p>This weekend, I was wrapping up a new release of Iris and decided to have some fun after a user emailed to say: I have a rather niche feature request\u2014but wondering if it would be possible to offer an alternative app icon with the beautiful flower freed from its squircle? I know that Apple has [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":9744,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rop_custom_images_group":[],"rop_custom_messages_group":[],"rop_publish_now":"initial","rop_publish_now_accounts":[],"rop_publish_now_history":[],"rop_publish_now_status":"pending","footnotes":""},"categories":[1,15],"tags":[],"class_list":["post-9743","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-explore","category-world"],"_links":{"self":[{"href":"https:\/\/handoli.com\/index.php\/wp-json\/wp\/v2\/posts\/9743","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/handoli.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/handoli.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/handoli.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/handoli.com\/index.php\/wp-json\/wp\/v2\/comments?post=9743"}],"version-history":[{"count":0,"href":"https:\/\/handoli.com\/index.php\/wp-json\/wp\/v2\/posts\/9743\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/handoli.com\/index.php\/wp-json\/wp\/v2\/media\/9744"}],"wp:attachment":[{"href":"https:\/\/handoli.com\/index.php\/wp-json\/wp\/v2\/media?parent=9743"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/handoli.com\/index.php\/wp-json\/wp\/v2\/categories?post=9743"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/handoli.com\/index.php\/wp-json\/wp\/v2\/tags?post=9743"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}