Archive for November 1, 2022

Tuesday, November 1, 2022

Decker 1.0

John Earnest:

Decker builds on the legacy of HyperCard and the visual aesthetic of classic MacOS. It retains the simplicity and ease of learning that HyperCard provided, while adding many subtle and overt quality-of-life improvements, like deep undo history, support for scroll wheels and touchscreens, more modern keyboard navigation, and bulk editing operations.


For more complex projects, Decker features a novel scripting language named Lil which is strongly influenced by both Lua, an imperative language popular for embedding in tools and game engines, and Q, a functional language in the APL family used with time-series databases. Lil is easy to learn and conventional enough not to ruffle any feathers for users with prior programming experience, but also includes pleasant surprises like implicit scalar-vector arithmetic and an integrated SQL-like query language.

Via John Gruber:

Decker is astonishing. At first glance you might mistake it as shallow, a fun nostalgic gimmick. […] The whole thing is beautiful and fun and useful and so engaging that I literally had a dream about using it last night. I don’t know what I’m going to make with Decker but I’ll be damned if I’m not going to make something. It’s that inspiring.


The native Mac app is just 4 MB. It’s free of charge and open source, but Earnest is accepting voluntary payments on the downloads page.

John Earnest:

Decks are usually distributed through the web, and to users who have a web browser. By making the document format amenable to embedding inside a valid HTML document’s <script> tag (with the necessary considerations for escaping special character sequences), it is possible to distribute decks as operating system- and architecture-agnostic “self-executing” documents which can also be read and manipulated without a complete HTML parser.


Advanced users may want to edit their Lil scripts using their favorite text editor. The document format puts special emphasis on representing scripts with their whitespace intact and a minimum of escaped characters to facilitate this.


Building upon the above, advanced users may want to store and track decks using existing source-control systems. Documents therefore use a line-oriented format compatible with tools like diff and attempt, within reason, to reflect localized edits to a deck in localized changes to the file.

App Store Ads Gone Wild

John Gruber (tweet):

But how much money can these ads be generating? How much can Apple hope they eventually generate? It can’t possibly be enough money to justify the damage it’s doing to Apple’s brand.


“No ads in the App Store, period” would have been a powerful, appealing message. One that Apple could have used to justify its control over all software on the platform and its much-debated mandatory cut of all app and game transactions. “We sell ads in the App Store, but they’re OK because they don’t track you” seems to be the message Apple is going for, but that’s neither powerful nor appealing. It boils down to “Hey, it could be worse.”

Ryan Jones:

“OK because they don’t track you” accepts Apple’s self-defined esoteric definition of “track” as standard language.

I’m certain that’s not true.

I propose that “only we can track you” is technically correct and standard definitions.

John Gruber:

But there are aspects of Apple’s position on advertising eight years ago, unrelated to privacy, that don’t square with Apple’s position today. Cook has repeated variations of that “you’re not the customer, you’re the product” mantra umpteen times since 2014. But how are these ads in the App Store not making users the product, and advertisers the customers?


Apple’s business model is no longer the straightforward selling of great products, and these new ads in the App Store are not designed to make anything better other than Apple’s Services bottom line.

John Voorhees:

What happened shouldn’t surprise anyone who has even a passing familaritly with auction based ad models on the web. Of course these were the ads that would dominate the App Store.

Oliver Haslam:

Which, realistically, means Apple wasn’t surprised. Which means it knew what it was doing and ploughed on anyway.

The Talk Show:

Federico Viticci returns to the show to talk about iPads, Stage Manager, and Apple’s ill-considered foray into expanding ads in the App Store.


Update (2022-11-09): Basic Apple Guy:

Fast forward to 2022, and I feel like the wool has been pulled over my eyes. Apple has slowly expanded the reach of ads across their platforms over the past several years, including now showing ads before their TV+ shows, allowing ads to be absolutely riddled throughout the News+ app (including videos), showing ads in the stocks app, promoting their services in the iOS settings app, not reprimanding third-party developers from using push notifications to display ads, showing ads in App Store search results, and most recently, showing ads on the front page and EVERY SINGLE app product page of the App Store. What’s more, there are rumours of more ads rolling out into Maps and Podcasts in the future.


