{"id":43057,"date":"2024-05-02T16:27:57","date_gmt":"2024-05-02T20:27:57","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=43057"},"modified":"2024-05-23T12:12:45","modified_gmt":"2024-05-23T16:12:45","slug":"altstore-pal","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2024\/05\/02\/altstore-pal\/","title":{"rendered":"AltStore PAL"},"content":{"rendered":"<p><a href=\"http:\/\/rileytestut.com\/blog\/2024\/04\/17\/introducing-altstore-pal\/\">Riley Testut<\/a>:<\/p>\n<blockquote cite=\"http:\/\/rileytestut.com\/blog\/2024\/04\/17\/introducing-altstore-pal\/\">\n<p>I&rsquo;m thrilled to announce a brand new version of AltStore &mdash; AltStore PAL &mdash; is launching <strong>TODAY<\/strong> as an Apple-approved alternative app marketplace in the EU. AltStore PAL is an <a href=\"https:\/\/github.com\/altstoreio\/AltStore\">open-source<\/a> app store made specifically for independent developers, designed to address the problems I and so many others have had with the App Store over the years. Basically, if you&rsquo;ve ever experienced issues with App Review, this is for you!<\/p>\n<p>We&rsquo;re launching with <strong>2 apps<\/strong> initially: my all-in-one Nintendo emulator <a href=\"https:\/\/deltaemulator.com\">Delta<\/a> &mdash; a.k.a. the reason I built AltStore <a href=\"http:\/\/rileytestut.com\/blog\/2019\/09\/25\/introducing-altstore\/\">in the first place<\/a> &mdash; and my clipboard manager <a href=\"https:\/\/rileytestut.com\/blog\/2020\/06\/17\/introducing-clip\/\">Clip<\/a>, a <em>real<\/em> clipboard manager that can actually run in the background. Delta will be <strong>FREE<\/strong> (with no ads!), whereas Clip will require a small donation of <strong>&euro;1 or more<\/strong>. Once we&rsquo;re sure everything is running smoothly we&rsquo;ll then open the doors to third-party apps &mdash; so if you&rsquo;d like to distribute your app with AltStore, please <a href=\"mailto:apps@altstore.io\">get in touch<\/a>.<\/p>\n<p>[&#8230;]<\/p>\n<p>Sources are integral to AltStore&rsquo;s design and allow it to be completely <em>decentralized.<\/em> This means there is <strong>no central directory of apps<\/strong>; the only apps you&rsquo;ll see in AltStore are from sources you&rsquo;ve explicitly added yourself. It&rsquo;s up to developers to self-promote their apps and direct users to their websites, where users can add their source with a single tap via AltStore&rsquo;s <code class=\"language-plaintext highlighter-rouge\">altstore:\/\/source?url=[source URL]<\/code> URL scheme (or by copying &amp; pasting the source URL directly). Distributing apps with AltStore is also <strong>completely free of charge<\/strong> &mdash; <em>anyone<\/em> can distribute an app for free on AltStore as long as they make a source.<\/p>\n<p>[&#8230;]<\/p>\n<p>I strongly believe this business model works well &mdash; especially for indie developers &mdash; so we&rsquo;ve gone all-in and added deep Patreon integration to AltStore to allow all developers to monetize their apps the same way we do. Developers can choose to offer some (or all) of their apps to just their patrons, and even control which tiers unlock which apps on a per-app basis. And to further encourage Patreon use, AltStore will take <strong>no commission<\/strong> on Patreon donations, allowing developers to keep the entirety of their Patreon proceeds.<\/p>\n<\/blockquote>\n<p>They&rsquo;re charging &euro;1.50\/year for the marketplace itself to cover the CTF.<\/p>\n\n<p><a href=\"https:\/\/twitter.com\/mysk_co\/status\/1782926749921099931\">Mysk<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/mysk_co\/status\/1782926749921099931\"><p>AltStore PAL just updated their FAQ saying that they currently support one device per subscription. This confirms that Apple left marketplace app developers with no option to tell whether multiple devices belong to the same user or not. Apple promises that the CTF applies once regardless of how many devices the user has.<\/p><p>Since app developers can&rsquo;t tell if an additional device belongs to a subscribed user, they are forced to charge the user per device to be on the safe side.<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/daringfireball.net\/linked\/2024\/04\/17\/altstore-pal\">John Gruber<\/a>:<\/p>\n<blockquote cite=\"https:\/\/daringfireball.net\/linked\/2024\/04\/17\/altstore-pal\">\n<p>For iOS power users and enthusiasts, alternative app marketplaces are going to be fun and useful. Right now there&rsquo;s no better place to be an iPhone user than the EU.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/twitter.com\/drbarnard\/status\/1781316054989361242\">David Barnard<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/drbarnard\/status\/1781316054989361242\">\n<p>I&rsquo;m moving to the EU so I can finally have a clipboard manager on iOS.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/adamdemasi.com\/2024\/04\/19\/app-marketplace-experience.html\">Adam Demasi<\/a> (<a href=\"https:\/\/twitter.com\/hbkirb\/status\/1781180942406869070\">tweet<\/a>):<\/p>\n<blockquote cite=\"https:\/\/adamdemasi.com\/2024\/04\/19\/app-marketplace-experience.html\">\n<p>The whole marketplace flow is a disaster. While AltStore seems to have tons of problems itself [&#8230;], the majority of the problems are in Apple&rsquo;s implementation.<\/p>\n<p>App installation has no progress prompts. The app-marketplace:\/\/ URL scheme, used by websites to tell iOS to begin installing a marketplace app, displays zero progress. It only has the ability to display error messages, such as telling you you&rsquo;re not eligible (not located in the EU), or that you need to go to Settings to allow the app to be installed. Naturally, there&rsquo;s no button that takes you to Settings, nor any explanation of what you do when you&rsquo;re there.<\/p>\n<p>Once you&rsquo;re in Settings, a followup button appears below your Apple ID name. Tapping Allow simply dismisses the prompt. There&rsquo;s no indication of what happens next. The answer is - nothing happens. You need to go back to Safari and initiate the installation again. Then, you get another full screen prompt, and then an alert prompt. The app then starts downloading, but nothing tells you that. Tapping the download button does nothing now. You just eventually think to go to the home screen and find the app.<\/p>\n<p>[&#8230;]<\/p>\n<p>Make no mistake, if a teenager was able to build a jailbreak that puts a Cydia icon on the home screen with a download progress bar back on iOS 4.3 (2011!), Apple can do far better with user experience here. They know what they&rsquo;re doing. The sloppiness of the whole process is intentional, and AltStore needing to charge &euro;1.50\/year is a barrier Apple fully intended to force upon marketplaces. <\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/twitter.com\/Freerunnering\/status\/1782838767146909779\">Kyle Howells<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/Freerunnering\/status\/1782838767146909779\"><p>Apple&rsquo;s designed the alternative AppStore process to be as terrible a user experience as they think they can get away with.<\/p><p>I used to jailbreak all my devices. EVERY SINGLE Jailbreak app store was miles better than this mess.<\/p><\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/05\/02\/core-technology-fee-exemptions\/\">Core Technology Fee Exemptions<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/03\/13\/web-distribution-of-ios-apps-in-eu\/\">DMA Compliance: Web Distribution of iOS Apps in EU<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/01\/29\/app-marketplaces-altstore-and-epic-games-store\/\">App Marketplaces: AltStore and Epic Games Store<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/01\/25\/dma-compliance-alternative-app-stores-but-no-sideloading\/\">DMA Compliance: Alternative App Stores But No Sideloading<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2021\/08\/21\/court-documents-about-epic-v-google-and-app-store\/\">Court Documents About Epic v. Google and App Store<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2020\/08\/25\/potential\/\">Potential<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2020\/07\/09\/clip-1-0\/\">Clip 1.0<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2019\/09\/26\/altstore\/\">AltStore<\/a><\/li>\n<\/ul>\n\n<p id=\"altstore-pal-update-2024-05-07\">Update (2024-05-07): <a href=\"https:\/\/twitter.com\/Freerunnering\/status\/1786608575759995336\">Kyle Howells<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/Freerunnering\/status\/1786608575759995336\"><p>I&rsquo;d like to remind everyone all the work Apple has done, to make such a terrible 3rd party app store experience, was entirely voluntary.<\/p><p>iOS has had app true side loading, install from Safari, since iOS 3. Just locked down.\nAll that was actually required was turning that on.<\/p><\/blockquote>\n\n<p id=\"altstore-pal-update-2024-05-23\">Update (2024-05-23): <a href=\"https:\/\/tapbots.social\/@paul\/112288741680892519\">Paul Haddad<\/a>:<\/p>\n<blockquote cite=\"https:\/\/tapbots.social\/@paul\/112288741680892519\"><p>I don&rsquo;t get this at all. One hack is unacceptable, but another uglier hack is OK? Apple disallows always running background applications for battery life reason, but it&rsquo;s OK to use location services and a map even though that&rsquo;s almost certainly going to waste a lot more battery?<\/p><p>For the record, I think Apple should allow always running apps on iOS (with scare alert to enable) and I think outside the App Store notarization should concern itself with security issues only.<\/p><\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Riley Testut: I&rsquo;m thrilled to announce a brand new version of AltStore &mdash; AltStore PAL &mdash; is launching TODAY as an Apple-approved alternative app marketplace in the EU. AltStore PAL is an open-source app store made specifically for independent developers, designed to address the problems I and so many others have had with the App [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2024-05-02T20:28:01Z","apple_news_api_id":"84a2e32a-45dc-49a6-94dd-60779fc87ed3","apple_news_api_modified_at":"2024-05-23T16:12:49Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAw==","apple_news_api_share_url":"https:\/\/apple.news\/AhKLjKkXcSaaU3WB3n8h-0w","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":[1878,2542,1961,2571,733,1927,31,2321,26,772,1842,74,1670,1717],"class_list":["post-43057","post","type-post","status-publish","format-standard","hentry","category-technology","tag-altstore","tag-app-marketplaces","tag-clip","tag-delta-emulator","tag-emulator","tag-european-union","tag-ios","tag-ios-17","tag-iosapp","tag-ios-multitasking","tag-notarization","tag-opensource","tag-pasteboard","tag-patreon"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/43057","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=43057"}],"version-history":[{"count":5,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/43057\/revisions"}],"predecessor-version":[{"id":43384,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/43057\/revisions\/43384"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=43057"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=43057"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=43057"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}