What angers me about this trend is that many of the experiences I treasure are being devalued in order to prioritize more revenue.

IAP for NFTs

Apple (MacRumors):

Apps may use in-app purchase to sell and sell services related to non-fungible tokens (NFTs), such as minting, listing, and transferring. Apps may allow users to view their own NFTs, provided that NFT ownership does not unlock features or functionality within the app. Apps may allow users to browse NFT collections owned by others, provided that the apps may not include buttons, external links, or other calls to action that direct customers to purchasing mechanisms other than in-app purchase.

Jason L. Baptiste:

Apple is now the largest threat to Web3 with their most recent App Store Guidelines that they published today.


Token/NFT gated apps are dead. Doesn’t matter if bought on your own site.


Apple is now an enforcer of bit licenses for governments. If your bit license is called into question, Apple can remove you instantly without waiting for a court appeal.


You can’t just use IAP to offer something for let’s say $54.20 or $69.69. You have to use pre-set prices such as .99 or 14.99. Each price point is its own “items”, requiring its own approval. The tech literally cannot work for NFTs/marketplaces.

Tim Sweeney:

To cryptocurrency enthusiasts, this means Apple is now adding a 30% tax on your so-called “true ownership” of digital goods.

To crytocurrency detractors, this shows Apple’s motivations are only money. For digital items, they support NFTs they tax, and ban NFTs they don’t tax.

Matthew Ball:

A 30% tax on all trades of virtual goods means that, unless it appreciates 40% or more between trades, every transaction drives its value to $0, with Apple devouring all the value.

Buy a $1k skin, if you sell it at $1k, you’ve lost $300 and Apple has made $600, yet no value made

Florian Mueller:

The foregoing is clearly anti-innovative. For example, why shouldn’t it be possible for an app to unlock a feature or some additional content if someone scans a QR code at an event? It’s just that Apple generally prohibits it because otherwise there would be a risk to Apple that someone would bypass its app tax.


IAP for Boosted Posts

Apple (MacRumors):

Advertising Management Apps: Apps for the sole purpose of allowing advertisers (persons or companies that advertise a product, service, or event) to purchase and manage advertising campaigns across media types (television, outdoor, websites, apps, etc.) do not need to use in-app purchase. These apps are intended for campaign management purposes and do not display the advertisements themselves. Digital purchases for content that is experienced or consumed in an app, including buying advertisements to display in the same app (such as sales of “boosts” for posts in a social media app) must use in-app purchase.

Alex Heath (Hacker News, MacRumors):

This primarily affects Facebook and Instagram, which let people pay to boost the reach of their posts. It’s the first time Apple has directly taxed advertising in iOS apps.


Meta is accurate to say that this policy on paid boosts is, at least publicly, an about-face from Apple. Last May, during the Epic v. Apple antitrust trial, App Store boss Phil Schiller testified that the company had never taken a cut of iOS developer ad revenue. Going forward, that won’t be true anymore.

Florian Mueller:

Apple’s in-app purchasing (IAP) system is not mandatory for pure Advertising Management Apps. For instance, the Google Ads app shows you how your campaign is going, and you can also make some modifications to a campaign or start a new campaign, and that is separate from IAP. But where Apple now imposes an app tax is if the purchase of a promotion such as a “boost” for a post is made in the very same app that displays it. You can “boost” tweets or Facebook posts within those apps, and so far that was not considered an IAP, but now it is.

Apparently, dating apps like Bumble have operated like that for some time. The difference is, of course, that generating more views of a profile on a dating website is functionally and commercially closer to a premium subscription or other premium feature of a dating app: it’s not a two-sided market, while there is a structural difference between the way in which a company promoting a tweet or Facebook post uses that platform as compared to the other side of that market, which is the huge number of people who read those posts or write their own without an intent to ever pay for promotion. In other words, on dating apps everybody is dating and a boost is just dating on steroids, but on Twitter or Facebook, it’s not like everybody is advertising.

Big-budget advertisers will not be affected, or at least not in most of those situations, as they will use dedicated advertising apps. But small businesses will often just pay for boosting a social media post, and they will normally do it where they post. Without them even knowing, they will further enrich Apple. They won’t know as Apple prohibits that app developers tell customers the truth and make them aware of a less expensive alternative to get the same service.

See also: Dithering.