Archive for January 2024

Wednesday, January 31, 2024

Apple Vision Pro Reviews

Nilay Patel (Hacker News):

Apple’s settled for building a headset with real-time video passthrough — it is the defining tradeoff of the Vision Pro. It is a VR headset masquerading as an AR headset. And let me tell you: the video passthrough on the Vision Pro is really good.

[…]

The Vision Pro simply doesn’t work like that — you have to be looking at something in order to click on it, and that means you are constantly taking your attention away from whatever you’re working on to specifically look at the button you need to press next.

[…]

You can open as many apps as you want and put them anywhere you want in space. You can open windows in the kitchen, walk away from them and open some more in the living room, and then go back to the kitchen to find all your old windows waiting for you.

[…]

Your Mac thinks it’s connected to a 5K display with a resolution of 5120 x 2880, and it runs macOS at a 2:1 logical resolution of 2560 x 1440, just like a 5K display. […] That virtual display is then streamed as a 4K 3560 x 2880 video to the Vision Pro, where you can just make it as big as you want. The upshot of all of this is that 4K content runs at a native 4K resolution — it has all the pixels to do it, just like an iMac — but you have a grand total of 2560 x 1440 to place windows in, regardless of how big you make the Mac display in space, and you’re not seeing a pixel-perfect 5K image.

[…]

There are a lot of ideas in the Vision Pro, and they’re all executed with the kind of thoughtful intention that few other companies can ever deliver at all, let alone on the first iteration. But the shocking thing is that Apple may have inadvertently revealed that some of these core ideas are actually dead ends — that they can’t ever be executed well enough to become mainstream. This is the best video passthrough headset ever made, and that might mean camera-based mixed reality passthrough could just be a road to nowhere. This is the best hand- and eye-tracking ever, and it feels like the mouse, keyboard, and touchscreen are going to remain undefeated for years to come. There is so much technology in this thing that feels like magic when it works and frustrates you completely when it doesn’t.

Adi Robertson (via Ric Ford):

Yet as I’ve watched the Vision Pro go from announcement to release, it’s also seemed held back by something that has little to do with hardware. Apple is trying to create the computer of the future, but it’s doing so under the tech company mindset of the present: one obsessed with consolidation, closed ecosystems, and treating platforms as a zero-sum game.

[…]

For all its problems, the Vision Pro is giving us our first glimpse of a computer born into the era of walled gardens... and it’s hard not to wonder what we’re missing as a result.

Joanna Stern (Hacker News):

There is a built-in virtual keyboard so you can type in thin air. But it will drive you mad for anything longer than a short message. And selecting smaller buttons with a pinch should be a carnival game. I started getting real work done once I paired the Vision Pro with a Bluetooth keyboard and mouse.

[…]

There’s a lot of amazing tech at play: The system uses cameras to track eye, hand and face movements in real time. But if everyone I call either falls over laughing or recoils in horror, what good is it? Apple says the [Persona] feature is in beta.

[…]

I worried about wielding a knife, but there’s no noticeable latency between what you see on screen and what’s really happening. Everything is a bit pixelated, but on the plus side, your eyes don’t tear up when you’re cutting onions!

The “wow” moment came at the stove when I dragged one timer over the boiling pasta and another over the browning mushrooms. They just hovered until time was up.

[…]

Apple’s headset has all the characteristics of a first-generation product: It’s big and heavy, its battery life sucks, there are few great apps and it can be buggy.

John Gruber:

I’ve used it for hours at a time without any discomfort, but fatigue does set in, from the weight alone. You never forget that you’re wearing it.

[…]

The virtual keyboard is better than trying to type on an Apple Watch, but not by much. […] This little HUD lets you see what you’re typing while keeping your eyes on the physical keyboard. It’s weird but in a good way. One week in and it still brings a smile to my face to have a physical keyboard with tappable autocomplete suggestions.

[…]

The fundamental interaction model in VisionOS feels like it will be copied by all future VR/AR headsets, in the same way that all desktop computers work like the Mac, and all phones and tablets now work like the iPhone.

[…]

EyeSight is not an “Oh my god, I can see your eyes!” feature, but instead more of an “Oh, yes, now that you ask, I guess I can sort of see your eyes” feature. Apple seemingly went to great lengths (and significant expense) to create the EyeSight feature, but so far I’ve found it to be of highly dubious utility, if only because it’s so subtle. It’s like wearing tinted goggles meant to obscure you, not clear goggles meant to show your eyes clearly.

[…]

Vision Pro is simply a phenomenal way to watch movies, and 3D immersive experiences are astonishing. There are 3D immersive experiences in Vision Pro that are more compelling than Disney World attractions that people wait in line for hours to see.

[…]

Spatial computing in VisionOS is the real deal. It’s a legit productivity computing platform right now, and it’s only going to get better. It sounds like hype, but I truly believe this is a landmark breakthrough like the 1984 Macintosh and the 2007 iPhone.

Mark Spoonauer:

The Apple Vision Pro is a truly amazing product that delivers futuristic eye- and hand-tracking interface along with breathtaking 3D video and truly impressive AR apps. It’s also a magical way to extend your Mac. But there’s some early performance bugs that need to be worked out, the battery can get in the way, and Digital Persona is a bit creepy and needs work.

Scott Stein:

The headset is the best wearable display I’ve ever put on. But at its price, and with so few VisionOS apps at launch, the Vision Pro isn’t a device I’d recommend to any of my friends or family. If you’re in the immersive industry and can afford one, then that’s another story. But for anyone else, I’d recommend you get a free demo at an Apple Store, marvel at its features and wait and see.

[…]

Will I carry Vision Pro around like a computer? In the Apple travel case (sold separately for $199), the Vision Pro is like a very bulbous set of headphones. It’s bigger than my large backpack can hold. Also, I’d need a keyboard and trackpad. A laptop or iPad is a more portable option, and less in need of special packing care.

MacRumors:

You can watch Justine Ezarik, Marques Brownlee, and Brian Tong testing their Personas on a FaceTime call in the video below[…]

Quinn Nelson:

The most surprising takeaway from all the Vision Pro reviews/videos is how universally awful the EyeSight display is. Until today, I expected it to be super important to the “I’m still in the real world” experience. Now, I’m 95% sure it’ll be canned by the 2nd gen.

Benjamin Mayo:

One such limit is that the Vision Pro home screen of apps is not organizable in visionOS 1.0. As noted by Brian Tong in his video review, the system currently does not let the user reorder their grid of apps […] You can navigate between pages by swiping with your hand. But if your favorite apps start with letters at the back half of the alphabet, there’s currently no way to move them to the first or second page to make accessing them more convenient. You also can’t make folders to group related apps together.

Another potential thing to be aware of is that you cannot create home screen icons for websites. The ‘Add to Home Screen’ button in Safari is simply not present on visionOS at the moment.

Tim Hardwick:

Marques Brownlee in his unboxing video also described the battery as “pretty heavy,” and compared it to phones with larger capacity 5,000+ mAh batteries that feel “much lighter.”

[…]

The external battery pack that comes with the Vision Pro is silver, has a proprietary connector for attaching to the headset, and a USB-C port for charging via the included 30W wall charger. The proprietary connector is connected to the Vision Pro by rotating it a quarter turn to lock it into place.

For those considering buying an additional $200 battery pack, one thing to bear in mind is that Vision Pro batteries are not hot-swappable[…]

John Siracusa:

Where Vision Pro may stumble is in its interface to the deep, spatial world it provides. We all know how to reach out and “directly manipulate” objects in the real world, but that’s not what Vision Pro asks us to do. Instead, Vision Pro requires us to first look at the thing we want to manipulate, and then perform an “indirect” gesture with our hands to operate on it.

Is this look-then-gesture interaction any different than using a mouse to “indirectly” manipulate a pointer? Does it leverage our innate spatial abilities to the same extent? Time will tell. But I feel comfortable saying that, in some ways, this kind of Vision Pro interaction is less “direct” than the iPhone’s touch interface, where we see a thing on a screen and then literally place our fingers on it.

Francisco Tolmasky:

Literally the number one thing I heard from so many people was something along the lines of “just being able to have multiple monitors all around me makes the Vision Pro worthwhile!” And it turns out it can’t do that.

Apple:

Meet some of the incredible teams building for visionOS, and get answers from Apple experts on spatial design and creating great apps for Apple Vision Pro.

Juli Clover:

Apple has sold upwards of 200,000 Vision Pro headsets, MacRumors has learned from a source with knowledge of Apple's sales numbers.

See also: John Voorhees, Om Malik, MacRumors, 9to5Mac, Matthew Cassinelli, Dithering.

Previously:

Update (2024-02-05): Philip Rosedale:

I found myself at one point actually resting my chin in my hand with my elbow on the table because… it’s that heavy. And I am a large strong person used to wearing these things. Way too heavy for prolonged use. You have to tighten it too your face really hard because of the single strap, and it felt more uncomfortable at the contact points with your face than the Quest. When Aaron took his AVP off, the red ring on his face was comical…

[…]

I do think the UX and in particular using the gaze as a pointer shows a path to genuinely new ways of interfacing with computers, once the weight can be reduced by (at least) 2X. But there is no short-term line of sight to how that level of weight reduction could be achieved, given that we can be sure Apple tried very hard and are excellent industrial designers. And as I mentioned earlier, the most vital capability for healthy usage - being able to easily communicate with other people while wearing it - remains to be explored.

Adam Engst:

The $3499 list price is just the beginning. That model has 256 GB of storage; 512 GB costs $3699 and 1 TB is $3899. Given the size of 3D content, apps, and your Photos library, 256 GB may not be enough. Many will also need the Zeiss optical inserts: $99 for readers or $149 for prescription lenses. Apple’s padded carrying case for travel runs another $199, and AppleCare+—almost certainly essential—costs $499. You could also pay $199 for a backup battery pack and $199 for another light seal cushion if someone else in your household wants to try it. It would be easy to spend $5000 on a kitted-out Vision Pro.

[…]

Several reviewers briefly mentioned that there’s a Guest mode that lets someone else try out a Vision Pro, and iJustine demos it with a friend. From what I can tell, though, it’s designed for demos, not for regular sharing with someone else in your family.

[…]

The most important thing to remember about the Vision Pro is that it’s not for “the rest of us.” It’s not even clear who the Vision Pro is for—there is no killer app yet. Apple is planting seeds for developers, early adopters, and the tech curious who are willing to spend big to be on the bleeding edge. To be sure, Apple also wants to get ahead of Meta and other companies that may want to stake out similar territory. The hope is that the Vision Pro will provide everyone—Apple, developers, and users—with the experience necessary to work toward a point where the technology has evolved sufficiently that it can become a mainstream product at an affordable price.

Paris Marx (via doekman):

The Vision Pro looks sleek in an Apple-y way, but it also looks pretty ridiculous. The company clearly imagines us wearing this headset throughout our days and interacting with people as if there isn’t a large device strapped to our heads, occasionally displaying an eery representation of our eyes. That feature is designed to show the headset isn’t isolating, and is rather an “augmented reality” piece of hardware. While I’m sure the distinction between augmented and virtual reality matters to some people, what I observed in the presentation was just how little difference it makes.

[…]

The emphasis was on work and the notion that it should be normal to wear a headset throughout your day. You can understand the emphasis on work, especially given the headset’s price tag (which we’ll get to later), but ultimately if this is the direction computing is set to go in the next ten or fifteen years, we’re in for an even more dismal future than the one Silicon Valley has so far shouldered us with.

John Gruber:

And, like the butterfly from Encounter Dinosaurs that some people can feel landing on their outstretched finger, I swear to you, I can almost feel the telekinetic connection with UI elements in VisionOS. It’s a hint, a whiff, of tension — between not just my hands and the virtual elements I’m manipulating, but between my mind and those elements. Just the vaguest sensation of tension emanating from my forehead, like a taut thread of ultrafine string connecting my mind to the window I’m moving, or button I’m pressing, or photo I’m stretching.

With Vision Pro, the gestures are necessary, because the device can’t actually read your mind. (At least not in this first-generation version.)

Boris Yurkevich:

There’s a strong Sci-Fi vibe I am getting from the media and press. It feels like we just made the next step into the future.

Update (2024-02-06): Manton Reece:

Amazing video from Casey Neistat going around New York City wearing the Vision Pro. My opinion keeps alternating between “I need this now” and “no one should ever have this”…

Jamie Zawinski:

Are we just gonna keep calling them glassholes, or is there a new word yet?

Dave Mark:

Reminds me of how weird AirPods looked when they first started popping up in public. Now they are ubiquitous.

I’m a believer. Vision Pro is going to be a big part of Apple’s future.

Ben Thompson (Hacker News):

First off, the user interface is exceptionally difficult to manage once you have multiple windows on the screen, particularly when windows are arranged on the z-axis (i.e. nearer or closer to you in 3-D space); one gets the sense that the usability of iOS-based operating systems are inversely correlated to their screen size. Second, while the eye tracking is an incredible feat of engineering, it is not nearly as precise as it needs to be for productive window management.

The biggest limitation, though, is hardware: the Vision Pro field of view is very narrow, in a way I didn’t fully appreciate while only using one app in that demo (Apple hasn’t reported the number, but it is noticeably narrower than the Quest 3’s 110°). This becomes immediately apparent when you have more than two or so apps open: if you want room for more, without encountering the z-axis issues I noted above, you better get ready to physically move your head or body (this is exacerbated by the fact that Vision Pro apps are very large, even if you have chosen the “small” preference; I would like them to be half the size they present as).

The net result is that the Vision Pro, at least in its current incarnation, does not come close to being the productivity tool I was so excited about last summer, when I wrote that I suspected the Vision Pro was “the future of the Mac”, and that’s even before getting to the limitations of Apple’s iOS-based operating system in terms of app capabilities and business models. That latter point, along with the limitations of eye-tracking as a default user-interface model, also makes me worry that new and better hardware won’t change this reality.

Wes Davis:

The Vision Pro subreddit is naturally offering a taste of how Apple’s vision is landing with people who decide to take the plunge.

Jason Snell:

In the meantime, I’ve gotten a bunch of questions from readers and listeners about the device, so I thought I’d make my first piece about the Vision Pro an FAQ story.

Filipe Espósito:

Although the front glass on the Vision Pro has proven to be quite resistant to accidental damage, new tests show that it is highly susceptible to scratches.

Luke Wroblewski:

Is Apple now locked in a habit of porting their ecosystem from screen to screen to screen? And, as a result, tethered to too many constraints, requirements, and paradigms about what an app is and we should interact with it? Were they burned by skeuomorphic design and no longer want to push the user interface in non-conventional ways?

Garrett Murray:

Feature request for iOS: Give me a setting to unlock my phone with Optic ID via Vision Pro when I’m wearing it. Currently I have to cancel Face ID and unlock with my passcode every time which is silly.

Francisco Tolmasky:

I keep putting my hands behind by head and leaning back in my chair while using it (like in this image below). Pinching to click of course does not work when I’m like this, and it’s so unbelievably annoying. Apple makes such a huge deal about it working “anywhere”, and you get so used to your eyes being the controllers, that it feels like a school teacher telling you not to slouch or something when it inevitably and, at least for me, frequently doesn’t work.

[…]

Speaking of environments, wow, what a let down. They go away the second you move! Maybe this was obvious to everyone else, but I thought I’d be able to explore a little bit. Like I dunno, a few meters around me? Nothing crazy, just enough so that if I want to stretch my legs I still feel like I’m “there”. But no, the second you move 3 feet, it just disappears. It already didn’t seem that “real” to me, but this really makes it feel like just a picture to me.

Daniel Jalkut:

I keep discovering new amazing things about Apple Vision Pro. I hesitated to buy this because I thought I’d regret it, but it’s increasingly unlikely I’ll return it. It’s such a game changer. Naysayers are all wrong or will be in 1-2 years.

Update (2024-02-14): See also:

Update (2024-02-16): See also:

Update (2024-02-21): Wade Tregaskis:

I was really surprised to see pixels. Immediately. Even though I was already aware – mainly from John’s stumbling over the topic on ATP – that the PPD (Pixels per Degree) is actually quite poor on the Vision Pro, at just 34. A “Retina display” at typical viewing distances is around 100. Even an ancient non-Retina Apple display is about 50.

[…]

Furthermore, unlike the original Macintosh’s screen – which at least had quite crisp pixels – the Vision Pro is blurry as well. That surprised me less – I figured there might be some calibration required, which was perhaps unintentionally skipped by the buggy demo unit. But my Apple Store handler didn’t seem to think so, yet seemed surprised by my comments (that the view was pixelated and blurry). He had no real answer to that. He implied (by omission) that my experience was normal. 😕

[…]

The other thing I noticed within a literal second of using the unit is that the artificial visuals jitter – jump randomly about by a pixel or two. All the time. It’s less noticeable in full VR mode where you have no objective reference in the form of real world objects, but in AR mode everything displayed by the Vision Pro is shaking. I was able to mostly ignore it throughout the demo – but only with conscious effort. Any time I let my mind or vision wander in the slightest, the shaking immediately bothered me once more.

Castro Sold Again

Castro Team:

We are excited to announce Castro has been purchased by Bluck Apps. Castro is a great app with a long history on iOS and many passionate fans, and it will continue to operate in its current form. This is a return to its independent roots. We won’t be making any drastic changes, like overhauling the UI to look more like TikTok. We’re not adding an AI chatbot. We’ll just keep running the podcast service you already love, with a few tweaks to modernize and keep things running smoothly.

[…]

We know that over the past few months Castro has not communicated well. The new team’s #1 priority will be keeping our users informed. Starting today, all support emails will be answered in a timely manner. Major changes will be broadcast widely, and we’ll let you know if something is going on with the app.

[…]

Bluck Apps is an independently run app studio and consulting agency. We already have a podcast app on Android.

It will still be free with a subscription for advanced features.

Matt Birchler:

What I loved about Castro was that it had an inbox page where all my shows appeared, and with a very quick UI, I was able to choose what to do with each episode, whether that be adding it to the bottom of my queue, the top of the queue, archiving the episode, or even playing it immediately. Yes, you could sort of do something like this with Overcast, but you’d have to go through more taps to do this for each show and you’d also lose the ability to choose where in the listening queue each episode went.

[…]

Now Castro still exists, but I’ve been referring to it in the past tense this whole post because for me, Castro died a few years ago. For example, there was a bug where private feeds (Stratechery, Patreon feeds, etc.) that would not fetch new episodes unless I went into the show in Castro and pulled to refresh each feed manually. I reported this to Castro and their response was basically, “yeah we know that’s an issue, but we don’t plan on fixing it.” I don’t know if this has gotten better over the years, but that’s an example of a support email that leaves such a bad taste in your mouth that you drop the product entirely.

[…]

For what it’s worth, I think that a lot of nerds feel a connection to Castro in a way we don’t with many other apps, which is why even though most of us have moved on from Castro, we’re all still rooting for it to make a comeback.

Previously:

NSA Buying Logs From Data Brokers

Charlie Savage (via Hacker News):

The National Security Agency buys certain logs related to Americans’ domestic internet activities from commercial data brokers, according to an unclassified letter by the agency.

The letter, addressed to a Democratic senator and obtained by The New York Times, offered few details about the nature of the data other than to stress that it did not include the content of internet communications.

Still, the revelation is the latest disclosure to bring to the fore a legal gray zone: Intelligence and law enforcement agencies sometimes purchase potentially sensitive and revealing domestic data from brokers that would require a court order to acquire directly.

[…]

In a letter to the director of national intelligence dated Thursday, the senator, Ron Wyden, Democrat of Oregon, argued that “internet metadata” — logs showing when two computers have communicated, but not the content of any message — “can be equally sensitive” as the location data.

Thomas Claburn:

The NSA for years has been intercepting phone metadata and internet communications through bulk data collection programs under Section 702 of the US Foreign Intelligence Surveillance Act. The rules are supposed to target foreign threats beyond America’s borders, yet communications between US persons and foreign nationals get captured as part of this process.

The acquisition of Americans’ personal data is even easier. This personal information flows from web and native apps on people’s devices to app makers and their marketing partners, and then to data brokers who sell it on to others, and it can be had by Uncle Sam’s agents without a warrant.

[…]

But recent action by the US Federal Trade Commission suggests that buying and selling of unlawfully obtained data will no longer be tolerated. The gray area has been repainted as a red line.

Tim Cushing (Hacker News):

Buying domestic data from data brokers is just something the government does all the time. Bypassing restraints enacted by the Supreme Court, federal agencies (along with local law enforcement agencies) are hoovering up whatever domestic data they can from private companies all too happy to be part of the problem.

Sure, the government can pretend the Third Party Doctrine applies here. But chances are that most of this data being collected by phone apps and other services isn’t being collected with the full knowledge of device users. This is the sort of thing that’s hidden in the deep end of Terms of Use boilerplate, suckering people out of all kinds of data because they made the mistake of assuming a seemingly-innocuous match-3 game wouldn’t attempt to ping their phone’s location and tie it to specific device IDs.

Bruce Schneier:

This is almost certainly illegal, although the NSA maintains that it is legal until it’s told otherwise.

Joseph Cox:

Hundreds of thousands of ordinary apps, including popular ones such as 9gag, Kik, and a series of caller ID apps, are part of a global surveillance capability that starts with ads inside each app, and ends with the apps’ users being swept up into a powerful mass monitoring tool advertised to national security agencies that can track the physical location, hobbies, and family members of people to build billions of profiles, according to a 404 Media investigation.

Via Nick Heer:

It does not seem possible to know for sure whether Patternz really processes ninety terabytes of data daily (PDF), for example, but the company claims it creates a direct link between online advertising networks and global surveillance for intelligence agencies. It does not sound far fetched.

[…]

Even if you believe targeted advertising is a boon for publishers — something which seems increasingly hard to justify — it has turned the open web into the richest and most precise spyware the world has ever known. That is not the correct trade-off.

Probably worth keeping an eye on a case in California’s Northern District, filed in 2021, which alleges the privacy problems of Google’s real-time bidding system amount to a contract breach.

Bruce Schneier:

The CFPB’s rules align with a key security idea: the decoupling principle. By separating which companies see what parts of our data, and in what contexts, we can gain control over data about ourselves (improving privacy) and harden cloud infrastructure against hacks (improving security). Officials at the CFPB have described the new rules as an attempt to accelerate a shift toward “open banking,” and after an initial comment period on the new rules closed late last year, Rohit Chopra, the CFPB’s director, has said he would like to see the rule finalized by this fall.

Right now, uncountably many data brokers keep tabs on your buying habits. When you purchase something with a credit card, that transaction is shared with unknown third parties. When you get a car loan or a house mortgage, that information, along with your Social Security number and other sensitive data, is also shared with unknown third parties. You have no choice in the matter. The companies will freely tell you this in their disclaimers about personal information sharing: that you cannot opt-out of data sharing with “affiliate” companies. Since most of us can’t reasonably avoid getting a loan or using a credit card, we’re forced to share our data. Worse still, you don’t have a right to even see your data or vet it for accuracy, let alone limit its spread.

The CFPB’s simple and practical rules would fix this. The rules would ensure people can obtain their own financial data at no cost, control who it’s shared with and choose who they do business with in the financial industry. This would change the economics of consumer finance and the illicit data economy that exists today.

Previously:

Update (2024-02-05): Jordan Rose:

I don’t really get why the proposal is “it should be illegal for the government to buy this” rather than “it should be illegal for companies to sell it”. Even if the latter never gets passed because of regulatory capture, can’t it at least be the starting point?

Tuesday, January 30, 2024

IFTTT Killing Legacy Pro Plan

Ben Patterson (via Hacker News):

Remember when IFTTT said it would allow its legacy users to set their own prices for the service’s “pro” plan, and that it would honor those prices “forever”? Well, it turns out “forever” has an expiration date.

In a message posted on its website, IFTTT just announced that its pay-what-you-want legacy Pro plans are going away, with current users on that plan slated to be migrated to the $5-a-month IFTTT Pro+ plan at the start of their next billing cycles.

[…]

The move comes just a couple of weeks after IFTTT announced that it would yank access to Twitter applets from its free users, as well as reducing the number of applets that free users could create to two, down from the original limit of three.

I’d been reluctantly subscribed since the introduction of the legacy plan, because although the service was not particularly reliable or stable, I hadn’t found anything better. Several weeks ago, though, they started enforcing rate limits such that IFTTT became completely useless for my main purpose of archiving tweets to e-mail. The Pro+ plan didn’t have a higher limit, either, so I deleted most of my applets and went back to the free plan. I’m disappointed that they have continually reduced their offerings, even for paying customers, and never fixed longstanding user interface and reliability issues. And I don’t understand why the rate limits are so low for customers paying $150/year.

nitter.d420.de (via Hacker News):

If nothing changes, all remaining instances will go down eventually: Instances rely on guest accounts, which are valid for a certain time and of which you need a ton to run a public instance. The API for this got taken down and it doesn't look like a fluke this time.

Nitter is the other way that I’ve been accessing Twitter, but more and more of the instances are down, throttled, or require human verification.

Previously:

Update (2024-02-06): It looks like IFTTT has broken auto-tweets for new blog posts. I’m down to a single applet, which should work with the free tier, but IFTTT reports that it has Pro features. I will start posting links manually, as I’ve been doing for the blog updates.

In Loving Memory of Square Checkbox

Nikita Prokopov (Hacker News):

As you can see, even the checkmark wasn’t always there. But one thing remained constant: checkboxes were square.

Why square? Because that’s how you can tell them from radio buttons[…]

[…]

You see, people on the Web think conventions are boring. That regular controls need to be reinvented and redesigned. They don’t believe there are any norms.

That’s why it’s common to see radio buttons containing checkmarks[…] Or square radio buttons[…]

Apple now uses rounded, sliding buttons for checkboxes in both Mac and iOS settings. Apple Reminders and OmniFocus both use rounded checkboxes for tasks. And Apple’s visionOS design resources recommend circles with checkmarks in them.

Anyway, with Apple’s betrayal, I think it’s fair to say there’s no hope for this tradition to continue.

Rui Carmo:

I remember reading Tog On Interface back in the day and thinking that Apple had the ultimate grasp of UI design, and their using round checkboxes these days is just… plain… wrong.

Previously:

Portable EPUBs

Will Crichton (via Hacker News):

Despite decades of advances in document rendering technology, most of the world’s documents are stuck in the 1990s due to the limitations of PDF. Yet, modern document formats like HTML have yet to provide a competitive alternative to PDF. This post explores what prevents HTML documents from being portable, and I propose a way forward based on the EPUB format.

[…]

The act of working with PDFs is relatively fluid. I can download a PDF, quickly open it in a PDF reading system like Preview, and keep or discard the PDF as needed. But EPUB reading systems feel comparatively clunky. Loading an EPUB into Apple Books or Calibre will import the EPUB into the application’s library, which both copies and potentially decompresses the file. Loading an EPUB on a Kindle requires waiting several minutes for the Send to Kindle service to complete.

Worse, EPUB reading systems often don’t give you appropriate control over rendering an EPUB. For example, to emulate the experience of reading a book, most reading systems will chunk an EPUB into pages. A reader cannot scroll the document but rather turn the page, meaning textually-adjacent content can be split up between pages. Whether a document is paginated or scrolled should be a reader’s choice, but 3/4 reading systems I tested would only permit pagination (Calibre being the exception).

Therefore I decided to build a lighter EPUB reading system, Bene. You’re using it right now. This document is an EPUB — you can download it by clicking the button in the top-right corner. The styling and icons are mostly borrowed from pdf.js. Bene is implemented in Tauri, so it can work as both a desktop app and a browser app.

On the other hand, it doesn’t feel like a normal Web page, rendering in a frame unless you view the main HTML file directly.

Previously:

Monday, January 29, 2024

Fossil Is Quitting Smartwatches

Victoria Song (via Hacker News):

The company has been one of the most prolific makers of Wear OS smartwatches over the years, and its absence will leave a large gap in the market.

[…]

This shouldn’t come as a huge shock if you’ve been paying attention to Fossil the past few months. Some Reddit users had been reporting Fossil retail employees as saying Fossil was pulling out of the business, while others on the platform claiming “insider” knowledge said the company was waiting for a new chipset. The company regularly put out smartwatches through Wear OS’s toughest years and was often a permanent fixture at CES. However, the company was notably absent from the show earlier this month. What’s more, Fossil was expected to announce news of a new Gen 7 featuring the Qualcomm Snapdragon W5 Plus platform in 2023 — however, it was nothing but crickets the entire year. Well, now we know why.

Previously:

App Marketplaces: AltStore and Epic Games Store

AltStore:

We’ve started the process of becoming a legitimate “app marketplace”, allowing our European friends to download @delta and other AltStore apps officially for the first time ever!

See you in March ☘️

Jacob Kastrenakes:

Epic plans to launch the Epic Games Store on the iPhone this year in the European Union — and it’s bringing Fortnite back to the platform along with it.

The announcement comes after Apple shared how it will open up iOS in response to the EU’s crackdown on Big Tech. Epic CEO Tim Sweeney described Apple’s rules as “hot garbage,” but they are clearly not so hot as to keep Epic away altogether.

Juli Clover:

Apple is charging an 0.50 euro fee per user per year for apps installed outside of the App Store (and in the App Store for developers who opt in to the new terms and also still choose to use Apple’s system), but there are no App Store commissions or in-app fees. While Apple is waiving fees for the first one million installs, the 0.50 per user fee will cost app developers like Epic Games a notable amount of money. Sweeney called Apple’s payment “junk fees.”

Manton Reece:

Reviewing news coverage of the Core Technology Fee, usually glossed over is that the CTF applies to every install of a marketplace.

[…]

Because marketplaces will usually be free, this makes it nearly impossible for them to work without charging developers just as much as Apple does, or having enough cash that it can lose money. Everything in Apple’s rules is designed to prevent anyone from using this.

Benedek Kozma:

Marketplaces have to pay CTF for all “first annual installs”, not just 1M+. Non-profits don’t have to pay the CTF but can only install apps from developers who also have the fee waivered.

Epic would have to pay the Core Technology Fee twice, both for the Fortnite app itself and for the marketplace app that’s used to download Fortnite. Plus, since marketplaces are supposed to be open to apps within a given category, Epic would also have the overhead of managing and reviewing whatever apps other developers submit to their marketplace.

See also:

Previously:

Update (2024-01-30): John Gruber:

One problem I see with the Core Technology Fee is that it doesn’t seem compatible with the concept of completely free-of-charge apps from developers who aren’t registered non-profits, educational institutions, or governments. What we used to call freeware back in the day.

Apple Podcasts Transcripts

Apple:

This spring [with iOS 17.4], Apple is introducing transcripts on Apple Podcasts, making it easier for anyone to access podcasts.

With transcripts, your audience can read the full text of an episode, search the episode for a specific word or phrase, and tap the text to play from that point in the episode. As an episode plays, each word is highlighted, making it easy to follow along. Transcripts can also be accessed from the episode details page. Touch and hold a podcast episode to reveal an option to view a transcript.

Apple automatically generates transcripts after a new episode is published. Your episode will be available for listening right away, and the transcript will be available shortly afterwards.

[…]

When you submit your show to Apple Podcasts, transcripts will be automatically created. If you would like to provide your own transcripts, you can change the transcript setting for your show in the Availability tab on your show page in Apple Podcasts Connect.

John Voorhees:

I’ve experimented with OpenAI’s Whisper for creating transcripts of MacStories’ podcasts, and although the results are good enough for creating a searchable episode database for our internal use, they haven’t been good enough to publish. As a result, I’m very keen to see how well Apple’s solution works. If they prefer, podcasters will be able to upload their own transcripts, too.

The transcripts generated by Apple are saved as VTT files, which is a W3C standard for displaying timed text using HTML 5’s track element. I looked at AppStories, and sure enough, there’s a transcript available for the latest episode already. As one of the show’s creators, I can access, download, edit, and re-upload the transcript. Based on my preliminary scan of the latest episode, though, the transcription is very good, including timestamps and identification of each speaker, although not by name, which isn’t surprising.

Ben Thompson:

Apple’s new ToS for podcasts claims that you can opt out of transcripts, but there is no option to do so in Podcast Connect.

It seems to be a per-episode setting, though that sounds like it creates a race condition where you would have to wait long enough for Apple Podcasts to see the episode so that you could opt out but not wait so long that the episode and transcript have already been distributed to listeners.

I carefully consider every word I write down. Podcasts are a freer medium in part because they are not screen-shottable.

I don’t think that will be the case long-term, regardless of what Apple does here.

Jason Snell:

Speaking as a prolific podcaster, I’m really happy that Apple has provided this feature because it dramatically improves the accessibility of our podcasts. Transcription technology has only recently gotten good enough to make automated transcripts readable, but the ideal solution to the problem was always to have platform owners like Apple build in this technology themselves.

Platform Tilt

Mozilla (via Mike Rockwell):

This dashboard tracks technical issues in major software platforms which disadvantage Firefox relative to the first-party browser. We consider aspects like security, stability, performance, and functionality, and propose changes to create a more level playing field.

Previously:

Update (2024-01-30): Thomas Claburn (Hacker News):

“For years, Mozilla has engaged in dialog with platform vendors in an effort to address these issues,” the development group declared. “With renewed public attention and an evolving regulatory environment, we think it’s time to publish these concerns using the same transparent process and tools we use to develop positions on emerging technical standards.”

[…]

At the top of the dashboard – by virtue of alphabetic order and coincidentally by actual importance – is Rule 2.5.6 of the Apple App Store Review Guidelines, which requires that all browsers on iOS use Apple’s WebKit rendering engine.

[…]

Google gets called out for failing to allow third-party Android browsers to import browsing data, for sometimes ignoring a user’s default browser choice, and for integrating Android with Google Search in a way that makes search results worse when users search with Firefox.

Microsoft is not spared either. The Windows biz stands accused of failing to allow third-party browsers to set themselves as the default browser, for allowing Edge to set itself as the default more easily, and for opening certain features in Edge regardless of the user’s choice of default browser.

Friday, January 26, 2024

Sign in With Apple No Longer Required

Apple:

In line with Apple’s mission to protect user privacy, Apple is updating its App Store Review Guideline for using Sign in with Apple. Sign in with Apple makes it easy for users to sign in to apps and websites using their Apple ID and was built from the ground up with privacy and security in mind. Starting today, developers that offer third-party or social login services within their app will have the option to offer Sign in with Apple, or they will now be able to offer an equivalent privacy-focused login service instead.

Previously, if an app supported any third-party sign-in service it was required to also support Sign in With Apple. As with the rule changes for streaming gaming, Apple is not saying this change is due to the DMA, but it was announced at the same time as the DMA changes.

Previously:

Streaming Games in a Single App

Apple:

Available for developers’ apps around the world, Apple also announced new options for streaming games[…]

Apple (MacRumors):

Apple is introducing new options for how apps globally can deliver in-app experiences to users, including streaming games and mini-programs. Developers can now submit a single app with the capability to stream all of the games offered in their catalog.

Apps will also be able to provide enhanced discovery opportunities for streaming games, mini-apps, mini-games, chatbots, and plug-ins that are found within their apps.

[…]

The changes Apple is announcing reflect feedback from Apple’s developer community[…]

They are implying that this is not due to the DMA.

Benjamin Mayo:

Previously, Apple required developers submit a separate app for each game individually, a laborious and untenable affair.

Unlike most of the other changes introduced today which apply only in the European Union, the game streaming policy update applies globally.

Previously:

Update (2024-02-20): Juli Clover:

Microsoft does not plan to bring an Xbox Cloud Gaming app to iOS at this time because there’s no opportunity for monetization, Microsoft Gaming CEO Phil Spencer said in an interview with The Verge. When asked whether Apple’s recent app ecosystem changes in the European Union make “room” for Xbox Cloud Gaming on iOS, Spencer said that monetization was an issue, and that the Digital Markets Act forcing Apple’s updates does not “go far enough to open up competition.”

Previously:

DMA Compliance: Default App Controls and NFC

Apple:

Apple will introduce new default controls for users in Settings for:

  • App marketplace apps — Users will be able to manage their preferred default app marketplace through a new default setting for app marketplace apps. Platform features for finding and using apps like Spotlight are integrated with a user’s default app marketplace.
  • Contactless payment apps — Users will be able to manage their preferred default contactless payments app through a new default setting, and select any eligible app adopting the HCE Payments Entitlement as the default.

Apple:

Apple is also introducing a new choice screen that will surface when users first open Safari in iOS 17.4 or later. That screen will prompt EU users to choose a default browser from a list of options.

This change is a result of the DMA’s requirements, and means that EU users will be confronted with a list of default browsers before they have the opportunity to understand the options available to them. The screen also interrupts EU users’ experience the first time they open Safari intending to navigate to a webpage.

Emphasis added. Apple is not happy about this.

Previously:

Update (2024-01-26): Joe Rossignol:

Apple said iPhone users in the EU will be presented with a list of the 12 most popular web browsers from their country's local App Store at the time, and noted that the options will be shown in random order for every user.

Apple shared an alphabetical list of the browsers that will currently be shown in every EU country.

See also: John Voorhees (Hacker News).

Juli Clover:

Going forward, NFC payments will be available directly in apps without the need for Apple Pay or the Wallet app, paving the way for third-party payment services and banks to offer their own tap-to-pay solutions on Apple devices.

[…]

This access to NFC technology is limited to banking and wallet apps that are in the European Economic Area, which includes the 27 European Union countries plus Iceland, Liechtenstein, and Norway.

DMA Compliance: Alternative Browser Engines

Apple:

The coming changes to iOS in the EU include:

[…]

New frameworks and APIs for alternative browser engines — enabling developers to use browser engines, other than WebKit, for browser apps and apps with in-app browsing experiences.

Apple:

To use an alternative browser engine in your app, you’ll need to request the Web Browser Engine Entitlement (for browser apps that want to use alternative browser engines) or the Embedded Browser Engine Entitlement (for apps that provide in-app browsing experiences that want to use alternative browser engines).

Apple will provide authorized developers access to technologies within the system that enable critical functionality and help developers offer high-performance modern browser engines. These technologies include just-in-time compilation, multiprocess support, and more.

[…]

To help keep users safe online, Apple will only authorize developers to implement alternative browser engines after meeting specific criteria and who commit to a number of ongoing privacy and security requirements, including timely security updates to address emerging threats and vulnerabilities.

It sounds like this only applies to iPhone apps, they have to be EU-only, and they’re not allowed to be set as the default browser.

David Pierce (MacRumors):

Since the beginning of the App Store, Apple has allowed lots of browsers but only one browser engine: WebKit. WebKit is the technology that underpins Safari, but it’s far from the only engine on the market. Google’s Chrome is based on an engine called Blink, which is also part of the overall Chromium project that is used by most other browsers on the market. Edge, Brave, Arc, Opera, and many others all use Chromium and Blink. Mozilla’s Firefox runs on its own engine, called Gecko.

On iOS, though, all those browsers have been forced to run on WebKit instead, which means many features and extensions simply don’t work anymore.

Previously:

Update (2024-01-26): BrowserEngineKit:

Create a browser that renders content using an alternative browser engine.

[…]

If you use an alternative browser engine in your app, you must design your secure browser infrastructure to separate different components into extensions that your browser manages. Design a limited inter-process communication (IPC) protocol that coordinates work across the extensions. Separating your alternative browser engine into distinct extensions limits the impact of security vulnerabilities in any one process.

Via Steve Troughton-Smith:

Holy moly that’s a lot of APIs and granular architecture specifics. If you dig into the setup instructions, it has everything from splitting tasks across multiple XPC processes to mandating arm64e to a whole collection of new entitlements. You don’t just ‘build a web browser’. This almost feels like an AppleInternal Safari spec with a ‘your implementation goes here’. I love it

Update (2024-01-30): Juli Clover (Hacker News):

While support for alternative browser engines sounds like a win for browser companies, Mozilla spokesperson Damiano DeMonte told The Verge that Firefox is "extremely disappointed" with the way Apple is implementing the feature because it does not extend to the iPad.

Firefox uses the Gecko engine and could swap to that on the iPhone, but it would need to continue using WebKit on the iPad.

And outside the EU.

James Moore (via Hacker News):

This news is tempered by the fact that Apple’s proposed solution to comply with the DMA rules to allow browser competition has not been well received.

Others in the industry we have spoken to described Apple’s compliance plan as it relates to browsers as “unworkable”, “a massive problem for us” and “doing everything they can to make the DMA fail”.

[…]

Apple claims repeatedly, if you don’t like their app store, don’t use it. You can use the web and web apps to reach your customers.

They say this, while at the same time preventing this from happening by not providing the tools needed in their own browser and blocking other browsers from providing them.

Previously:

Update (2024-02-14): See also: Hacker News.

Previously:

DMA Compliance: Interoperability Requests

Apple:

Today, developers can ask questions or share feedback or suggestions to Apple in a variety of ways — such as developer support, the Apple Developer Forums, and Feedback Assistant. To reflect the DMA’s changes, Apple has created an additional dedicated process for developers to request additional interoperability with iOS and iPhone features.

Apple will introduce a new request form for developers to request additional interoperability with hardware and software features built into iPhone and iOS. Apple will evaluate requests on a case-by-case basis and design a solution if one can be supported, and let the developer know if one cannot.

I don’t have much hope for this given the brokenness of the current processes for bug reporting, security bounties, entitlement requests, and guidelines challenges. And it only applies to the EU. They do promise to provide updates every 90 days.

Apple (MacRumors):

Get started with requesting effective interoperability with iOS by submitting the request form.

[…]

Based on Apple’s initial assessment of the appropriateness of your request and whether it falls within Article 6(7) of the DMA, Apple will start working on designing a solution for effective interoperability with the requested feature. Apple considers multiple factors when designing effective interoperability solutions. The integrity of iOS will always be among the important considerations for Apple.

What happens if there’s disagreement about whether a request would affect the integrity of iOS?

Previously:

DMA Compliance: App Analytics and User Data Portability

Apple:

Apple will expand the analytics available for developers’ apps both in the EU and around the world to help developers get even more insight into their businesses and their apps’ performance. Over 50 new reports will be available through the App Store Connect API to help developers analyze their app performance and find opportunities for improvement with more metrics[…]

[…]

Apple’s Data & Privacy site will be enhanced to provide users with additional App Store data categories and provide users the ability to consent to exporting this data to authorized alternative app marketplace developers. To help ensure that the intended uses of this sensitive user data meet user expectations, marketplace developers are responsible for meeting minimum eligibility requirements before they may access the Account Data Transfer API for requesting this data within their interfaces.

Previously:

DMA Compliance: Alternative Payments

Apple:

  • Payment Service Providers (PSPs) — where developers use an alternative payment processor that lets users complete transactions within their app.

  • Linking out to purchase — where developers direct users to complete a transaction for digital goods and services on their external webpage. The presentation of the link out to purchase may communicate information for EU users about promotions, discounts, and other deals.

To use these new payment options in an app, developers will need to use the StoreKit External Purchase Entitlement, the StoreKit External Purchase Link Entitlement, or both. Developers are not required to submit a separate binary to use alternative payment processing.

Due to the App Store’s tight integration with In-App Purchase, and to reduce confusion for users, developers may not offer both In-App Purchase and alternative PSPs and/or link out to purchase to users in their App Store app on the same storefront.

Unlike app marketplaces, this applies to all of Apple’s platforms (but only in the EU).

Apple:

When using an alternative payment processor within your app, it will display a system disclosure sheet to customers explaining that purchases are made through a source other than Apple.

[…]

When linking out to your webpage from within your app, Apple will display a system disclosure sheet to customers that explains to the user each time that they’ll be leaving the app and going to an external webpage through a source other than Apple.

[…]

If you support either alternative payment processing or link out to your webpage, you’re responsible for paying a commission to Apple on the sale of digital goods and services in the EU. iOS apps on the App Store will pay a reduced commission of either 10% (for developers participating in the App Store Small Business Program and for subscriptions after their first year) or 17% on transactions for digital goods and services, regardless of payment processing system selected; while for iPadOS, macOS, tvOS, and watchOS you’ll get a 3% discount on the commission you owe to Apple.

[…]

Please note that Apple has audit rights pursuant to the Alternative Terms Addendum for Apps in the EU.

See also: Benjamin Mayo.

Previously:

Update (2024-01-26): Kosta Eleftheriou:

Why doesn’t Apple show this warning for apps like Amazon, Uber, or AirBnB?

Thursday, January 25, 2024

DMA Compliance: Alternative App Stores But No Sideloading

Hartley Charlton (Slashdot):

Developers who offer the ability to sideload their apps in the European Union will still face restrictions and fees imposed by Apple, The Wall Street Journal reports.

App sideloading capabilities will allow users to download apps from outside the App Store for the first time, but only in the EU. The change is necessitated by the EU’s Digital Markets Act (DMA), which seeks to rein in the apparent anticompetitive conduct of big tech companies.

[…]

Apple will apparently retain the ability to review each app offered outside the app store, as well as take a fee from developers that offer them.

John Gruber:

I’ve considered it very odd that the DMA is not clear at all about this. And here we are on the cusp of it going into effect, and we still seemingly have no idea whether the European Commission and Apple see eye to eye on what the DMA demands for compliance.

[…]

I have a feeling that fireworks are going to fly when Apple announces their compliance plans, but I don’t know. Maybe Apple has shared their plans in detail with the E.C. and the E.C. is fine with it. But if that’s the case, I don’t see how the DMA “has teeth” when it comes to sideloading.

John Gruber:

The Journal did not state what percentage commission or fees Apple plans to collect, but it sounds like Spotify thinks they’re going to offer an iOS app through which they won’t pay Apple anything at all for in-app transactions. Their blog post has a series of before-and-after screenshots, and the “after” screenshots show a purchasing flow that doesn’t involve any of the warnings or scaresheets Apple has required for the “reader” app entitlement, Dutch dating apps, or the new External Purchase Links entitlement.

Apple (Hacker News, MacRumors, MacStories, 9to5Mac):

The changes are available for developers who distribute apps in any of the 27 EU member countries and only apply to apps available and distributed to users in the EU.

[…]

The DMA requires changes to this system that bring greater risks to users and developers. This includes new avenues for malware, fraud and scams, illicit and harmful content, and other privacy and security threats. These changes also compromise Apple’s ability to detect, prevent, and take action against malicious apps on iOS and to support users impacted by issues with apps downloaded outside of the App Store.

That’s why Apple is introducing protections — including Notarization for iOS apps, an authorization for marketplace developers, and disclosures on alternative payments — to reduce risks and deliver the best, most secure experience possible for users in the EU. Even with these safeguards in place, many risks remain.

[…]

To reflect the DMA’s changes, users in the EU can install apps from alternative app marketplaces in iOS 17.4 and later. Users will be able to download an alternative marketplace app from the marketplace developer’s website.

[…]

Through a combination of automated checks and human review, Notarization will help ensure apps are free of known malware, viruses, or other security threats, function as promised, and don’t expose users to egregious fraud.

This is different from macOS notarization, which is a (usually) quick, automated process, without human review.

Apple:

Developers can choose to adopt these new business terms or stay on Apple’s existing terms. Developers must adopt the new business terms for EU apps to use the new capabilities for alternative distribution or payment processing.

[…]

The alternative business terms for iOS apps in the EU have three primary elements:

  • Reduced commission — iOS apps on the App Store will pay a reduced commission of either 10% (for the vast majority of developers, and for subscriptions after their first year) or 17% on transactions for digital goods and services, regardless of payment processing system selected;
  • Payment processing fee — iOS apps on the App Store can use the App Store’s payment processing for an additional 3% fee. Developers can use a Payment Service Provider within their app or link users to a website to process payments for no additional fee from Apple;
  • Core Technology Fee (CTF) — For very high volume iOS apps distributed from the App Store and/or an alternative app marketplace, developers will pay €0.50 for each first annual install per year over a 1 million threshold.

[…]

Developers who adopt the new business terms at any time will not be able to switch back to Apple’s existing business terms for their EU apps.

mil22:

Once you have opted in to Apple’s new business terms, you will be locked in to those terms forever.

Because of this restriction, given the ridiculous €0.50 per year per install fees, no developer who hopes their new app will one day have more than 1M installs will choose these new terms, and I have no doubt that is exactly Apple’s intention here.

Updates within the same year don’t count, unlike with Unity. Because of the five App Stores, it sounds like only iPhone apps (not iPad) will be available from marketplaces. Also, there is no true sideloading, after all.

Kyle Howells:

Non-developers don’t seem to know side loading via Safari exists on the iPhone has done since iOS 3.

Technically all Apple needs to do to support side loading is just change one of the code signing requirements.

Apple:

Estimate how the different models may apply to your business on iOS in the EU.

Steve Troughton-Smith:

I think most of what Apple is proposing is acceptable, even good. I think the specifics on the Core Technology Fee need a little tweaking (i.e. free apps in or out of App Store shouldn’t be bankrupted by 1M+1 users), and I hope the EU negotiates on that point.

It makes sense to require proof of a $1M line of credit to run an alternative app store, just so everybody isn’t making one.

Dan Moren:

Apple’s scary warnings about the risks created by the adoption of these new EU measures are frankly hilarious, given that basically this exact same system—notarization, “sideloading,” alternative app stores—has been in place on the Mac for years.

Sean Heber:

It is absolutely bonkers that Apple is rolling out all of these major App Store changes but restricting them to Europe.

They’re treating the calls for more openness the same way they treat demands for censorship in China. These are not the same thing.

What if a US developer wanted to target the open EU App Store marketplace? Not sure there’d even be a legal(?) way to test the apps here. Would have to import an EU phone or something, maybe?

Riley Testut:

Entirely new apps can now exist on iOS for the first time ever (video game emulators! clipboard managers! virtual machines!), but I seriously doubt many apps will leave the App Store

David Heinemeier Hansson:

Still trying to unpack all the new Apple/EU stuff, but at first glance, it does actually look like a big class of apps will be able to avoid Apple’s rent seeking entirely. But there are a million asterisks and new clauses to consider!

Previously:

Update (2024-01-26): M.G. Siegler (Hacker News):

Earlier today, I laid out why I thought Apple might end up taunting the EU with any changes they implement to comply with the Digital Markets Act (DMA) laws set to take effect in March. And after a roughly 30 minute honeymoon period when folks thought Apple may actually be turning over a new leaf, it’s pretty clear how Apple feels about these changes that they’re being made to implement.

[…]

I mean, this press release is pretty bonkers. To showcase this truly amazing tone and tenor for corporate communications, I will literally highlight the best parts[…]

[…]

I’m honestly not sure I can recall a press release dripping with such disdain. Apple may even have a point in many of the points above, but the framing of it would just seem to ensure that Apple is going to continue to be at war with the EU over all of this and the only question now is if these changes placate the body at all. Typically, if you’re going make some changes and consider the matter closed, you don’t do so while emphatically shoving your middle fingers in the air.

Coalition for App Fairness:

Apple clearly has no intention to comply with the DMA. Apple is introducing new fees on direct downloads and payments they do nothing to process, which violates the law. This plan does not achieve the DMA’s goal to increase competition and fairness in the digital market – it is not fair, reasonable, nor non-discriminatory.

Juli Clover:

App developers in the European Union who choose to opt in to Apple’s new business terms must pay an €0.50 “Core Technology Fee” or CTF for every app install over one million installs, a model that has the potential to bankrupt free or freemium app developers.

[…]

Under Apple’s new business terms, a free or freemium app that gets two million annual “first installs” would need to pay an estimated $45,290 in fees per month according to Apple’s fee calculator, or more than half a million dollars per year, even if no money is earned.

Tim Sweeney (Hacker News):

Because this scheme worked out so well for John Riccitiello.

Nikita Bier:

Under the App Store’s new fee structure for Europe, if you make $10 million in sales, Apple’s cut is $6.2 million annually.

Assuming you have no operating costs or salaries, your take home amount: $2 million after tax—or 20% of your sales.

Chance Miller:

Apple says that anyone looking to develop an alternative app marketplace will have to provide evidence that it can financially “guarantee support for developers and customers.”

David Heinemeier Hansson:

To create an alternative App Store you have to: “Provide Apple a stand-by letter of credit from an A-rated financial Institution of €1,000,000 to establish adequate financial means in order to guarantee support for your developers and users.” 🤣

Dare Obasanjo:

I’m still shocked by the fact that Apple’s DMA compliance plan is to charge developers more money to use the DMA compliant version of their product.

Tim Sweeney (via Emma Roth):

Apple’s plan to thwart Europe’s new Digital Markets Act law is a devious new instance of Malicious Compliance.

They are forcing developers to choose between App Store exclusivity and the store terms, which will be illegal under DMA, or accept a new also-illegal anticompetitive scheme rife with new Junk Fees on downloads and new Apple taxes on payments they don’t process.

David Heinemeier Hansson:

At first glance, it could seem like Apple actually attempted some semblance of good faith compliance with the Digital Markets Act that goes into effect March 7 in the EU. But once you start peeling the onion, you realize it’s stuffed with poison pills so toxic you can scarcely believe Apple’s chutzpah.

[…]

That’s $135 MILLION DOLLARS per year. Just for the privilege of putting Instagram into a competing store.

[…]

And Meta has many successful apps! WhatsApp is even more popular in Europe than Instagram, so that’s another $135M+/year.

[…]

This poison pill is therefore explicitly designed to ensure that no second-party app store ever takes off. Without any of the big apps, there will be no draw, and there’ll be no stores. All of the EU’s efforts to create competition in the digital markets will be for nothing.

See also: Dithering.

Max Seelemann:

You should be aware that:

⚠️ Apps stay installed forever, because people never delete apps. So they will update for years (until user switches devices, I guess). And you’ll pay the core platform fee all this time.

⚠️ These paid install rates are NOT paid user rates. 10% paid install rate translates to a whopping 25% paying users per annual new download. (yes, comparing apples and pears) Given there’s churn at so many stages, you’ll need phenomenal conversion and retention rates to get there!

Seeing this, I’m convinced this is an intentionally rigged game and actually also a honey pot. A trap for new developers to sign up for a mode that might (will?) eventually kill them.

[…]

It’s a mathematically hidden way of saying „Fuck You“ to regulators and the industry. Dressing up nicely and acting like your friend, but coming for you once you bite, inescapable. Basically, a trojan horse.

Steve Troughton-Smith:

Free apps are going to be massively, disproportionately affected by Apple’s Core Technology Fee, which is why I don’t think it will stand as-is.

If you have just 2M users on a completely free app, you’re looking at $45,290 in monthly fees to Apple, or half a million dollars a year.

Also note that this would apply to Freemium apps too — you have to either guarantee you won’t hit 1M downloads or reinstalls over a year, or you need to ensure every user pays upfront. You can’t be free with IAP or it could easily bankrupt you.

Tim Sweeney:

Under what possible theory of antitrust regulation is it acceptable for a monopoly to decide what companies are allowed to compete with it, and on what terms they can compete?

Jesper:

This is not sideloading in any commonly used term. Particularly with the financial requirements and the Core Technology Fee, it is devolved monopoly. A third-party marketplace is required to have significant amounts of cash on hand, and driven to be able to recoup €0.50 per first annual install of its own marketstore app (which do not get the one million "grace" window).

On the other hand, there is a sliver of a legitimate point that for aspiring actual marketplaces, being able to provide all the things that such a marketplace should provide. But marketplaces are the answer to a not-locked-down App Store. Sideloading is the answer to a not-locked-down Ad Hoc Distribution; this quadrant is as missing now as it ever was.

[…]

Apple is digging in on its world view that no developer can ever be trusted, even directly by a user. Shipping a bug fix update straight to users, without having someone on Apple QA it, is not possible.

Nick Heer:

This is not really “sideloading” or the Mac-esque experience some have been envisioning because these “marketplace apps” — as Apple is calling them — will be the only other way of installing native iOS apps. The way you will get the marketplace apps themselves, Apple says, is via the web, but other kinds of third-party software are not able to be installed on an iPhone this way. In other words, you can download apps from an app store or the App Store.

[…]

These features are only available to E.U. users, and Apple is being as restrictive with these changes as it is for censorship in China. One cannot simply change their iPhone’s region in Settings to an E.U. member state. As previewed last year, there is a new process that validates feature availability based on, according to Filipe Espósito of 9to5Mac, the billing address on file and the device location, among other qualities.

Still, if Apple can be an Irish company for tax reasons, my iPhone should be able to become Irish for device control reasons.

Juli Clover:

Options to install apps through alternative app stores will only be available in the countries listed above, and elsewhere in the world, there will be no changes to how apps are installed and distributed.

Colin Devroe:

I wonder if Apple’s EU App Store changes will cause a number of businesses to reincorporate outside of the US.

Matt Birchler:

This isn’t the sideloading future some wanted, as app developers will still need to distribute their apps through a marketplace. This means someone like Tapbots will still need to submit Ivory to other marketplaces and they will not be able to just sell their app on their website and let the user download a .app file like they can with Mac apps.

Marketplaces who want to have alternate app stores on the iPhone and iPad need to get a special entitlement from Apple, much like devs have to do today to get CarPlay, for example.

Manton Reece:

With this week’s App Store changes for the EU’s Digital Markets Act, let’s revisit how Apple is doing with those four points[…]

[…]

This is all pretty disappointing. I have been bitter about the App Store for years, but yesterday I tried to keep an open mind. I was initially excited about the potential for marketplaces. I blogged that it seemed like a good-faith effort to comply with the DMA. Apple had put a bunch of work into this, in documentation and new APIs. The more I understood it, though, the less compelling it became. In some cases it will be worse than what we had before.

[…]

The problem is Apple’s total control over app distribution, and so the only permanent fix for the App Store is removing that control with true sideloading[…]

Rui Carmo:

This is a big nothingburger. If you work your way through all the constraints of the new model (and still find it worthwhile somehow), it still requires a centralized review for notarization and does not address (or improve) the case of people wanting to run their own code on their own devices at all – you still need to pay the $99 fee and go through all the existing hoops.

[…]

But, most importantly for me personally, this kills any notions one might have of hobbyist developers creating and testing small apps for friends and family–especially if you’re a kid[…] So yes, I’m getting my kids a couple of cheap Android tablets for prototyping.

Boris Yurkevich:

Nothing, nothing for the majority of the iOS customer base should change. A minor portion of big businesses will try to create either their store or host their binaries. Most likely all of these initiatives are going to be abandoned, like they abandoned their Apple Watch apps and iMessage apps. They do not care, and they won’t care when they see their metrics are dead in comparison to the App Store metrics. What Apple did here with their reactive defensive approach is a strategy to make sure the App Store platform remains the same. We all, me included, are not happy with the App Store policies and we want the App Store to change. Laws and regulations are not the way to do it. The change has to come from creative energy, not force. The only good change that can come is driven by the creative mindsets of brilliant people working hard right now on the future of computing.

Kyle Howells:

I find it so weird people suddenly act like macOS and Windows just don’t exist when talking about iOS app distribution.

All these ridiculous arguments saying Apple deserves to tax developers whatever they want and the ecosystem can’t possibly exist without the AppStore.

David Heinemeier Hansson:

The App Store dispute can be boiled down to one big question: Is the iPhone a computer or not? If it’s a computer, we ought to have the right to compute. Like consumers have won the right to repair. If it’s a computer, it ought to be yours, and you ought to have the right to install whatever software you should so choose.

[…]

Mac developers are rightfully worried that this golden era of computing is coming to an end, though. That Apple is signalling a future where every piece of software that runs on computers has to be approved by app store bureaucrats, busy protecting the business model of the platform. And I think they’re right to worry about this, so now is the time to enshrine this right to compute. While people still remember what it’s like to be free to install software of their own choice.

The irony here is that Apple has the best argument for why that freedom is perfectly compatible with a safe computing platform: The Mac. It’s has been an incredibly stable and secure platform for over twenty years now.

Jason Snell:

As is painfully clear from Apple’s press release on Thursday, the company deeply dislikes being mandated by law to make these changes. At every turn, while assuring the public that Apple is going to do its best to keep users as safe and secure as possible, it stops to point out that the DMA will make iOS less secure.

[…]

That said, the existence of these features almost certainly ensures that the EU won’t be the only place to have them. Undoubtedly, every other legislator and regulator in the world is watching this situation and preparing their own DMA-like regulations. Some may rush in, while others may wait and see just what happens.

[…]

I have to think that Apple will have a team of security people watching carefully as these features roll out across the EU. But there will also be a team of PR people ready to publicize any incident that feeds into Apple’s narrative about the DMA endangering EU citizens.

This is a risky game for Apple, though. As the rest of the world watches to see the result of what will happen in Europe, Apple’s statements about the dangers of sideloading will be put to the test. If there aren’t major security issues with the rollout of these new features, Apple’s protests will be revealed as toothless and self-serving, and these changes will likely be mirrored all over the world.

Kosta Eleftheriou:

I’m sure Apple will eventually take down this obvious scam, but for now they’re just busy nailing down exactly how to comply with the letter but not the spirit of pro-competition laws around the world.

Steve Troughton-Smith:

Whatever about the business side, the technical aspects of how Apple is enabling alternative app stores on iOS are quite amazing. Beyond MarketplaceKit, third party app stores link into App Store Connect, and developers still register their apps on ASC, and notarize them there. There’s a foundation here that I think has great potential to enable whole new aspects of iOS.

If the EU makes them drop the fee + the US passes the Open App Markets Act to make them bring it to the US (at which point they’d hopefully give up and launch it worldwide) it could be a bright new age for iOS, yes.

Eric Schwarz:

It’s really wild to me that the current Apple news cycle has folks talking fondly over the Mac turning 40 and instead of getting back to those roots, Apple doubled down on malicious compliance in the EU. Also, podcasts now get transcripts, which is a great move for accessibility.

Basically today’s Apple will have moments of being wonderful and terrible all in the same day and it feels that there’s some inconsistent leadership.

Update (2024-02-01): Sarah Perez (Hacker News, MacRumors):

On Friday, the [Spotify] issued its response to Apple’s new DMA rules, calling the new fees imposed on developers “extortion” and Apple’s compliance plan “a complete and total farce,” that demonstrated the tech giant believes that the rules don’t apply to them.

John Gruber:

Anti-big-business regulation and pro-consumer results often do go hand-in-hand, but the DMA exposes the fissures. I do not think the DMA is going to change much, if anything at all, for the better for iOS users in the E.U. (Or for non-iOS users in the EU, for that matter.) And much like the GDPR’s website cookie regulations, I think if it has any practical effect, it’ll be to make things worse for users. Whether these options are better for developers seems less clear.

[…]

Schiller is the only Apple executive quoted in the press release, and to my ear, his writing hand is all over the entire announcement.

[…]

But marketplace apps must be real “stores”. A marketplace can decide to exclusively distribute apps from a certain category — like games — but must be open to submissions from any developer in that same category. Company XYZ can’t create a marketplace that only distributes XYZ’s own apps. That’s not a proper category.

[…]

But this also means that if, say, Meta starts distributing their apps through a third-party marketplace (perhaps their own Meta Store), and wishes to encourage iOS users to switch from App Store installations to installations from the Meta Store, each user who does so must delete their existing installations of Meta’s apps before installing the new ones.

[…]

Apple representatives I’ve been in briefings with — multiple times over the last two days — emphasized that content restrictions that apply to apps distributed in the App Store will not apply to those distributed exclusively in EU marketplaces. […] Apple’s review process will continue to involve both automated checks and human review. Private API usage will not be permitted.

[…]

The delicious irony in Apple’s not knowing if these massive, complicated proposals will be deemed DMA-compliant is that their dealings with the European Commission sound exactly like App Store developers’ dealings with Apple. Do all the work to build it first, and only then find out if it passes muster with largely inscrutable rules interpreted by faceless bureaucrats.

John Voorhees:

So, a key point to take away from Thursday’s announcements is that as far-reaching and complex as they are, they are simultaneously very carefully constructed to address just three regulation-worthy products. That’s also why the changes only apply to people in the EU.

[…]

However, that begs the question of why Apple would charge the CTF for free apps in the first place. My guess is that it’s to encourage large free apps to stay in the App Store fold where Apple can review and regulate their behavior because, historically, free apps have engaged in the most egregious privacy violations.

[…]

I expect that there will inevitably be stories of people who have gotten caught up in weird geographic edge cases, but Apple says they’ve thought through this. Simply vacationing outside the EU won’t eliminate access to app marketplaces, for example. Nor should working in a non-EU country but living in the EU. But moving outside the EU for an extended period will eventually end your access to third-party marketplaces and updates to any apps you bought.

Max Seelemann:

I’m not a lawyer but…

[…]

Paragraph 4 does sound like the Core Platform Free actually not being allowed – at least for apps on alternative App Stores.

[…]

Does sound like the way App Review is set up for alternative app stores is also beyond boundaries. Looking for bugs is definitely beyond the gatekeepers allowed interference.

Thomas Claburn:

Apple co-founder Steve Jobs described the computer as a bicycle for the mind. But he failed to let that metaphor shape his greatest achievement, the iPhone, which has become a shackle for the soul.

The iPhone is a computer; you just can’t use it as one most of the time because it’s a closed system. You’re not free to install software that Apple has not approved, unless you “jailbreak” the device – the very term suggesting unlawful transgression rather than a right that follows from ownership.

[…]

While legal experts expect the EU to challenge Apple’s insincere compliance with the DMA, developers should take this opportunity to rethink their native app serfdom. They should push web apps to their limits and then demand further platform improvement.

Damien Geradin:

The objectives of the DMA are to bring contestability and fairness in digital markets, and this is not achieved here. Apple shows disdain for both the DMA and app developers. Its approach to DMA implementation appears to do little for users, other than to deprive them from meaningful choice on the need for protection. That should not be tolerated. Unless Apple make significant changes to its implementation plans, which it will likely not do, the EC should open infringement proceedings on 7 March 2024. Apple’s proposed plans are so at odds with the company’s obligations under the DMA, that EC officials will have no choice.

Joe Rosensteel:

There’s going to be a huge land grab by every one of these already monstrous companies. Sure, there’s no other way to have competition without it, but it doesn’t foster competition where the concentration of power and wealth is distributed to a wider array of smaller developers. We’ll just get to pick our poison — or, more accurately, people in the EU will get to pick their poison. We get to envy their poison-picking from Freedom Fry Land.

It seems pretty obvious that Apple’s attempts to contain the concessions they’re making in various markets to just those markets is not in any way a permanent solution. I do hope they have a better plan this in mind for the rest of the globe, or at least are planning to learn some lessons from this rollout in the EU, because I don’t want everything I do on iOS to be all the big tech companies shouting MAKE US YOUR DEFAULT APP STORE in my face in the all the apps and websites that are, for a variety of reasons, indispensable.

Benjamin Mayo:

In many ways, it is the opening gambit. The Digital Markets Act leaves much to interpretation and the EU regulators have essentially left it up to companies to apply the law, and then assess whether the changes that companies implement is sufficient. I view the published Apple rules as a working proposal, very much subject to change. Apple would rather it wasn’t weakened from here, of course, but I think the EU has shown that it is operating proactively and will follow up with addendums of legislation and enforcement action, as it sees fit.

[…]

But, Apple stacked the deck well. The upside is relatively small. Assuming you are switching away from the 85%/15% split of the Small Business Program, you’ll now be paying 13% commission (10% App Store + 3% IAP). That’s only a saving of just 2% compared to the status quo. In exchange, you bear a huge downside risk of CTF fees if your app grows and crosses the million install mark. You are basically betting your app will never get big, for the entire lifetime of your company, in exchange for 2% extra revenue. That doesn’t sound like a very compelling proposition.

[…]

Apple remarks that it estimates less than 1% of developers would pay any CTF fees, because most apps don’t clear a million annual installs in the EU. But it’s the 1% that are really driving these changes. It’s precisely that 1% that lobbies governments and motivates the creation of the Digital Markets Act in the first place. Spotify, Epic, Netflix, Tinder, etcetera.

[…]

By the way, Apple also imposes the CTF on the app marketplaces themselves, which conveniently prevents these alt-stores from being open season charities. By necessity, the marketplace will need their own intermediary business model to at least afford the Apple fees for every user that installs them.

Darrell Etherington (Hacker News):

What should be a tad more surprising is how willing Apple is to whine and mewl to its customers about how much it doesn’t like this, and about how it thinks this will be bad for them — the users, who Apple seems to consider its weak-willed wards in some regards.

[…]

It’s extremely understandable why Apple doesn’t want to make these changes; Apple’s control of the App Store, and its cut of purchases (typically 30%, with some exceptions) represents a significant chunk of its service revenue, which could have a material impact on earnings if eroded over time. What isn’t so understandable is just how petulant the company is being about prying open fingers on its tightly closed fist when it comes to compliance here.

Lawmakers are already looking to poke Apple’s monolithic business in various spots to see if it isn’t creeping into antitrust territory — or, as in Europe, already enacting laws to limit their control and power. Acting like a kicked puppy when it comes to actually putting these things into practice isn’t going to convince these regulators of Apple’s arguments that these kinds of measures aren’t needed and are in fact user hostile.

Steve Troughton-Smith:

I keep seeing it floated that ‘if you have a million users, and you don’t have a way to make money, what are you even doing?’, which is incredibly toxic. Screw everybody who provides free software/tools, I guess?

I guarantee you every single one of you relies on software that has more than a million users and makes $0, somewhere in your tech stack.

Having a single app like that in your portfolio, even if you have robust paid apps, could be enough to bankrupt you under Apple’s CTF proposal

Here’s an easy one: Mastodon

David Barnard:

There are a lot of apps (and games for that matter) like that on the App Store where people download and use them, but they just aren’t that valuable and don’t monetize well. That’s ultimately a net benefit to consumers, but would be discouraged for any apps that sign up for the “New capabilities and terms” offered in the EU.

Any app that signs up (and operates on the App Store, in a Marketplace app, or both) will be forced to ruthlessly monetize and be carful about low-intent installs. If not, they could easily end up paying Apple far more than 30% of revenue. Some might even end up owing Apple far more than they ever could make (like I would’ve with my app).

Amusingly, getting featured by Apple often brings low-intent installs. So for apps that stick it out in the App Store but sign up for the new terms, Apple could actually wreck their business (intentionally or not) by featuring their app.

The Core Technology Fee even disincentivizes developers from updating their apps, which explicitly goes against Apple’s stated goal of putting users first.

Tanner Bennett:

App review is not security. Malware and scams get through regularly. Only the OS can provide real security. Apple can add antivirus to iOS if they want to, like every other platform has.

They don't want to because they want to keep forcing everyone through app review so they can control what apps we can use and take a cut of apps' transactions with users.

Jeff Johnson:

iOS lockdown was based on two lies, both told by Steve Jobs:

1) “You don’t want your phone to be an open platform. You need it to work when you need it to work. Cingular doesn’t want to see their West Coast network go down because some application messed up.”

2) “We don’t intend to make any money off the App Store. We’re basically giving all the money to the developers and the 30 percent that pays for running the store, that’ll be great.”

Any other justification is revisionist history.

David Barnard:

Imagine if all the work Apple put into dodging the DMA was put into helping developers and making the App Store an even better platform for developers.

At this point, Apple is burning so much goodwill with regulators, developers, and even probably some consumers who see the headlines about Apple being so obstinate, if they ever do drop the commission and make the App Store an obviously better place to transact with customers than on the web, I think a lot of developers will refuse to come back out of spite even if it makes business sense.

Ezekiel Elin:

You also can’t transfer apps from accounts under the new terms to accounts under the old terms. There’s no way to back it out without setting up a new developer account and app bundle.

See also: App Store Review Guidelines History.

Update (2024-02-05): Steven Sinofsky (via Jim Rea):

As I read the over 60 pages of the DMA when it was passed (and in drafts before that, little of which changed in the process) my heart sank over the complexity of a regulation so poorly constructed yet so clearly aimed at specific (American) companies and products. As I read through many of the hundreds of pages of Apple documents detailing their compliance implementation my heart sank again. This time was because I so thoroughly could feel the pain and struggle product teams felt in clinging to at best or unwinding at worst the most substantial improvement in computing ever introduced—the promise behind the iPhone since its introduction. The reason the iPhone became so successful was not a fluke. Consumers and customers voted that the value proposition of the product was something they preferred, and they acted by purchasing iPhone and developers responded by building applications for iOS. The regulators have a different view of that promise, so here we are.

As usual, I disagree with Sinofsky. I don’t think Apple’s vision for the App Store was the reason for iPhone’s success, nor do I think its response to the DMA is meaningfully unwinding that. And I don’t think that consumers can be said to have voted for a specific part of the value proposition given that there are so many differences between the very small number of smartphone choices.

To understand the Apple case, I think it helps to see what transpired with Microsoft first. Below is my opinion and reflection, but it is not a history or full 360° view.

iOS/Android views aside, I also find much of his Mac vs. Windows commentary ahistorical, but I’m linking to this because he obviously has an inside perspective on the antitrust years at Microsoft.

Tim Hardwick:

Speaking to investors on Thursday during Meta’s Q4 earnings call, Zuckerberg called Apple’s new rules “so onerous” that he would not be surprised if any developer adopted them.

Ian Betteridge:

There’s usually a point in the day when I reflect on the fact that some people seem to believe that the makers of computers are owed a tithe by every software developer who creates something wonderful which runs on their platform. And I end up wondering what in the seven hells went wrong.

Update (2024-02-06): Andy Yen:

Apple’s policy is actually worse than abusive — it’s also bad for privacy as it penalizes app developers who use subscriptions as opposed to an ad-based business model (one of the reasons why Apple is not actually a privacy company despite all of their advertising).

While almost everyone agrees that this is terrible, Apple’s idea of addressing these concerns is to provide an alternative so bad that the current shakedown scheme seems good in comparison.

Joe Rossignol:

In an interview with Fast Company’s Michael Grothaus published today, Apple’s former marketing chief and current App Store head Phil Schiller said there are privacy and security risks associated with these alternative app marketplaces[…‘

Michael Grothausl:

[It’s] entirely possible that if a user wants a certain app, they may be forced to download it from a certain app store. A developer may choose to remove its app from Apple’s App Store and instead sell it only through its alternative app store. This is what Epic seems to be doing with its Fortnite game, announcing that it will be making it available via its new alternative iPhone app store.

Last I heard, Apple was the one blocking Fortnite from coming back to the App Store.

Meek Geek:

Amping up the FUD. One mention that the Mac uses this very same mechanism and there’ll be no story here.

Michael Love:

The fundamental problem with this “some apps will only be available on 3rd party stores” argument is that it focuses on the theoretical - and extremely unlikely - possibility of a popular app that’s already in the App Store voluntarily leaving it, and ignores the much more plausible one of apps that can’t be in the App Store (either because they’re not allowed or because the business model doesn’t work) only being available at all because there’s now an alternative.

Jeff Johnson:

The juxtaposition of “everyone can code” and “no one can sideload” is conspicuous.

Update (2024-02-07): See also: Upgrade and Accidental Tech Podcast.

Update (2024-02-14): Morgan Meaker (via Hacker News):

A battle for control is taking place inside iPhones across Europe. While Apple introduced new rules that ostensibly loosen its control over the App Store, local developers are seething at the new system, which they say entrenches the power Apple already wields over their businesses. They’re now breaking into a rare open revolt, mounting pressure on lawmakers to step in.

Not Owning Ubisoft+ Games

John Walker:

Ubisoft has chosen this week to rebrand its Ubisoft+ subscription services, and introduce a PC version of the “Classics” tier at a lower price.

[…]

You can subscribe to Game Pass, or PlayStation Plus, and get a broad range of hundreds of games from dozens of publishers, or you can pay significantly more to only get the games made by one single publisher, and indeed a publisher with a very distinct style of game.

[…]

What’s more chilling about all this, however, is when Tremblay moves on to how Ubisoft wishes to see a “consumer shift,” similar to that of the market for CDs and DVDs, where people have moved over to Spotify and Netflix, instead of buying physical media to keep on their own shelves. Given that most people, while being a part of the problem (hello), also think of this as a problem, it’s so weird to see it phrased as if some faulty thinking in the company’s audience.

[…]

Tremblay goes on to say to GI.biz, “But as people embrace that model, they will see that these games will exist, the service will continue, and you’ll be able to access them when you feel like.” But...we know that isn’t true! We know how often services don’t continue, how many games are no longer available.

Via Timothy Geigner:

We’ve done a metric ton of posts here over the years pointing out one unfortunate trend that has come along with the move from physical products to digital purchases: you don’t own what you’ve bought. In some cases, it’s you don’t own what you think you’ve bought, because nobody actually reads EULAs and all the documentation that comes with buying things online these days, and often buried in all of that is where the language about how things are licensed, rather than owned, are. Still, the fact is that the public too often doesn’t understand how it happens that products stop working the way they did after updates are performed remotely, or why movies purchased through an online store suddenly disappear with no refund, or why other media types purchased online likewise go poof. There is a severe misalignment, in other words, between what consumers think their money is being spent on and what is actually being purchased.

Previously:

Update (2024-01-30): Carlos Morale (via Hacker News):

But despite the age of digital media promising unlimited access and more options than ever, we have often seen the opposite actually happen in practice. For a pressing recent example, most of the Star Trek films were taken off of Paramount+ in the United States at the start of 2024, with only the newest trilogy of films starring Chris Pine remaining on the service. Paramount may have promised that their in-house streaming service was theplace for all your Trek needs, but if you want to watch the first 10 films on streaming, you’ll have to fire up HBO Max.

Wednesday, January 24, 2024

The Mac at 40

Malcolm Owen (MacRumors):

January 24 will be the Macintosh’s 40th birthday, marking four decades since Steve Jobs showed off what he believed to be the future of computing.

Dan Moren:

In that time, it’s run on four different processor architectures and two major operating systems, making it a bit of a computer of Theseus. It’s seen challengers rise and fall, and been threatened with extinction more than once, and yet for all of that has emerged in recent years revitalized and stronger than ever.

D. Griffin Jones:

The 40-year history of Macintosh computers is a roller coaster of ages golden and dark.

[…]

We produced a short video documentary you can sit back and watch if you’d rather do that than read[…]

Steven Levy:

That legacy has been long-lasting. For the first half of its existence, the Mac occupied only a slice of the market, even as it inspired so many rivals; now it’s a substantial chunk of PC sales. Even within the Apple juggernaut, $30 billion isn’t chicken feed! What’s more, when people think of PCs these days, many will envision a Macintosh. More often than not, the open laptops populating coffee shops and tech company workstations beam out glowing Apples from their covers. Apple claims that its Macbook Air is the world’s best-selling computer model. One 2019 survey reported that more than two-thirds of all college students prefer a Mac. And Apple has relentlessly improved the product, whether with the increasingly slim profile of the iMac or the 22-hour battery life of the Macbook Pro. Moreover, the Mac is still a thing. Chromebooks and Surface PCs come and go, but Apple’s creation remains the pinnacle of PC-dom. “It’s not a story of nostalgia, or history passing us by,” says Greg “Joz” Joswiak, Apple’s senior vice president of worldwide marketing, in a rare on-the-record interview with five Apple executives involved in its Macintosh operation. “The fact we did this for 40 years is unbelievable.”

[…]

Ternus’ comment opens up an unexpected theme to our conversation: how the connections between the Mac and Apple’s other breakout products have continually revitalized the company’s PC workhorse. As a result, the Mac has stayed relevant and influential way past the normal lifespan of a computer product.

No question, the Mac would not be as popular as it is today if it weren’t for the iPhone, nor would there be Apple Silicon and perhaps some other technologies. On the other hand, the sore spots with today’s Macs come from iOS, too: the annual release schedule that impedes software quality, the Mac App Store, supposed security and privacy at the expense of capabilities and interoperability, first-party apps that look and feel like they were designed for mobile, two cross-platform frameworks that are not geared toward creating great desktop apps, and the neglect of Mac technologies (e.g. scripting, external storage, 1x displays, x86 compatibility) that don’t apply to iOS.

Apple once saw the Mac as the center of the digital hub. It still sees it as important, but more as an accessory for iOS. Most software changes these days are about integrating with iOS or belatedly porting stuff from that platform. There does not seem to be much interest in expanding the things that only the Mac can do. Rather, Apple seemingly wanted to supplant it with iPad and now cares more about visionOS. Imagine if more of those resources had been applied to the platform we’ve loved for decades.

Upgrade (video):

Celebrating 40 years of the Mac, we’ve gathered an all-star panel of longtime Mac users to pick the best Macs, Mac software, and Mac accessories, as well as induct a few events or devices into the Mac Hall of Shame.

I’ve not listened yet because I wanted to jot down some picks, uninfluenced. I’m probably missing some good ones, but here’s what came to mind right away:

Favorite Macs: SE/30, PowerBook 170, iMac DV, iBook 2001 (Dual USB), MacBook Pro 2012 (15-inch, first Retina), MacBook Pro 2021 (14-inch, M1 Pro/Max).

Favorite Software: Finder, HyperCard, Now Utilities, Conflict Catcher, DragThing, Retrospect, Nisus Writer, BBEdit, THINK Reference, RAM Doubler, Anarchie, ClarisWorks, DiskWarrior, Claris Emailer, ImageReady, Frontier, FrameMaker, iCab, Mailsmith, Script Debugger, iTunes, LaunchBar, OmniOutliner, Safari, NetNewsWire, Growl, Little Snitch, TextMate, OmniFocus, Dropbox, Time Machine, Mac OS X 10.6.8. I’ll stop there because I wanted to remember some great software over the years, not list my current Dock.

Favorite Accessories: PhoneNET, SuperView (SCSI external display support for PowerBooks), AirPort Express, ScanSnap S500M.

Hall of Shame: The Mac OS X Finder not remembering window and icon positions, the early Mac OS X bug where the installer would delete stuff if there was a space in the file path, sandboxing and TCC (the implementation and policies, not the idea), pretending that the App Store invented online software distribution, killing Aperture, MacBook Pro 2016 (butterfly keyboard, Touch Bar), Apple Mail data loss starting in Catalina.

Dan Moren:

As I mentioned on the show, my first Mac was the LC and I spend hours and hours on that thing. So much so that I guess my mom thought it worth memorializing in photo form? So here’s me in 1993, reading (I’m pretty sure) The Macintosh Bible, and surly as only a 13-year old having his picture taken can be.

Peter Cohen:

Fell in love at first sight with MacPaint and MacWrite and got my own (a Fat Mac) about a year later.

Mr. Macintosh:

41 years ago today, on January 19th, 1983, Apple announced the Lisa computer

List price: $9,995
Inflation: $31,348

John Voorhees:

Jonathan Zufi, the creator behind the coffee table book ICONIC - A Photographic Tribute To Apple Innovation has dug into his archive of Mac photography to mark the 40th anniversary of the Mac with over 1,000 photos and videos that he’s taken and collected over the years, all of which are on display on mac40th.com. Here’s Zufi on the Mac’s milestone[…]

Dave Mark:

OG Macintosh team will gather today at the Computer History Museum to talk about the Mac at 40.

All star cast:

Bill Atkinson, Steve Capps, Andy Cunningham, Andy Hertzfeld, Bruce Horn, Susan Kare, Dan’l Lewin, Mike Murray, Chris Espinosa, Guy Kawasaki, Steven Levy, and David Pogue.

Dr. Drang:

The app I nearly chose was Macintosh Pascal, written by THINK Technologies (who went on to publish Lightspeed Pascal and Lightspeed C, which had the greatest programmer slogan ever: “Make mistakes faster”) and distributed by Apple.

[…]

So with my not-quite-choice out of the way, here’s my fave: Claris CAD.

Am I kidding? No. This was a fantastic program for the kind of drawing I was doing back in the early ’90s and am still doing today. It wasn’t drafting, per se, but it did involve the kinds of construction typically done on a drafting table: lines tangent to circles, circles tangent to lines, lines perpendicular to other lines, and so on. The cursor would snap to features of the drawing and show a preview of how the next item would be drawn. It nearly always did exactly what I wanted.

See also: TidBITS-Talk, MyFirstMac, Matthias Gansrigler, Jason Snell.

Previously:

Update (2024-01-30): Jonathan Wight:

Surprised apple.com isn’t marking the 40th birthday of Macintosh at all aside from offering everyone 3% cashback with an Apple Credit Card.

Riley Testut:

For the 30th they overhauled their website in the middle of the night

Harry McCracken:

But if all the first Mac inspires is nostalgia, we’ve lost sight of how daring it was. Unlike Apple’s first blockbuster PC, the Apple II, it had a built-in display but no integrated keyboard. It also sacrificed most of the Apple II’s defining features, such as its dazzling color graphics and expansion slots.

In retrospect, it’s among the gutsiest gambits Apple ever made. Imagine the company introducing a new smartphone that has virtually nothing in common with the iPhone. You can’t—or at least it strains my imagination.

Nick Heer:

Picking my favourite Mac software is massively difficult. I dug up a seventeen year old hard drive to jog my memory, and it is a long list. From Apple, my picks are: Aperture, Exposé, the original space-themed version of Time Machine, and the ability to type special characters by using the option key. From other developers, my picks are Coda, Homebrew, NetNewsWire, Pulp, Things, and myriad joyful Twitter clients like Bluebird and Twitterrific. I could go on. If I had to pick only one to reincarnate, it would probably be Aperture.

[…]

As for a Hall of Shame thing? That would be the slow but steady encroachment of single-window applications in MacOS, especially via Catalyst and Electron. The reason I gravitated toward MacOS in the first place is the same reason I continue to use it: it fits my mental model of how an operating system ought to work. I love how I can float a bunch of application windows all around my desktop and it still feels organized and workable; when I try to do the same thing on my Windows P.C. at my day job, it is nowhere near as good. Uniwindow applications rob users of the best parts of this model.

Jim Luther:

I took time today to thank Caroline Rose for writing Inside Macintosh. Without great documentation, there would be no great software, and without great software, the Mac would not be here today.

See also:

In Praise of Buttons

Niko Kitsakis:

In graphical user interfaces, we have seen an increase in buttons recently that consist merely of text or icons, without a clear, visible button shape being present. This insipid, uninspired mediocrity, exemplified by Google’s “Material Design” or – even worse – IBM’s “Carbon Design System”, was popularised by Apple’s iOS 7 and its equally miserable “Flat Design” aesthetics. This lazy minimalism is often considered modern and streamlined, but we must ask: Is it also user-friendly?

[…]

A button in a graphical user interface that has no button shape will likely give you no feedback either. While it might actually have an alternative state that gets activated when you touch it (a change of colour for instance), you are probably going to obstruct that with your finger. This is another advantage of buttons that look like buttons.

Update (2024-01-30): Nick Heer:

One objective of the visual interface language introduced in MacOS Big Sur was, according to Alan Dye, to “[reduce] visual complexity to keep the focus on users’ content” which meant, for example, that “buttons and controls appear when you need them, and they recede when you don’t”.

In practice, it means interfaces become ambiguously interactive. A design system of line art glyphs floating in detail-free window chrome makes it easier to create light and dark themes, but it also turns everything into a flavourless smear of grey tones.

[…]

This is not specifically an argument in favour of decorated, glossy, detailed user interface elements — though I do like those — but it is an argument in favour of craft. Of heart and soul.

Previously:

Update (2024-02-21): Niko Kitsakis:

Now let’s have a look at physical buttons in product (or industrial) design and what’s happened to those in recent years. If you are strictly a UI/UX designer in the context of design for screens, you should still read this article. In my view, the importance of the experiences of the physical world should not be underestimated when designing for screens. We use the same brain to make sense of both worlds after all.

[…]

What really happened here, I think, is that the marketing department got blinded by the idea of “touch = good” and forced the product people to build something along those lines. Probably saying things like “good enough” and “we don’t have the budget” a lot during the process. What they ended up with is much worse than what could have been achieved with a clearly labeled mechanical dial and a latching start/stop button.

[…]

Contrast this with the touch surface of the tumble dryer: It offers no advantages whatsoever but actually combines the disadvantages of both worlds: A physical appearance that is fixed (since there is no bitmapped screen but just a lamp that lights up under each button) and a touch surface which, by definition, isn’t tactile (and therefore ambiguous and unsatisfying to use). Again, you cannot copy what you don’t understand.

Git Tower 10.3

Tower:

Environment settings: In addition to adding custom environment variables, environment variables from the login shell are now also automatically added when running Git commands. This should make hook scripts work without additional configuration.

[…]

Syntax highlighting: Improved memory management

[…]

Terminal integration: “Open in Terminal” now works if there is no visible Terminal window open.

I’ve been using this in beta for a while, and I think it finally fixes the various problems with syntax highlighting and high memory and CPU use.

Previously:

QuickTime As a Tape Archival Format

Chris Hanson (Hacker News):

A lot of people think QuickTime is a “video format,” but that’s not really accurate. Video and audio playback are applications atop the QuickTime container format; the container format itself is a means of representing multiple typed tracks of time-based media, each of which may have their own representation in the form of samples interpreted according to their own CODECs.

[…]

Once you realize that the tracks themselves can be arbitrary, it starts to become clear how this format maps nicely to tape content: Since tapes themselves are linear, they’re fundamentally time-based.

[…]

The format can also be leveraged to support random access including writes, since the intelligence for that can be in the “CODEC” for the “tape” track media, combined with the QuickTime format’s existing support for non-destructive edits. New data can be overlaid based on its “temporal” position, which should more or less accurately simulate how a rewritten tape would actually work, while still preserving the data that was just overwritten.

[…]

Darwin Streaming Server as a whole and its QTFileLib component are written in quite straightforward “C with Classes”-style C++, and QTFileLib has an API surface representing all of the major low-level and application-level concepts of the file format.

Tuesday, January 23, 2024

Charging for “Remarkable Alexa”

Scharon Harding (via Hacker News):

A quote from an anonymous Amazon employee in a Wednesday Business Insider report paints a dire picture. Amazon needs its upcoming subscription version of Alexa to drive revenue in ways that its voice assistant never has before.

[…]

All voice assistants have struggled to drive revenue since people tend to use voice assistants for basic queries, like checking the weather, rather than transactions.

Amazon announced plans to drive usage and interest in Alexa by releasing a generative AI version that it said would one day require a subscription.

I wonder if they’ll include it with Amazon Prime, as I’m hearing more grumbling about whether that subscription is still worth it now that the price has increased, shipping has slowed, and Prime Video will be adding commercials.

menacingly:

I used to find my Alexa devices useful, until they took the widely-discussed quality nosedive and started understanding less than half of what they used to. I can’t think of anything else I’ve purchased that became so markedly worse of a thing after I bought it. 1 experience of misunderstanding stomps out 10 of it working perfectly.

I’d read a book on the inside story of the failure of this product. From cute, moderately useful novelty to glitchy, nagging revenue grab that takes it upon itself to come into your home with “offers”. Eroding goodwill, missing the boat on AI you’re naturally leveraged to integrate with your large installed base, it’s shiny object middle management bingo.

Previously:

SwiftUI Main Thread Hang Detector

Wade Tregaskis:

This is just a little snippet that is quite useful for reporting when your GUI thread (the main thread / actor) hangs for a significant amount of time. There are numerous heavier-weight tools for analysing this sort of thing, but I’ve found that this simple monitor does what I need most of the time.

PostScript’s Sudden Death in Sonoma

Howard Oakley:

Finally, the complete removal of support for PostScript and EPS was recorded as another “deprecation” in the release notes for Sonoma: “macOS has removed the functionality for converting PostScript and EPS files to PDF format. As a result, CoreGraphics’ CGPSConverter returns an error when invoked, ImageIO no longer converts EPS files, NSEPSImageRep does not display EPS files, and PMPrinterPrintWithFile does not accept a PostScript file for non-PostScript print queues.”

Search of Apple’s previous release notes doesn’t reveal any prior warnings of this removal of support or deprecation (in the general meaning of the term), in contrast to other removals from Sonoma such as ATS/ATSUI. Although conversion from PostScript and EPS must now be in relatively little demand, its demise has been rapid, as if Apple can’t wait for macOS to be rid of it. The most likely reason is security.

[…]

PSNormalizer is now little used, and has no significant role in macOS. The first step was to make it inaccessible from the GUI by disabling that feature in Ventura’s Preview, then following that in Sonoma by removing PSNormalizer altogether, so removing its command tool pstopdf and Core Graphics’ CGPSConverter.

Would it have been that hard to sandbox?

Howard Oakley:

If you want to view or convert either file type, there are three main local options:

  • Use an app with its own PostScript rendering engine, such as Adobe Acrobat and other paid-for products; although expensive, Adobe’s Distiller engine is the best available, but Acrobat Reader won’t convert PostScript or EPS files for free.
  • Install open source Ghostscript, using either MacPorts or Brew; although this is free, unless you already use either of those, there’s quite a lot of work involved, and they’re centred on the command line. As Ghostscript has had several serious security vulnerabilities, you’ll also need to keep it up to date.
  • Use the Preview app in a version of macOS older than Ventura, where conversion was removed from the app. If you’ve got an Apple silicon Mac, this is performed entirely in the GUI, comes at no cost, and is simple to set up.

This article walks you through the third option, of setting up a virtual machine (VM) running macOS Monterey 12.6.1 on an Apple silicon Mac running Sonoma.

Previously:

Campfire Is ONCE #1

Jason Fried:

Once upon a time you owned what you paid for, you controlled what you depended on, and your privacy and security were your own business. We think it’s that time again.

Introducing ONCE, a new line of software products from 37signals.

  • Pay one time, own forever.
  • We write the code, you get to see it.
  • We give you the software, you get to host it.
  • Simple and straightforward, not enterprisey and bloated.

[…]

In the early 2000s, we were among the early pioneers leading the industry into the SaaS revolution. Now, 20 years later, we intend to help lead the way out.

David Heinemeier Hansson (Hacker News):

SaaS is great for systems that need to be services. The kind of software that’s constantly evolving or difficult to operate.

[…]

But there’s also a lot of SaaS that does not need to be a service. That could just as well be a simple product. A finished product, even. And we think standalone chat is the perfect example of that. It’s simply ridiculous to hear people paying hundreds of dollars a month, if not thousands, if not TENS OF THOUSANDS, for a system like Slack. When all they need is a basic system for their employees to talk to each other.

It seems like there’s an opportunity here because Slack is way too heavyweight and expensive for a lot of companies and organizations. And I like the idea of having control over my data and access to the source code, even though it isn’t open-source. $299 gets you three years of bug and security fixes. I’m not sure what happens after that. No software is ever truly a finished product.

For many years, I used vBulletin, which kind of had this model except that they had the ambition to keep rewriting the software, adding bloat and bugs. I would keep buying paid upgrades but turning off the new features because they were no longer maintaining the old versions.

Currently, I’m using Sendy, which also has a one-time fee.

Previously:

Update (2024-01-30): Austen Allred (via David Heinemeier Hansson):

Having paid Slack millions of dollars, exporting our data is failing. We tried a few ways, none of it works.

Slack’s response?

“Sign a new contract or your data automatically enters deletion queue.”

In case you’re wondering, the “services package” they are referring to where they would migrate the data for us was quoted at $78,000.

His tweet got 1.7M views, and the CEO of Salesforce responded promptly. If you have less reach, good luck getting out the data that you supposedly own.

Monday, January 22, 2024

Runestone Rejected From the App Store

Simon B. Støvring:

Apple rejected an update to Runestone because its App Store description mentions the app’s price. This text has been included in the description for two years on iOS and for two releases on visionOS. I was inspired by Overcast, which also has a similar text, to add it to my app.

[…]

We need a third outcome for app reviews, something that falls between approving and rejecting an app.

I suggest “Approved with Changes Requested”, indicating that an update was approved, but an issue needs to be addressed in the next update. Apple could use this when disagreeing with something that has remained unchanged for years but still requires attention.

[…]

I am aware that in 2020 Apple has stated that they would no longer delay updates due to guideline violations. However, the reality is:

1. Apple still delays all types of updates due to guideline violations.

2. This should apply to all updates, not just those that address bugs, but also those that add new features and general improvements.

The guidelines do not actually say that you can’t mention the price or explain how your IAP works.

Marco Arment:

I think mine says that because they made me add it once.

Adrian Thomas:

This was absolutely required at some point. It was ridiculous at the time since the price can be changed dynamically whereas the description can’t but now to reject you is equally dumb.

Bourvill:

I’ve had the same kind of problem lately. I have been trying to validate my application since December. blocked since January 2 in review. I sent a first email, the team told me it was in progress. I sent an email on Thursday and miraculously my app became valid.

Previously:

Update (2024-01-30): Simon B. Støvring:

Once again, Apple has rejected Runestone for visionOS. They still claim that the app does not have a “Restore Previous Purchase” button. They are providing me with a screenshot of the “Request Refund” functionality that is shown after a user has bought Premium or restored a previous purchase.

If there is anything wrong with my in-app purchase, Apple fails to communicate the issue by providing contradictory screenshots and descriptions.

Simon B. Støvring:

So I replied Apple and explained my confusion above their rejection. Along with it, I sent a screen recording of the app running in the simulator and asked them to point out exactly what I need to change.

Around 18 hours later, the update to Runestone for visionOS was approved 🎉

Previously:

Best Mac Monitors and Displays 2024

Macworld:

However, picking a new monitor can be daunting. Not only are there many manufacturers to choose from, but there are also lots of sizes, resolutions, and features to consider–and when we say lots, we mean lots.

[…]

Apple sells displays for its Macs, and you could go with its offerings, but its displays are a quite bit more expensive than what third parties have. Buying from a different company may mean you may not get a feature that Apple offers, but it may also be a feature that you don’t need, depending on how you use the monitor.

There are indeed many available displays, but the Apple Pro Display XDR and Apple Studio Display are the only ones they list that have the proper Retina resolution. The Studio Display’s camera is presented as a “Pro.” LG and Samsung do still sell Retina 5K displays, but I’m not aware of any other options.

Previously:

Classical Music and CarPlay

Joe Rossignol:

Apple Music Classical was updated today with what appeared to be CarPlay support, but this was quickly reversed in a follow-up update.

How about making classical music work for all users by adding scrolling or smaller fonts? Currently, I can’t even tell which track I’m playing because the unique part of the title is truncated on the Now Playing screen. I think I used to be able to see more information in the list screen, but recently that has been truncating the text, too. It’s just absurd how many pixels CarPlay has available, and yet it shows less information than the iPod classic.

macOS 14.3

Juli Clover (release notes, security, developer, full installer, IPSW):

macOS Sonoma 14.3 brings collaborative playlists in Apple Music, so that Apple Music subscribers can create playlists with friends and family members. The software also has an updated AppleCare & Warranty section in Settings that shows coverage for all devices signed in with an Apple ID.

See also: Mr. Macintosh and Howard Oakley.

Previously:

Update (2024-01-23): Ric Ford (Hacker News):

Mac users, including longtime expert users, are reporting that Apple has force-installed macOS 14 Sonoma on their computers against their will.

Previously:

Update (2024-02-01): Howard Oakley:

One serious bug it was claimed to address is the ability to change the password on an encrypted sparse bundle, lost a year ago in Ventura.

[…]

There also appear to be several bugs fixed in lightweight virtualisation on Apple silicon Macs. Most significant among these are the restoration of shared folders with the host Mac, and a bug that prevented VMs of older versions of macOS from being updated with security releases[…]

Adrian Schönig:

macOS Sonoma 14.3 is out, but sadly the #MusicKit bugs that block the release of Longplay for Mac are still there.

Howard Oakley:

This article summarises the most serious of those in 14.2.1 that have been fixed in 14.3, and mentions some that remain outstanding.

Joe Rossignol:

Over the past few weeks, some Mac users have complained that their computer automatically upgraded itself from macOS Ventura to the latest macOS Sonoma release, even with the automatic updates setting turned off.

There are widespread complaints about this issue across the Apple Support Community, MacRumors Forums, Reddit, X, and other websites.

[…]

However, despite dismissing the notification and having automatic updates turned off, affected users said their Mac proceeded to install macOS Sonoma regardless.

Howard Oakley:

We don’t know how Apple decides to push out these notifications, nor whether some triggered a bug or an intended feature to start the upgrade. If you dismiss this type of notification and want to check whether an upgrade has started, open Software Update settings (or the pane) and check whether an upgrade has started to download. If it has, try cancelling it. If that doesn’t work, or Activity Monitor’s Network view shows a download in progress, sever your Mac’s connection from the network, close all open apps, and restart your Mac. Then keep a watchful eye to see whether that download resumes.

Francisco Tolmasky:

I’m so tired of macOS re-enabling Bluetooth on every OS update.

Daniel Jalkut:

Safari on Mac has become very slow to auto-complete URLs, and I think it correlates with the Sonoma 14.3 update. Anybody else witnessing the same?

jnpdx:

I’ve encountered a bug in macOS 14 while using ScreenCaptureKit.

Steve Troughton-Smith:

Here’s a fun Messages bug in macOS 14.3:

If you have selected some text in a received message, and command-tab out then back into Messages, you can start typing to overwrite the message in the message bubble.

Update (2024-02-07): Mario Guzmán:

Apple. For the love of god please stop with the silly features like collaborative playlists in Apple Music and fix your damn bugs!

This started happening with macOS 14.3 and I can assure you I don’t have another device playing music.

[…]

Not to mention… these are iTunes Store Purchases. Why do you care whether or not I play them on more than one device. I “own” the song. I paid for it. This also wasn’t an issue until recently with Apple Music. Streaming songs sure, but paid songs?! No, you don’t get to put up fake restrictions on purchased music when you haven’t since 2003 when the iTunes Music Store was launched.

Adam Engst:

Many people are reporting weird text display problems with various apps in macOS 14.3, most notably Apple’s Mail, Notes, and Safari, but also third-party apps that rely on WebKit, including Mimestream and MarsEdit. Words or entire lines will seem to disappear and reappear, jump around, or overwrite other text.

[…]

I’ve learned that the bug has been fixed in WebKit, so it’s just a matter of Apple integrating the fix into an update to Sonoma.

macOS 13.6.4 and macOS 12.7.3

Apple (full installer):

This document describes the security content of macOS Ventura 13.6.4.

Apple (full installer):

This document describes the security content of macOS Monterey 12.7.3.

Previously:

iOS 17.3 and iPadOS 17.3

Juli Clover (release notes, security, developer):

With iOS 17.3, Apple is adding Stolen Device Protection to the iPhone, limiting access to private information just in case someone gets ahold of both your iPhone and your passcode.

[…]

The update also includes support for AirPlaying content directly to some hotel room TVs, creating collaborative Apple Music playlists with friends and family, and more.

Juli Clover:

Apple with iOS 17.2, iPadOS 17.2, and tvOS 17.2 killed wishlists without warning when it moved the option to purchase TV shows and movies from the iTunes Store app to the TV app.

[…]

iPhones and iPads running the iOS 17.3 beta will now have a “Go to Your Wish List” button under the Movie and TV Show sections, which provides access to everything that’s been added to the list in the past.

Niléane:

Collaborative playlists in Apple Music allow you to share a playlist with friends and family members, who can then contribute to the playlist with their favorite songs. Members of the collaborative playlist can reorder songs, they can share the playlist to their own contacts, and they can also leave the playlist at any time. The playlist owner has a couple of additional controls over the playlist: they can manually approve new collaborators, and have the option of generating a new invite link, which automatically expires after six days.

[…]

While it was previously already possible to see your warranty coverage in Settings for the device in use, that section will now also list your current warranty coverage for all devices linked to your Apple ID.

Previously:

Update (2024-01-30): Ric Ford:

VMware notes configuration/compatibility issues for MDM [Mobile Device Management] systems with Apple’s new Stolen Device Protection mode, which arrived in iOS 17.3 but is turned off by default.

watchOS 10.3

Juli Clover (release notes, security, developer):

The watchOS 10.3 update includes a new Unity Bloom watch face to celebrate Black History Month.

Plus bug and security fixes.

Previously:

tvOS 17.3

Juli Clover (release notes, security):

Apple today released tvOS 17.3, the third major update to the tvOS 17 operating system that came out last September. tvOS 17.3 comes over a month after tvOS 17.2, an update that brought the revamped Apple TV app.

[…]

No new features were found in the tvOS 17.3 beta testing process.

Previously:

audioOS 17.3

Juli Clover (release notes):

Apple does not specify what’s included in the HomePod 17.3 software, and the generic release notes only say that it brings stability and performance improvements.

I saw a regression in that the Home app continued showing that the update was “Installing…” long after it had finished. I had to close and re-open the HomePod to see that it had completed.

Of course, the first thing I tried was playing some of my old iTunes Store purchases. Unfortunately, the same problematic ones still fail, saying that it couldn’t find them on Apple Music.

Next, I tried playing an album that had worked before, and HomePod said that it would play it but then said, “Sorry, there was a problem with Apple Music.”

So HomePod still does not work as advertised.

Previously:

Friday, January 19, 2024

Prompt 3

Panic (Mastodon):

When you buy Prompt, you’ll get both the mobile and desktop apps.

[…]

MOSH & ETERNAL TERMINAL. Use these two new connection types for mega-stable terminals even if your network connection is garbage

Quickly insert your most frequently used commands and text snippets with a tap or a click.

[…]

Easily sync your servers, keys and passwords between devices, and between Mac and iOS.

It’s $20/year or $100 one-time (presumably until Prompt 4).

Previously:

Update (2024-01-30): Cabel Sasser (Mastodon):

We know it’s been a long (long) time coming, so we made sure to add all of your most-requested Prompt features, like support for Mosh and Eternal Terminal, jump hosts, port forwarding, proper iPadOS multitasking, YubiKey and Secure Enclave authentication, and so much more.

With lightning-fast terminal emulation (thanks to optional GPU acceleration) and customizable fonts and themes, Prompt 3 is speedier and more personal than ever. And yep, there’s even a dark icon.

[…]

It was important to us that Prompt 3 feel right on all your devices. Since Mac apps have always been a passion of ours here at Panic, these are two separate apps, each developed from the ground up to feel right at home on each platform. The Mac app is a Mac app. The iOS app is an iOS app.

MouthPad^

Augmental (via Hacker News):

The MouthPad^ is a tongue-driven interface that controls your computer, smartphone, or tablet via Bluetooth. Virtually invisible to the world, but always available to you, it is positioned across the roof of your mouth to put all of the power of a conventional touchpad at the tip of your tongue.

[…]

Cursor control is enabled using tongue or head movements, according to user's preference. Tongue presses are used for left-click, or click-and-drag. Sip gestures are used for right-clicks. We are already starting to develop more sophisticated gestures, such as scrolling, swiping, and bite-based input, to expand our dimensions of control.

[…]

Its slim design minimizes the impact on speech, making it a convenient solution for users who need to communicate verbally while wearing the device. This means that you can use voice recognition software while wearing your MouthPad^.

Cherlynn Low:

The MouthPad is basically like a retainer with a touchpad, battery and Bluetooth radio built in. It’s made of a resin that the company says is the same “dental-grade material that is commonly used in dental aligners, bite guards and other oral appliances.”

[…]

I watched Vega place the 7.5-gram mouthpiece right on his palette, where it sat surrounded by his upper teeth. He closed his mouth and the iPhone he held up showed a cursor moving around as he opened apps and menus.

[…]

The company explained that the MouthPad uses Apple’s Assistive Touch feature to navigate iOS, but it can be recognized by other devices as a Bluetooth mouse. It’s already on sale for those who sign up for early access, but general availability is coming later this year. Each MouthPad is individually 3D-printed, based on dental impressions sent in by customers as part of the ordering process.

Previously:

Google Removing Support for “Less Secure Apps”

Google (September 2023, via Hacker News):

Google Workspace will no longer support the sign-in method for third-party apps or devices that require users to share their Google username and password. This antiquated sign-in method, known as Less Secure Apps (LSAs), puts users at an additional risk since it requires sharing Google Account credentials with third-party apps and devices that can make it easier for bad actors to gain unauthorized access to your account.

Instead, you’ll need to use the option to Sign-In with Google, which is a safer and more secure way to sync your email to other apps. Sign-in with Google leverages industry standard and more secure OAuth method of authentication already used by the vast majority of third-party apps and devices.

[…]

This includes all third-party apps that require password-only access to Gmail, Google Calendar, Contacts via protocols such as CalDAV, CardDAV, IMAP, SMTP, and POP.

The change has already been made for some non-Workspace accounts. The article seems pretty clear that mail, calendar, and contacts clients that don’t support OAuth will stop working. However, commenters are saying that this is not the case and that you will still be able to use app-specific passwords. App passwords are a bit of a misnomer in that they provide access to the entire Google account, but the passwords are 16 characters and generated by Google.

Benny Kjær Nielsen (2015):

The main problem is that OAuth2 requires me to register MailMate with the service provider (Google/Microsoft). If the provider stops supporting other authentication schemes (which is almost true for Google) then the provider has the power to decide which email clients are allowed to access Gmail. I’m probably too old to trust big companies, but it also reminds me of what happened to third party Twitter and (more recently) Instagram clients.

[…]

Google continues to push for the adoption of OAuth2 via the XOAUTH2 protocol. In my opinion, they do that using a lot of FUD as seen in this support article, but that does not mean that OAuth2 is necessarily a bad thing to use. Especially not for something like Google for which a single password provides access to all kinds of services.

And I don’t really have a choice here. When using other authentication methods then Gmail users are often rejected. The exact behavior appears to depend on how long the Google account has existed and whether it has been accessed via IMAP in the past. In particular, I believe new Gmail accounts are rejected by default if not using OAuth2. The best user experience is simply with OAuth2 enabled.

Thursday, January 18, 2024

Netflix and the Initial Apple Vision Pro Apps

Joe Rossignol:

Netflix has no plans to release an app for Apple’s upcoming Vision Pro headset, according to Bloomberg’s Mark Gurman. Instead, the streaming service will be accessible through Safari and other web browsers on the headset.

[…]

Apple recently announced various video and sports apps that will be available on the Vision Pro at launch, including Disney+, Discovery+, Max, Amazon Prime Video, Paramount+, Peacock, ESPN, MLB, NBA, and more. There is also MLS Season Pass in the Apple TV app.

Benjamin Mayo:

The Apple Vision Pro can run more than a million iPhone and iPad apps available in the App Store, in a compatibility mode where the apps appear as mini-windows in the user’s virtual space. However, developers can choose to opt out from this support. With today’s statement, Netflix has confirmed it is opting out, directing customers to access the Netflix website through the Safari web browser.

John Gruber (Mastodon):

Mac users sure do enjoy not being able to download Netflix movies or shows for offline viewing — you know, like in an airplane, one of the most obvious and common places where Vision Pro will be used.

Not having a native VisionOS app is one thing. Apparently having no current plans to make one is another. But it really feels like pure corporate spite — a pissing match — that Netflix is refusing the allow their iPad app to run on VisionOS.

Kyle Hughes:

The thing about watching stuff on the Vision Pro is that 95% of everything I watch, which isn’t background YouTube, is with my partner. Maybe twice a year I watch a movie alone on a plane. Gah!

swingerofbirch:

Apple’s not even making all of its first party iPad apps compatible with visionOS, including iMovie. I don’t see any reason to think not making an app is malice. I mean the product’s not even out yet, and even if it’s a wild success it will have very few users because of supply. I don’t know why they would be feverishly rushing as if they were the ones who had something vested in the Vision Pro’s success or failure. That certainly doesn’t sound like something Apple would do for another company. Except for the iOS app store, a lot of Apple’s third party stores have been flops: the iPad textbooks boondoggle, the magazine subscription service that became Apple News, the iMessage App Store, and the Apple Watch App Store. Not everyone has to come running—or should want to—every time Apple rings a triangle bell.

Delric:

question: is Netflix making its iPad app work on visionOS something they’d be doing for Apple, or something they’d be doing for their customers? […] When a company dis-aligns its interests from its customers’, they begin to enshittify.

Christina Warren:

I also understand not dedicating engineering resources (any of them) to a $3500 dev kit masked as a consumer product (it prob will be a consumer product but it won’t be at launch) at launch. Especially when the company who makes said dev kit has gone out of its way to undermine your business.

[…]

I’m not arguing this is a pro-consumer move, of course it isn’t. But Apple has through its own policies, continuously asserted that it and its platform matter more than the developers that make up said platform, as a way of getting devs to follow often arbitrary and capricious decisions. Netflix is a service and platform that does not need to kowtow to anyone.

[…]

I also fully expect that if Vision Pro develops a real audience and a real user base, Netflix will show up. But I don’t see the point in bending over backwards and wasting engineering resources this time. This isn’t 2010 and it isn’t the iPad.

[…]

And frankly, there are very few companies that can take this stance this way. I much prefer the Netflix method to the Epic method and Netflix has done this before[…]

Shenyen:

Netflix doesn’t even have a Meta Quest app, you’re stuck to 480p in the browser on that headset. And they‘re not in a war with Meta, they just don’t care (about their customers wishes)

Dare Obasanjo:

I remember when Netflix was about being on any device, no matter how niche.

Steve Troughton-Smith:

Perhaps indicative of a breakdown in developer relations, or just unwilling to blindly prop up a new platform after seeing the power it gave Apple last time round[…] Negotiating tactic, or are we going to see more of this? I can’t imagine a movie headset without Netflix.

Michael Love:

This “spite” talk ignores the fact that for a nascent market like headsets, Netflix might feel like it’s in their corporate interest for Apple to fail, in favor of a more developer-friendly company; whatever number of subscriptions they might lose is trivial compared to that long-term benefit.

Dare Obasanjo:

Apple has actually hurt their Vision Pro launch here with their greed since the lawsuit with Epic means there’s no Unreal for making AVP apps and now Unity is struggling so will be challenged to do a great job supporting a nascent spatial computing ecosystem. 😬

Jesse Squires:

Apple: repeatedly sabotages and deteriorates developer relations for years

Also Apple: “Will you please make apps for our new platform? Because we couldn’t be bothered to port any of our own apps.”

Steve Troughton-Smith:

Looking back at the WWDC presentation of Vision Pro, I realize Apple never did show the rest of its iWork apps running natively on the device. In fact Numbers is shown in emulated iPad mode.

Maybe Keynote is the only native visionOS port? 👀

[…]

It’s honestly a little worrying that Apple showed off native ports of Microsoft Office for visionOS, but its own Numbers app was run in iPad emulation mode. And this is what I don’t get about not having a launch event — …do you not have native versions of all your first-party apps to still show off? Is that just not happening?

Steve Troughton-Smith:

If one of the primary use cases, from the outset, for Vision Pro is plugged in at a desk, with mouse and keyboard[…] Was basing the OS on iPadOS the wrong choice? Will this give it a permanent impairment that hinders it longterm and relegates it to toy computer status for most people, just like its tablet ancestor?

Craig Hockenberry:

Regardless of the technical hurdles (sending lots of pixels back and forth), I see a bigger issue with logistics.

Do you really have to carry a Mac around to get real work done with Vision Pro? Apple’s refusal to open up the sandbox to be at a parity with the Mac is killing things for developers.

Folks working with spreadsheets and word processors will be fine, but as soon as your work involves more than one process you’re screwed. We have so many processes.

John Voorhees (Mastodon):

In planning our coverage at MacStories, we’ve already collected a list of over 50 apps from some of our favorite developers who have been hard at work on visionOS versions of their apps.

[…]

As it turns out, it’s possible to tell if a developer has opted out by using App Store API endpoints. So, with a little help, we built a shortcut to check some of the most popular apps on the App Store. We had heard through the grapevine that Spotify was showing that it would be available in compatibility mode several days ago but had flipped to unavailable on the Vision Pro, and sure enough, our shortcut confirms Spotify has opted out of offering its app on day one. Also, in testing the shortcut and fact-checking its results, we came across a Gist on GitHub that was last active last week and uses a similar approach to our shortcut but by using a Python script, which lends support to our findings.

[…]

What we found when we searched 46 of the most popular apps on the App Store is that as of today, none will be available on launch day as native apps, and just over one-third will be available in compatibility mode.

Adam Chandler:

Still withholding judgement until I use it but Vision Pro being M2 powered, lack WiFi 6E, have a small sample of “demo scenes” that are immersive, a non-usable keyboard and a strap system that is either too heavy, hard to seal or pinches your hair and only gets 2 hours battery isn’t looking good.

Definitely feels like a public beta and a product that really should only be purchased by developers creating content for it so the one for $1999 in 12 months is the real thing.

Dave Winer:

I’ve been wrong about many of Apple’s products, but not the ones that made the company -- the Apple II and Mac, though I was somewhat skeptical of the iPhone because I couldn’t write software for it, but I did get one on the day they came out in June 2007, and never used my Blackberry again. Anyway, the goggles they just started demoing to selected reporters and analysts looks like a product they released because they invested billions in it, had no idea what it’s used for, and were overlooking the ability of the human body to actually use such a thing, and couldn’t consider writing it off because so much had been made of this, esp since the current management has been coasting on innovation done by Steve Jobs, and hadn’t released anything that wasn’t completely predictable since his passing in 2011. Their lack of confidence in their own product overwhelms any positive reviews coming out from the privileged press, who we know in advance to discount, these are the press people Apple can count on to not say a negative word, to preserve their access at least, if not because they are complete fans. It reeks of a loser product. I write these things partially so I can be proven ridiculously wrong when I get one myself in two weeks and can’t believe all the things I can do with it.

Previously:

Update (2024-01-23): Damien Petrilli:

So this is the best game Apple can show for their $4,000 headset

May be you shouldn’t have burnt the bridge with the gaming industry.

Mark Gurman and Ashley Carman (Hacker News):

Google’s YouTube and Spotify Technology SA, the world’s most popular video and music services, are joining Netflix Inc. in steering clear of Apple Inc.’s upcoming mixed-reality headset.

John Gruber:

YouTube is a surprise to me, and it’s a sign of how profoundly different the relationship is between Google and Apple today from the pre-Android era. In 2007, before third-party apps were even supported on iOS, YouTube was a built-in app on the original iPhone.

[…]

Entertainment is not the sole purpose of Vision Pro, but it’s a major one — and surely the primary one for many buyers — and it’s launching without the two biggest video entertainment apps in the world. Apple expected Netflix’s iPad app to be there on launch day.

Matt Birchler:

We didn’t get those videos before pre-orders, but Apple did post this video on their site today, and it’s exactly what I was hoping to see. I know different marketing messages work for different groups of people, but when there’s a new product category, I’m most engaged by drilling into the details of how you use the new thing.

Me, too, though I did not find the Guided Tour video very satisfying. It’s fine for what it is, but it still seems very surface level.

Victoria Song:

This is all well and good, but it’s strange to wear the headset and not actually know what’s happening on that front display — to not really have a sense of your appearance. And it’s even stranger that looking at people in the real world can cause them to appear, apparition-like, in the virtual world. The social cues of this thing are going to take a long while to sort out. Admittedly, it was all a whirlwind. I spent a half-hour like a kid gawping at an alien planet — even though I’d never left the couch. But by the end of my demo, I started to feel the weight of the headset bring me back to the real world. I’d been furrowing my brow, concentrating so hard, I felt the beginnings of a mild headache. That tension dissipated as soon as I took the headset off, but walking back out into Manhattan, I kept replaying the demo over in my head. I know what I just saw. I’m just still trying to see where it fits in the real world.

Nick Heer:

Even knowing all of this, I cannot help but feel Apple is redefining the personal computer in a way that has so far eluded other attempts from it and others. Perhaps the eventual Vision line will not entirely replace the Mac, but I could see that being the case for lots of people, not just those who would also find an iPad or an iPhone an acceptable working device. Most of us have jobs that could benefit from having more space, even if we are just spending time in spreadsheets or building an email campaign. Putting a development window and a browser window side-by-side on my 27-inch iMac is workable but cramped. I am imagining how great it could be if I could put those windows all around me, plus more for different browser widths. A desktop projected across an entire field of vision is, in theory, more capable and more elegant than multiple monitors, especially if there is no discernible loss of quality.

At least, that is how it appears from the outside looking in. I have not even glanced at a Vision Pro in person, let alone spent time with one. (That is why this post is titled “Vision Curious”, not “Vision Pro Impressions”.) But it is not hard to see an ambitious roadmap: to one day augment or even replace the Mac with something simultaneously more expansive and more portable.

[…]

Hold on, though; here is the catch: while Apple says the Vision Pro is capable of displaying a MacOS environment as a 4K display within the virtual environment, VisionOS is based on iPadOS. Given the system’s design and the way one navigates within it, this is not a surprise. Yet, here I am, already questioning whether VisionOS will be able to keep Safari tabs in memory or if it will reload them after using other applications, like iPadOS has always done. Can Photos in VisionOS create Smart Albums? Heck — can it even display Smart Albums?

Update (2024-01-30): Ben Thompson (Hacker News):

That description of the iTunes Music Store is perhaps a touch cynical, but it is impossible to ignore the importance of music piracy in Apple’s original deal with the record labels. Apple was able to make a deal in part because it was offering the carrot of increased digital revenue, but it was certainly aided by the stick of piracy obliterating CD sales.

[…]

This period of the App Store didn’t require any sticks: the capability of the iPhone was carrot enough, and, over the next few years, as the iPhone exploded in popularity, the market opportunity afforded by the App Store proved even more attractive.

[…]

Apple may be unhappy that Netflix viewers have to go to the Netflix website to watch the service on the Vision Pro (and thus can’t download shows for watching offline, like on a plane); Netflix might well point out that that going to the web is exactly what Apple makes Netflix customers do to sign up for the service.

[…]

This is the consequence of fashioning App Store policies as a stick: until there is a carrot of a massive user base, it’s hard to see why developers of any size would be particularly motivated to build experiences for the Vision Pro, which will make it that much more difficult to attract said massive user base.

Wesley Hilliard (Hacker News, MacRumors):

The Netflix CEO Greg Peters was asked about this decision during an interview held by Stratechery, and his reply was expected. Simply, Apple Vision Pro is too small a market and wouldn’t yield a return for the effort.

Basic Apple Guy:

The question of what and how I will use Vision Pro remains my most significant unanswered area regarding this product.

When I look at the available apps, I struggle to distinguish why someone would go to Vision Pro over a Mac, iPad, or iPhone. I consider factors like comfort, speed, features, enjoyment, and convenience when deciding what product to use for what purpose.

Craig Hockenberry:

It feels like we’re at a crossroads for platforms, but one that’s impossible to pass.

[…]

But you’ll still be carrying the Mac around to get any work done. Somewhat ironically, the Apple Vision Pro is not doing the heavy lifting, but it will be the thing that’s cumbersome in your daily life.

Here’s a comparison of the headset’s carrying case and a MacBook Air[…]

The Apple Vision Pro is almost 15 times taller than the MacBook Air. Even worse, I can’t even close my backpack, much less fit in a laptop[…]

[…]

This isn’t a sustainable situation for the next 40 years. Without some low-level structural changes in visionOS, it will never thrive as a developer platform. Just as the iPad has not.

Steve Troughton-Smith:

On the one hand, Apple is out on the forefront of a whole new set of technologies, and isn’t going to have viable competition for quite a while.

On the other hand, we’ve seen Apple struggle to innovate on platforms where it has no viable competition, or simply take its foot off the gas for far too long. A lost decade of the Mac, iPads that still can’t fulfill their potential 14 years on, and an Apple Watch that has had indistinguishable models (with the same CPU) for years at a time.

See also: Palmer Luckey, Reddit.

Previously:

Update (2024-02-06): Brent Simmons:

I consider it risky to support an app running on a device I don’t own. […] Eventually the price will come down to where I’d consider buying one as a test device and for a little fun — but that may be a few years away. I’m hoping that we’ll find, sooner than that, that running as iPad on Vision Pro is a-okay.

Quinn:

Reminds me of one of my favourite old docs, Q&A OV01 “Test What You Ship”.

StoreKit Purchase Link Entitlement for United States

Apple:

Starting today, because of a recent United States Court decision, App Store Review Guideline 3.1.1 has been updated to introduce the StoreKit Purchase Link Entitlement (US), which allows apps that offer in-app purchases in the iOS or iPadOS App Store on the United States storefront the ability to include a link to the developer’s website that informs users of other ways to purchase digital goods or services.

[…]

A commission will apply to digital purchases facilitated through the StoreKit Purchase Link Entitlement (US). For additional details on commissions, requesting the entitlement, usage guidelines, and implementation details, view our support page.

AppStoreReviewGuidelinesHistory:

Apple has updated their App Store Review Guidelines to now allow apps in the United States, that offer in-app purchases, the ability to include a link to the developer’s website that informs users of other ways to purchase digital goods or services.

Juli Clover (Hacker News):

Apple is allowing apps to feature a single link to a developer website that leads to an in-app purchase alternative, but Apple plans to continue to collect a 12 to 27 percent commission on content bought this way.

[…]

Links cannot be placed directly on an in-app purchase screen or in the in-app purchase flow.

[…]

Apps that use the StoreKit External Purchase Link must continue to offer in-app purchases as an option.

App Store pages are not able to include information about purchasing on a website or a link to a website.

[…]

Links must open a new window in the default browser of the device, and are not able to open a web view.

David Heinemeier Hansson:

Okay, sure, the company says, you can link to your website from your app, so consumers may know that there’s a cheaper way to buy your software, but if you do so, we will charge a 27%(!!!) commission on that link, require you to submit financial reports every few weeks(?!), will reserve the right to audit your books at any time(???!), AND hold the threat of expulsion from the App Store over your head, in case we find you to be out of compliance.

Change Miller:

The other anti-steering change that Apple is required to make is to allow developers to communicate with customers outside of their apps about alternative purchasing options, such as via email.

Tim Sweeney (Hacker News):

Developers can’t offer digital items more cheaply on the web after paying a third-party payment processor 3-6% and paying this new 27% Apple Tax.

2) Apple dictates all aspects of these links and doesn’t allow them in the app’s ordinary payment flow. Rather, links must be separated out into a different section of the app, away from places where users actually buy stuff.

3) Apple requires developers to open a generic web browser session, forcing the user to log in to the developer’s web site again, to make a purchase. And because of #2, users will have to search all over again for the digital item they wanted to buy.

4) Apple will front-run competing payment processors with their own “scare screen” to disadvantage them.

John Gruber (Mastodon):

They’re only demanding the commission from web sales that occur within 7 days of a user tapping through to the web from the new External Purchase Links entitlement in an app.

[…]

To be clear, I think Apple should allow apps other than games to just tell users they can pay/buy/subscribe/whatever on the web, without any commission. That the rules which have applied only to “reader” apps since early 2022 should be extended to all apps other than games, perhaps alongside a requirement (which doesn’t apply to “reader” apps) that apps taking advantage of this also offer in-app purchasing.

I don’t see why games should be singled out.

Ben Lovejoy:

One common point from those on Apple’s side was that games consoles apply the same rules as Apple. However, a key difference is that Sony and Microsoft sell their hardware at a loss in order to generate revenue from software. For console manufacturers, a hefty app commission is vital for their business model. Apple, in contrast, earns the highest hardware margins in the business.

Riley Testut:

Quite literally the smallest of wins, but still sad it took almost 4 years of litigation just to allow mentioning external payment systems in apps

Francisco Tolmasky:

LOL we went from the Web being the “Sweet Solution” to iOS apps to needing a fucking entitlement to “include a link in your app.”

Combined with the dryness of Swift, the Apple platform now feels like working with J2EE at some mega corp where you submit a bug fix & wait 3 months for bureaucratic approval.

John Gruber:

My argument remains that Apple should not be pursuing this plan for complying with the anti-steering injunction by collecting commissions from web sales that initiate in-app. Whatever revenue Apple would lose to non-commissioned web sales (for non-games) is not worth the hit they are taking to the company’s brand and reputation — this move reeks of greed and avarice — nor the increased ire and scrutiny of regulators and legislators on the “anti-Big-Tech” hunt.

[…]

Rather than take a sure win with most of what they could want, Apple is seemingly hell-bent on trying to keep everything.

And they’ve lost sight of the user experience. Now that external purchases are allowed, Apple is imposing requirements that deliberately make them hard to use and force businesses to add tracking.

swingerofbirch:

Apple is making that link a landmine for developers and for users in terms of privacy. Say I click on the link for Spotify from the App Store. Then at any time during the next seven days, I sign up for Spotify over the web. Spotify is required to both have a mechanism for tracking me to know that I had clicked on the link from the App Store in the last 7 days Apple and to give Apple a ca. 30% cut regardless of whether I ever even use the Spotify service through the App Store. […] And then the warning language that the link may violate your privacy etc, when Apple is the one forcing the company to track where the traffic came from not just in that one instance but for at least the following seven days and then that Apple will be auditing that data.

Dare Obasanjo:

This is the same energy as Apple ATT.

Everything on this page is technically true but the entire subtext is Apple is scaring the user into buying the in-app purchase on their iPhone where they get a 30% cut instead of on the web when the developer has linked to their website.

Jamie Zawinski:

Apple just got their ass handed to them in a lawsuit, but their pettiness remains boundless.

Tyler Hall:

It’s exactly what we all knew Apple would do.

[…]

And yet, as I move on to reading John’s post about the new App Store guidelines, all I can think of is how modern-day Apple is one giant corporate contradiction. The same company that builds the technology to watch a movie in front of a Tatooine sunset is the same company removing all of the joy and fun out of the process of building that sunset.

Modern-day Apple is its own binary star. One fueled by creativity. And another fueled by arrogance.

John Gruber:

Apple’s 30/15 percent commissions from App Store purchases and subscriptions are not payment processing fees. They include payment processing fees, but most of those commissions are, in Apple’s view, their way of monetizing their intellectual property. And they see the entire iOS platform as their IP.

Since when? That was not Apple’s view with its previous platforms. It was not the way Steve Jobs explained things when announcing the App Store. It was not Phil Schiller’s view when he suggested reducing the commissions so as to keep App Store profits at $1 billion. It seems more like a backward justification to keep all the profits after the App Store exceeded expectations.

Colin Cornaby:

We’ve come a long way since the days of “we can only allow apps from the App Store for carrier network security and we’re not even doing this for the money.”

Dave B.:

I’m as big an Apple fan as there is, but Apple’s position here is ridiculous.

A) The ecosystem is locked down and curated to provide users with the best possible experience. The ‘Walled Garden’ exists to maintain a safe, consistent, well-designed UX for premium products.

B) Apple maintains the ecosystem and spends lots of time and money doing so, so of course they deserve a large cut of all commerce occurring within it.

Pick one.

You can’t have it both ways. A or B. Not both. They’re incompatible.

Jesper:

If the top concern was the privacy, safety and overall experience, the solution is straightforward[…]: institute rules that protect the customer.

Allow some leeway, but have a mechanism where if you act in a way that defrauds or misleads the customer, you are liable to be booted off the App Store. With this in place and effectively administered, there would be no point in attempting to mislead the customer. Whether an abuse of In-App Purchases, a particularly malodorous third-party payment system or just shifty behavior in general, it could be chalked up to the same offense. Or, to focus on the positives, an opportunity to throw down the gauntlet and focus on reasoned, respectful behavior, building a community of trust, providing the rising tide that lifts all boats.

Instead, the focus is on the enshrined axiomatic supremacy of whatever the Apple payment solution is. If you find it wanting, and want to do something else, tough noogies.

[…]

Instead, the focus is on the absence of trust, the framing of the developers who largely built the platform’s identity, humanity and success as rogue agents incapable of contributing productively.

David Heinemeier Hansson:

Can you imagine if Google wanted 27% of any sales that resulted from anyone visiting your store after finding you in their search engine?? AND the right to audit your books to ensure they got their rake?? AND THE THREAT TO KICK YOU OFF GOOGLE IF YOU DIDN’T COMPLY? Nuts.

Francisco Tolmasky:

The message from Apple is clear: if you don’t want to pay Apple’s 30% tax, you should monetize your app through advertising.

Tom Gerken (via Hacker News):

Spotify has reacted with fury, saying the policy “flies in the face” of the US court’s attempt to enable greater competition.

“Once again, Apple has demonstrated that they will stop at nothing to protect the profits they exact on the backs of developers and consumers under their app store monopoly,” it said in a statement.

[…]

“We strongly urge UK lawmakers to pass the bill swiftly to prevent Apple from implementing similar fees, which will help create a more competitive and innovative tech industry for UK consumers and businesses.”

Brent Simmons (Mastodon):

Apple doesn’t care about you personally in the least tiny bit, and if you were in their way somehow, they would do whatever their might — effectively infinite compared to your own — enables them to deal with you.

Luckily, Apple has just provided us all with a reminder. Just like the sixth finger in an AI-rendered hand, Apple’s policies for Distributing apps in the U.S. that provide an external purchase link are startlingly graceless and a jarring, but not surprising, reminder that Apple is not a real person and not worthy of your love.

Craig Hockenberry:

Apple’s steadfast refusal to back down on anti-steering is burning a lot of bridges at all levels of the developer community.

John Gruber:

If Apple’s in-app purchasing system is so easy to use, so reasonably priced for its benefits, and so trusted by users, it should be able to compete openly with the web. And I think Apple’s in-app payments do compare favorably to leaving an app to pay on the web, especially for games. But with true competition from web purchases that apps can steer users to, Apple’s commission rates, for apps other than games at least, would probably be lower. I’d argue that it’s unhealthy for a company to grow dependent on unnaturally high commissions protected by fiat policies, rather than set through open competition.

[…]

Regardless of whether these anti-steering provisions are legally anticompetitive, they’re undeniably anticompetitive in the plain sense of the word. I genuinely believe the Supreme Court has done Apple a favor letting this ruling stand.

Colin Cornaby:

I think the big disappointment I had was that I was hoping that Apple would see the way the wind was going and make things easy for developers. Between the rumor that Apple is going to split the stores to prevent sideloading in the US, and the payment stuff, doesn’t seem that way.

I think worldwide governments are going to take a much dimmer view of locked down software and operating systems. Would be nice to see Apple lead the way in that new era.

Nick Heer:

I feel compelled to emphasize this one point: this is a U.S.-only capability.

[…]

Instead of one App Store around the world — with minor asterisks — there will now be different permissions depending on which geographically-restricted features a developer chooses to use. And Apple has created a bureaucracy to ensure it captures all the money it believes and has argued it is owed.

Craig Grannell:

only doing what’s forced, when there’s no other option, is not a great look. And devs already have a hard enough time. Fragmenting requirements in the multiple ‘app stores’ around the world seems like quite the destination.

Ian Betteridge:

Apple had a chance to turn a legal defeat into a long-term victory. With Google charging 26% in the same circumstances, the company could have adopted rules which dramatically reduced the levy it wants to take, say to 12% for all developers. This would have gained the company a lot of credibility over the long term.

But no. Instead, it chose to protect short-term revenue, and do something which looks petty, hostile to the developers who have made iOS a successful platform, and which will probably end up in court, again.

Ryan Jones:

So so sad they are going to force regulators to write our rules.

Scott:

Those of us who lived through it look back on the Microsoft antitrust era of the late ’90s with particular distaste… future us will be looking back on Apple’s App Store shenanigans of the past decade the same way, likely with even more scorn.

Microsoft got in trouble for bundling their browser with the OS and for preventing resellers from pre-installing competing browsers. They never interfered with other companies making their apps available. Apple doesn’t let resellers pre-install apps and does prevent certain apps (including third-party browser engines) from even being available.

David Heinemeier Hansson (tweet):

But Microsoft’s brutish tactics also managed to turn an entire generation of developers against them. And the bill for that didn’t come due until Windows Phone. Nobody, and I mean nobody, wanted to lift a finger to help Microsoft gain a foothold in mobile. The wounds from the late 90s and early 2000s were still fresh in many developers minds. So many cheered as Apple went from underdog, favored by developers for their embrace of Unix roots in their operating system, to the dominant player on a new platform.

Microsoft has had to work hard to undo that poisoned relationship ever since, and under Satya Nadella, seems to have broadly succeeded in that mission. Microsoft is no longer developer’s enemy #1, Apple is.

[…]

Apple would be wise to study the long arc of Microsoft’s history. Learn that you can win the battle, say, against Epic, and end up losing the war for the hearts and minds of developers. And that while the price for that loss lags beyond the current platform, it’ll eventually come due, and they’ll rue the day they chose this wretched path.

Previously:

I agree with @daringfireball that Apple’s approach of still charging 27% and showing a scary dialog in response to any law asking them to allow apps to use their own billing for IAPs is basically a 🖕 to regulators.

The question is if regulators will respond?

John Gruber:

I’m not sure why Spotify doesn’t qualify under the “reader” app category that can link to external web pages without paying Apple any commission at all.

[…]

Here’s a simple thought I had today regarding whether Apple’s new External Purchase Links entitlement policy is a good faith compliance with Judge Gonzales’s order: Will any developers actually choose to use it? Remember, to use this entitlement, developers must[…]

Christina Warren:

I cannot believe Apple is going to charge a 27% tax so developers can link to their homepage. I’m generally pretty meh on a lot of tech regulation if only b/c I think most government officials are idiots and it often doesn’t actually work. But this sort of move should be illegal. Full stop. It isn’t. But it should be.

[…]

[The] kindle app and Sony’s ebook app (which was killed by the rule change) let you buy books inside the webview of the kindle app. Then suddenly, Amazon couldn’t even link to their Kindle store from inside the app, which as Michael points out, the emails show was about iBooks sucking (even tho Apple literally broke the law trying to compete with Kindle. They broke the law and still lost), more than anything else.

Not enough people discussing this are acknowledging that, even if you only look back as far as the start of the App Store, Apple’s current stance is not how things always were. Tim Cook’s testimony notwithstanding, Apple has in effect raised the fees over the years by increasing the scope of what the 30% applies to.

And Kindle is still stuck, even aside from the fee, because the IAP system still isn’t up to handling a catalog of that size. iBooks, of course, gets to use private APIs.

Jeff Johnson:

I hear so much revisionist history and ex post facto apologia nowadays, but we old Mac devs are not fooled.

Mike Rockwell:

What Apple has done by locking down the platform is far worse than anything Microsoft ever did with Windows.

Charlie Sorrel:

It’s sad that a company that competes in the hardware world simply by making the best computers available can’t do the same in services. It would rather use its dominant position to bully developers into using its IAPs instead of making them so good that everybody would just want to use them.

Daniel Andrews:

Companies like Apple love to fashion themselves as a lifestyle or an identity brand, because they know that if people watch their specific actions too closely they’ll be reminded they’re simply a business that needs to keep growing to keep their shareholders happy. […] it just feels like we’ve hit an inflection point where Apple’s behavior is getting almost no support because there’s really no logical defense aside from the fact that Apple wants to make as much money as possible.

Dave Verwer:

I know nothing and am glad I don’t have to fix these problems. However, it seems like my prediction that making the smallest possible concession after every judgment will only make things worse is coming true. Every move brings so much negative attention and additional scrutiny.

Dave Verwer:

I would support a bigger rethink of how the App Store works. A shake-up that focuses on downloads and usage more than taking a percentage cut of financial transactions. One that makes sure that the largest companies in the world, who get massive value from the platform, pay something instead of nothing. I don’t know what that model looks like, but I can only really see changes of that magnitude putting an end to this current situation.

Armin Briegel (via Jeff Johnson):

Managing and curating the App Store is certainly a gargantuan task and there will always be false positives and negatives. But Apple took this job on themselves. No-one had asked them for this. The Mac was doing great before the App Store and still has a rich software market outside of it. Any goodwill Apple might have earned when they set out with noble intentions in 2008 is used up. Now, it is difficult to avoid the impression that Apple is not competing on quality, but instead taxing access.

[…]

Apple claims they compete with quality and ease of use, and their customers are willing to pay for a better experience. Generally, they succeed with this. But with the App Store, Apple has a strange blind spot. They have no competition and it shows. The App Store is neither safe nor easy to use. It is littered with ads (that Apple earns more profit from). It has a significant cost for developers, and instead of getting good value in the form of a safe market place, small developers live with the permanent risk that their income disappears because of some unpredictable review decision or because some scam developer outspends them on ad placements.

More than 15 years after its introduction, entire categories of apps and tools are still excluded from the App Stores. Many creative ideas will never be realized, because developers believe they will never pass review. For Mac admins, despite the fact that Apple has been cajoling developers to use in-App purchases and subscriptions, we cannot manage either with Apps & Books (formerly known as VPP).

John Gruber:

I’m up to at least half a dozen instances now where group chat discussions have turned to concerns that Apple might assert the same demand for a 27 percent cut of all Mac software. Meaning not just apps in the Mac App Store, but apps from outside the Mac App Store — even apps that are only available outside the Mac App Store. Even apps from developers who don’t have any apps in the Mac App Store. There’s now genuine concern that Apple is going to declare that they want a 27/12 percent revenue cut from all Mac software, full stop.

I’m disappointed by Apple’s decision to demand their commission from sales on the web linked from within iOS apps, but not surprised. But I can’t emphasize enough how flabbergasted many developers are — nor how offended.

[…]

Essential to the Mac’s continuing relevance is that it is continuously evolving. Much has changed since 2010, and much will surely change between now and the Mac’s 50th anniversary in 2034. But one thing that can’t change without destroying it is its openness to software outside Apple’s control.

[…]

Developer uncertainty regarding the viability of selling Mac software is the last thing needed for a platform that is already facing a dearth of new original native software. Apple doesn’t have to make a platform-destructive money-grab policy change to ruin the Mac. They can ruin it simply by planting the seed of doubt that they might.

I don’t think Apple would actually do that, but they have certainly been making the experience of selling software outside the Mac App Store worse: no more directory of apps, ineligibility for awards, spreading FUD that if it’s not in the App Store it isn’t safe, and a parade of buggy security requirements that make it harder to distribute apps. There are lots things that could be done to improve the experience of installing and updating apps, but they would rather everyone use the App Store.

See also: Dithering, Accidental Tech Podcast.

The Apple fallacy of bringing customers:

With DMA, if a user click a link to pay on your website, Apple takes its 27% cut because they say they brought you a customer.

However, when you bring customers from outside the App Store with your own marketing (easily trackable with campaigns), Apple still gets its 30% cut despite YOU brought them a customer.

Previously:

Supreme Court Declines to Hear Apple v. Epic Case

Hartley Charlton (Hacker News):

The United States Supreme Court today declined to hear separate requests from both Apple and Epic Games in their long-standing lawsuit against each other with regards to App Store rules.

[…]

As a result of the Supreme Court’s decision today, the previous rulings stand and Apple is able to continue to disallow third-party payment processing within apps, but will have to allow developers to inform users about other purchasing options outside of the App Store.

John Voorhees:

That’s not the same as the Supreme Court ruling against either party, as I’ve seen reported in some places. In fact, it’s the opposite of a ruling. The Supreme Court decided not to decide. That’s significant because it carries no weight as legal precedent. Had the Supreme Court ruled, the decision would have been binding on all other US federal courts. As it stands, the Ninth Circuit Court of Appeals’ decision is binding precedent for the federal courts in that district only. That’s it. Parties can argue about the issues decided by the District Court and the Ninth Circuit in other districts, but they aren’t binding on those courts.

[…]

Judge Gonzalez Rodgers can sleep well knowing her decision won’t be second-guessed, but as we’ve already seen from the aftermath of the Supreme Court’s non-decision, legal battles between big companies that don’t like each other and have a lot of money never really end.

Epic’s Tim Sweeney immediately proclaimed that Epic Games would contest Apple’s “bad-faith compliance plan.” […] So now, the fight is over whether what Apple has done is sufficient to steer clear of California’s anti-steering law.

[…]

The main takeaway is that it’s clear that Apple isn’t going to change the way it runs the App Store without a legal fight or government regulation.

Tim Sweeney:

The court battle to open iOS to competing stores and payments is lost in the United States. A sad outcome for all developers.

Tim Hardwick:

Apple has asked the court to allow it to bill Epic for its litigation expenses, which amount to a whopping $73,404,326. According to gamesfray’s Florian Mueller, Apple came up with the number by totaling up the $82,971,401 in legal costs it spent on the case, and then adjusted that number down to $81,560,362. Apple then deducted 10% since Epic prevailed on 1 of 10 counts (Apple’s anti-steering rule).

Apple bases the claim on Epic’s original violation of its developer agreement, when out of the blue its Fortnite game offered an in-app payment alternative on the App Store. Epic previously accepted that it would owe damages if it lost its antitrust claims against Apple. Now that it has, Apple has issued the bill.

David Heinemeier Hansson:

This is because when you sign the Apple Developer agreement, which you must in order to publish software for the iPhone, you also agreement to indemnify and pay all their legal fees, if you sue them, and they convince a judge you somehow breached this compelled agreement 🤯

Adi Robertson:

Epic remains unsuccessful in its bid to make Apple allow it back onto the App Store[…]

It’s unclear to me whether this is because Epic refuses to follow the guidelines or because Apple has given them a permanent ban. It sounds to me like the latter. Although Apple once said that it wanted Fortnite back in the store if only Epic would comply with the guidelines, Apple’s most recent statement was that there is no basis for reinstatement of Epic’s developer account. So they can’t even submit a new build for review.

John Gruber (Mastodon):

It’s unsurprising but worth noting that Fortnite is seemingly never coming back to iOS, unless Epic sells the franchise to another company. iOS Fortnite players are like the children in an ugly divorce.

Previously:

Wednesday, January 17, 2024

Swift Protocol Requirement Quirks

Jesse Squires:

A handful of protocol witness mismatches are currently allowed:

  • Non-failable initializers can satisfy failable initializer protocol requirements (as I encountered above)
  • Non-throwing functions can satisfy throwing function protocol requirements
  • Non-escaping closure parameters can satisfy @escaping protocol requirements
  • Generic functions can satisfy non-generic protocol requirements
  • Non-mutating functions can satisfy mutating protocol requirements
  • Enum cases can satisfy static function protocol requirements
  • Synchronous methods can satisfy async protocol requirements

ScreenFloat 2

Matthias Gansrigler (Mastodon):

ScreenFloat powers up your screenshots by allowing you to take screenshots and recordings that float above everything else, keeping certain information always in sight.

I’ve known about this app for a long time, but I’d never used it or thought much about it because the description doesn’t speak to me. I just don’t know why I’d ever want my screenshots to float. But, with the release of version 2, I took a closer look and found that it includes a variety of other features for working with screenshots that are actually quite useful.

John Voorhees (Mastodon):

Share includes some of the same options as the export tool, allowing screenshots to be copied, exported, printed, and shared with other apps. There’s also an option to detect data, including text, faces, and barcodes, which allows text to be copied or redacted and faces and barcodes to be blurred out, a fantastic use of macOS’s built-in data detection technology.

The Edit section provides tools for editing metadata and annotating images in a wide variety of ways by adding text, bulleted lists, shapes, arrows, lines, and more. All of these edits are non-destructive, meaning you can add them for reference purposes but still retrieve an unedited version of the screenshot later. This is an excellent addition for anyone who wants to mark up an image to highlight some aspect of it but preserve the ability to use a clean version in the future.

The Organize section has options for marking screenshots as favorites, rating them, moving them to folders, opening the Shots Browser, and accessing the app’s Settings. Of these options, the Shots Browser is easily my favorite because it extends ScreenFloat from a simple floating screenshot reference tool to a dedicated screenshot organization app.

The organization aspect is neat in that it automatically avoids the clutter of image files on your desktop. But I take most of my screenshots on test Macs, and so it doesn’t make sense to use it for long-term storage or organization there. I’ve been putting them in EagleFiler on my main Mac. The syncing would be great except that it uses iCloud, and my test macOS installations use a different Apple ID than my main Macs.

I can’t believe that the app only costs $7 and that this major upgrade—which is a complete rewrite in Swift and Core Data—is free. I’m not sure whether I’ll end up using it regularly, but there’s a lot other like here.

Game Mode in Sonoma

Andrew Cunningham:

Sonoma brings two more features that point to Apple’s newfound seriousness about gaming on the Mac. The first is Game Mode. It’s analogous to a Windows 11 feature of the exact same name, and they’re functionally similar in that they both promise to deprioritize background tasks to keep games running smoothly.

Apple’s version of Game Mode also promises to lower Bluetooth latency for connected input devices and wireless headphones.

I tested with a pair of non-AirPod Bluetooth earbuds and a DualShock 4 controller connected to an M2 MacBook Air, mostly playing games downloaded from Steam. Game Mode started reliably when games began and disappeared when they were closed.

I can’t say I noticed a difference in input latency, even in twitchier 2D games where I’m more sensitive to that kind of thing. But I definitely noticed an improvement in audio latency, where normally I’d need to switch to my earbuds’ low-latency Game Mode to get lag-free audio.

John Vorhees:

In typical Apple fashion, Game Mode isn’t something you turn on. It’s enabled as soon as you start a game.

Tim Hardwick:

When you enter full screen in this way, a Game mode menu appears in the menu bar. You can use this menu to confirm that Game mode is turned on for your game.

Howard Oakley:

Apple explains that this “optimizes your gaming experience by giving your game the highest priority access to your CPU and GPU, lowering usage for background tasks. And it doubles the Bluetooth sampling rate, which reduces input latency and audio latency for wireless accessories like game controllers and AirPods.”

[…]

gamepolicyd works with RunningBoard to designate gameconsole and some other services as “Game Mode Critical Services”.

Howard Oakley:

Perhaps the best overview of the effects of Game Mode on the CPU and GPU is this chart showing power consumption for the whole CPU and GPU during a run in Game Mode.

[…]

Assembling these, it’s apparent that during Game Mode, the game was given exclusive use of the two E cores, and threads from other processes fixed at low QoS, which would require them to be run on the E cores, were kept waiting. The game’s threads were run on a combination of E and P cores, with much of their load being concentrated on the E cores. This appears to be energy-efficient, and ideal for use on notebooks running on battery power.

Howard Oakley:

This article looks at another atypical situation, when running a macOS virtual machine (VM) assigned a set number of virtual cores. How does macOS Sonoma handle that?

Previously:

Tuesday, January 16, 2024

Bluesky Adds RSS

Open RSS (via Hacker News):

The link to a user’s RSS feed is quite lengthy, making it not so easy to remember, and you can’t really tell which user’s profile an RSS feed is for just by looking at it.

[…]

So if a user has their posts set to be visible only to logged-in users, you wouldn’t be able to view that user’s posts in the user’s Bluesky RSS feed.

[…]

Bluesky RSS feeds don’t have links embedded in the full text of the feed. So you’ll have to navigate to the post on the Bluesky website in order for the links to be clickable.

Also, as with Mastodon, you would need to subscribe to the feeds of all the individual users you want to follow. There is no RSS feed for your own timeline.

Previously:

Resolving Trusted Execution Problems

Quinn:

If you’re developing software for macOS your goal is to avoid trusted execution entanglements. You want users to install and use your product without taking any special steps. If, for example, you ship an app that’s blocked by Gatekeeper, you’re likely to lose a lot of customers, and your users’ hard-won trust.

[…]

If you launch a quarantined app, the system invokes Gatekeeper. Gatekeeper checks the app for problems. If it finds no problems, it asks the user to confirm the launch, just to be sure. If it finds a problem, it displays an alert to the user and prevents them from launching it. The exact wording of this alert varies depending on the specific problem, and from release to release of macOS, but it generally looks like the ones shown in Apple > Support > Safely open apps on your Mac.

[…]

If your product is an app and it works correctly when not quarantined but is blocked by Gatekeeper when it is, you have a Gatekeeper problem. For advice on how to investigate such issues, see Resolving Gatekeeper Problems.

Alas, I’m still seeing problems where some customers can’t launch my apps because Gatekeeper erroneously reports them as damaged. The only workaround seems to be to instruct the customer to manually remove the quarantine flag or to download the app in a way that doesn’t quarantine it.

If none of the above resolves your issue, look in the system log for clues as to what’s gone wrong. Some good keywords to search for include[…]

See also: Testing a Notarised Product.

Previously:

Monday, January 15, 2024

Meetup and IAC Apps Acquired

Luca Ferrari (Hacker News):

Bending Spoons entered into an agreement to become the new owner of Meetup, subject to closing conditions. The acquisition is expected to close later in January.products.

Meetup has a powerful global brand, a large, vibrant user base, and a mission that resonates strongly. Quite simply, Meetup is a force for good in the world, and it’s a pleasure and a privilege to become the new steward. We’re eager to support Meetup’s future success by drawing from the expertise we’ve developed in a decade of building high-performing digital technology

Ryan Jones (Hacker News):

IAC just sold 17 apps to Bending Spoons.

  • $100M deal
  • All 330 employees fired
  • Robokiller and PDF Hero appear to be the biggest

Sneak peak at the playbook: ultra scammy tactics, no new features, sell user data, more ads, and other lovely things.

Previously:

Unity Store Bans VLC

Martin Finkel (via Hacker News):

After months of slow back-and-forth over email trying to find a compromise, including offering to exclude LGPL code from the assets, Unity basically told us we were not welcome back to their Store, ever. Even if we were to remove all LGPL code from the Unity package.

Where it gets fun is that there are currently hundreds if not thousands of Unity assets that include LGPL dependencies (such as FFmpeg) in the Store right now. Enforcement is seemingly totally random, unless you get reported by someone, apparently.

[…]

For this reason, we decided to publish a simple Store on the Videolabs website.

This way, existing and new customers can still purchase the binaries for the open-source VLC Unity plugin without our presence on the Unity Store.

gumby:

When I originally wrote the LGPL (v1, back around 1991) we could not imagine anything like an App Store or signed binaries. Dynamic linking provided an easy way for users to upgrade the library code.

Since the user doesn’t have the freedom to update the libs on ios etc I don’t see how you could deploy LGPL code on those platforms; since one of the points of using unity is its cross-platform support, that suggests you’d have to find another library unless you were only deploying on real OSes.

See also: The Problem with Using LGPL v2.1 Code in an iOS App.

Previously:

Are There Any Tetris Games for Mac?

John Gruber:

Not much has changed from 2018. There is an officially licensed game in the Mac App Store now: Tetris Beat. It’s part of Apple Arcade, so most of you can probably download it and play it. It’s not just plain Tetris — and whatever it is that it wants to be, it sucks. It doesn’t even let you customize the controls. It occupies 2.3 GB on disk after installation. For Tetris! Jiminy. Niklaus Wirth would be rolling over in his (fresh) grave if you told him a Tetris game took 2.3 GB on disk and made the fans get loud on an Apple silicon MacBook Pro when you play it.

The best options for just playing Tetris on a Mac are web games: Tetr.io and Jstris. (I presume both websites are hosted in countries outside the reach of litigious The Tetris Company.)

Plus the official Web version.

Previously:

Update (2024-02-01): Freehours9:

My all time favorite will always be Tetris Max on classic Mac OS. I play in emulated Mac OS 9 in SheepShaver.

Then Quinn on Mac OS X. I still run Tiger in UTM to play.

Easier Wallet Pass Sharing in iOS 17.2

Joe Rossignol:

Starting with the upcoming iOS 17.2 software update, there is a new NameDrop-like feature that allows an iPhone user to quickly share boarding passes, movie tickets, and other Wallet app passes with another iPhone user.

To use the feature, open the Wallet app and tap on the pass that you want to share. Then, hold your iPhone near the top of another iPhone, and a “Share” button will appear below the pass on your iPhone. Finally, tap on the “Share” button to send the pass to the other iPhone via AirDrop. Both iPhones must be updated to iOS 17.2.

Previously:

The Timer in watchOS 10

Craig Hockenberry:

The addition of Recents made getting to the 1/3/5/10/15/30 settings more challenging because scrolling with your nose is significantly more difficult. Thankfully, once you positioned the magic grid on the device, going into and out of timers could be done quickly and easily.

[…]

This is exactly why the magic grid in the Timer app is so important. It has all the common checkpoints a cook needs. It’s also why Recents are a non-feature while cooking: after you’ve done your 5 minute checkpoint and go back to Recents you need a timer for one minute but 5, 30, 15, and 3 are the most recent.

[…]

The root of the problem on watchOS 10 is that setting a timer is now done in a modal presentation (with a close button in the upper-left corner).

This means that no position is maintained between uses: the Recents are always at the top and have the ordering problem noted above. The magic 1/3/5/10/15/30 grid is only accessible by scrolling. […] This problem could be remedied if the last position in the modal view was maintained as in previous versions of watchOS.

I agree that the text is harder to read now and that the big plus button should not be prioritized. It’s rare to add new timers. For one-off timers I use Siri.

Previously:

Friday, January 12, 2024

Upgrading From an iPhone 12 mini to an iPhone 15 Pro

I’ve been using an iPhone 15 Pro for a few months now and so thought it was time to write down some notes. The first impression is, of course, that it’s much larger than the iPhone 12 mini, but in particular it feels much heavier. I miss the easy one-handed use and compactness in my pocket, but in the end I’ve had larger phones before, and I’m OK with the size and weight.

I got the Natural Titanium color, because I thought it would wear better, and it’s fine; I don’t love any of the colors. Color aside, I like the way the phone looks, and I really like the way it feels in my hand. This is probably the most comfortable phone to hold that Apple has ever made. Something about the shape and the weight is just very satisfying. It’s definitely thicker, and that combined with the slight grippiness of the back makes it easy to hold onto. This is the first phone I’ve felt comfortable using caseless since the iPhone 5s. Not needing a case somewhat mitigates the phone itself being larger.

This is my first Pro phone, and one of the reasons I initially favored the 15 Pro over the 15 was that it’s slightly smaller. I ended up trying them both and did not find this difference to be noticeable. The 15 Pro does feel heavier than the 15, though. There were two surprises about the iPhone 15. First, the black color looks much better in person than in the photos. It’s darker and less chalky. Second, the iPhone 15 is really slippery. There’s no way I could use it without a case. It does not feel anywhere near as good in the hand as the 15 Pro. Rather, I think it’s a regression in the direction of the old iPhone 6 shape.

This is also my first phone with an eSIM. I don’t love this because there are more things that can go wrong, and it’s not as easy to switch between phones. I confirmed with Boom Mobile that it is possible to go back to my old physical SIM, but of course I would have to contact them to do this. The automatic process to switch to the eSIM failed a few times, and I had to chat with Boom to get it to finally work. I’ve had no trouble with it since.

The iOS data migration experience continues to have more friction than it should. For the first 62 minutes, it estimated “About 1 hour” remaining to copy my data, eventually finishing in 1:17. The apps don’t transfer directly, I guess because of FairPlay, so they had to be redownloaded. Cached data, such as Overcast podcast episodes, Rain sounds, and iCloud Drive files that I wanted to keep locally, did not transfer. Overcast downloaded tens of GB again, which took a long time. 30 of my uploaded files had to be manually downloaded again (individually) because at first it said they were “Not Authorized.”

My repos in Working Copy also didn’t transfer. It showed the config information but somehow remembered the repo path and refused to download anything (“No route to host”). I had to delete everything from the app, re-enter the details, and clone from the server. Even then it kept saying that one subfolder of the fresh clone was modified, even though it wasn’t, and it wouldn’t let me revert it. I’m not sure how I fixed this, but I eventually got it working.

Many apps required re-entering login credentials, even though I let iOS use the keychain wherever possible. This was not limited to financial apps but also included ones requiring less security such as Kindle and Spotify. Symantec VIP Access of course gave me a new Credential ID, and I had to update all the sites that use it.

CarPlay forgot my home screen layout. I also had to pair the new phone with my Apple Watch, which failed several times since it never showed the confirmation on the watch until I rebooted both devices. Weathergraph forgot my view preferences and required manually restoring my purchases.

The worst part of migration is Apple Pay. I had to enter security codes for each credit card, and there is no way to activate them in bulk/parallel. It’s a slow, individual process. One card was said to be invalid, even though it wasn’t. A few cards wouldn’t activate until I called my bank. One wouldn’t work even then, and I had to delete the card and re-add it. Some could be activated via codes sent via SMS, but I had to type them manually because they only arrived on my old phone. This sort of makes sense in that I think my eSIM wasn’t working at the time, but I would have expected iMessage to forward them to all devices. Eventually, iMessage did start working, but then a few hours later it spontaneously signed me out.

For a long time, the Wallet app showed a notification badge that was confusing because nothing in the app seemed to require my attention. I eventually figured out that this was because one of the cards was not activated, though it didn’t show this in the list. Overall, I consider my credit card info to be less sensitive than many of my passwords, so it’s frustrating that it can’t just be stored in the keychain and migrated automatically.

This is my first phone with ProMotion. The screen looks good, and animations are smooth, but I can’t say that I noticed an increase in smoothness. Coming from the 12 mini, everything on screen looks huge. The display is physically much larger but has only slightly more pixels. I wish there were a “More Space” option to use a higher logical resolution like on my Mac. Failing that, I wish there were a way to decrease the font size more so that I could fit more stuff on screen.

This is also my first phone with an Always-On Display. I don’t find it to be a big selling point, but overall I like it. It’s frustrating that, although the display is on, it is not necessarily showing current information. For example, the ATracker widget doesn’t always sync with the Apple Watch when the iPhone app isn’t running. Even controlling it using the phone, it doesn’t update when a timer is started or stopped via Siri. (The same is true of Live Activities.) The Fitness widget actually hides the information when the display turns “off,” defeating the purpose of putting it on the lock screen. All this said, I do still find the Always-On Display useful for letting me see information (OmniFocus, Fantastical, Weathergraph) and photos at a glance. Battery life is still fine with it enabled. The screen itself is too easily scratched and already has some permanent nicks, despite my never having dropped it or put it in a pocket with anything else. The Always-On Display does somewhat hide these marks, as it’s harder to see them against a photo than a solid black screen.

The dynamic island, in contrast, is a clear win, probably the best new iOS interface element in a long time. Live Activities work better with it, and in general it makes multitasking feel more real and convenient.

Face ID feels faster on the iPhone 15 Pro, though not as fast as Touch ID was, and it still fails regularly. The most frustrating part is when I just want to quickly take a photo. Here, the new Action button helps because it can be programmed to directly open the camera. I find this to be a big improvement, but it still feels slower than with Touch ID. The reason is that the iPhone seems to ignore the Action button when the proximity sensor is triggered. If the phone is in my pocket, I can’t press the Action button and pull it out in a single motion. I have to press the button after it’s out, which feels a bit awkward. I also have to hold it down for a while. It’s just not as convenient as I expected, though still an improvement over side-swiping or pressing the on-screen button to access the camera. My other complaint about the Action button is that it feels like it’s in the wrong place. It’s awkward to reach given where my hand is when I’m trying to press it.

This brings us to the cameras. Physically, they are also awkward, with the bumps far larger than on my previous iPhones. The bumps are off-center, so the phone won’t lay flat on a table, and it wobbles when sitting in a charging dock and can be hard to line up on a flat charging pad. I’ve switched to a MagSafe stand, although that has the disadvantage of requiring two hands to remove the phone.

The camera image quality is, surprisingly, a mixed bag. Overall, it’s an improvement, with sharper images and better color and low-light performance. However, I dislike the shallower depth of field. In addition to having a larger sensor, the iPhone 15 Pro’s main lens is ƒ/1.78 vs. ƒ/1.6 for the iPhone 12 mini. Photos have built-in bokeh, even with Portrait Mode off, to the point where I initially thought the Portrait Mode switch was broken and stuck on. This can look nice for portraits, but I often take photos where I want to capture a lot of the background details, and that seems to be impossible. I spend more time manually focusing, and even then parts of the photo that I’d like to be sharp end up blurry. I also take close-up photos of objects and documents, and these generally look worse with the 15 Pro. There’s a new feature to quickly change focal lengths, but that doesn’t help with these problems, and I have not found it to be useful. I have not found myself using the 3x lens much, so I almost wish I could have an iPhone 12–style lens/sensor in its place.

Emergency SOS via Satellite sounds great, though thankfully I have not had occasion to test it.

I haven’t mentioned the processor yet. The phone mostly feels fast, but then so did the iPhone 12 mini. The A17 Pro seems over-provisioned for what I do and doesn’t really help Siri and cellular stuff not feel slow.

Lastly, power. The battery life is phenomenal compared with my iPhone 12 mini. I haven’t yet had to worry about it, even when recording GPS tracks and taking lots of photos. After a recent hike, it was still at 74%, whereas the 12 mini would likely have been in the 30s with its old battery and probably below 50% even when new. I still carry an external battery pack on long days, but before I would expect to have to recharge and plan when to do that, whereas now it’s more of a backup in the case of an unexpected battery drain. Of course, I can now charge the phone and connect it to my Mac using USB-C rather than Lightning. I think Apple waited way too long to make this transition, but I’m glad they finally did it.

Overall, I think this is one of the best iPhones Apple has made. I wouldn’t say that there’s any one thing that’s a must-have, but the smaller improvements add up, and I see it remaining good for years. My main disappointment is that in some cases the camera has regressed. I expect that other iPhone 15s and even iPhone 14s have the same issues, so an iOS user doesn’t have much choice. The older iPhones are worse overall, and it’s not clear that switching to an Android phone would help in this regard.

Previously:

Thursday, January 11, 2024

BBEdit 15

Bare Bones Software (Mastodon):

A new Minimap palette shows a high-level overview of the active text document. This facilitates visualization of the document’s overall structure, as well as navigation within larger documents.

I love the minimap in recent versions of Xcode, but I’ve not found myself using the BBEdit version much. It’s in a floating palette, which gives you more flexibility with the size and shape, but it requires more window management. It lacks the section labels, Git status, and hover functionality of the Xcode implementation.

Building on the concept of the Grep Cheat Sheet used in its Find windows, BBEdit 15 introduces the ability to create and use your own Cheat Sheets, which are functional references for text markup and editing.

This is great, and I like how they support syntax highlighting. The file format is documented here.

BBEdit 15’s joins BBEdit’s unique “worksheet” interface to ChatGPT, so that you can have conversations with ChatGPT right in BBEdit itself — no application switching or awkward copy/paste from a web browser. Each chat worksheet that you create maintains its own history, so that you can easily refer back to past conversations, or keep a conversation going across an extended period of time.

Integrating this as worksheets feels very natural, and it seems to work well. I will admit that haven’t found ChatGPT to be very useful in my development. I mostly ask it questions that I don’t know the answers to, and it either doesn’t know either or gives absurdly incorrect results. I need to figure out how to use it as an assistant to do what I could already do myself—but faster.

BBEdit project documents gain an awareness of the “workspace root”, which for a given project is the “most important directory” in the project.

[…]

BBEdit’s unique “Text Factory” feature has been reimagined for version 15. All available transformations are listed for easy access, and assembling a factory requires fewer steps. A new “Run Unix Command” operation improves factory portability by storing the Unix command in the factory itself.

From the more detailed release notes:

The “Text Merge” command on the Text menu provides a new way to transform text in files, by employing a file containing a Grep search and replace pattern along with a table of substitution values.

[…]

The Git menu gets commands to push and pull the current branch to/from its remote.

[…]

When choosing the “Open Recent” item on the File menu (directly), rather than anything off the submenu, BBEdit will open a panel listing all recent items and currently open documents. You can use the search field at the top to filter the results and find the desired item. (You can also select and open multiple items in the list, if desired.)

In my view, the new Open Recent window is the standout feature of BBEdit 15. It basically works like Open File By Name except that it’s for recent documents. This lets me browse a shorter list of recent files, whose names I either might not remember or might not be able to easily find via a global search. I can search to narrow the list and navigate the results list with the keyboard to open one or more documents. I’ve used LaunchBar for this in the past, but the BBEdit-specific window is faster and more convenient. I recommend assigning the Command-Control-O keyboard shortcut and going to the BBEdit settings to increase the number of recent documents remembered.

When “Grep” is turned on in the Find and Multi-File Search windows, BBEdit will validate the pattern as you edit it. An indicator button will display the validation status of the pattern; you can click on it for information about the specific error.

[…]

The navigation bar for text documents includes an item which lists recent SCM revisions (git and/or Subversion) as well as recent file system recorded versions of the file. This can be used as a shortcut to compare a file against a recent revision.

[…]

The Sidebar preferences have a setting: “Allow keyboard focus in sidebar lists”.

[…]

Differences windows gain keyboard navigation in the sidebar, which was not previously possible.

These are all great.

The “Expert Preferences” section of the Preferences window lists available expert preferences (which can be manipulated from the command line), their current values, and their default values. Preferences which have been changed appear in boldface in the list.

[…]

The bbedit command-line tool gets a new argument: --preview. You can use this to open a preview on an existing file, remote URL, or pipe data without opening a document.

[…]

Added “Cut Line”, “Cut Line & Append”, “Copy Line”, and “Copy Line & Append” to the Edit menu, as modifiers of Cut/Copy. (The factory defaults are Control for the non-append versions, and Control-Shift for the append versions.) These can be used to perform the respective operations on a line without needing to select it.

I like these additions, too.

The price has increased from $50 to $60 (or $4/month or $40/year in the Mac App Store), with upgrades still at $30.

See also: Jason Snell.

Previously:

Update (2024-01-23): See also: Adam Engst and Hacker News.

AirDrop Log Dehashing

Lawrence Abrams (MacRumors):

A Chinese state-backed research institute claims to have discovered how to decrypt device logs for Apple’s AirDrop feature, allowing the government to identify phone numbers or email addresses of those who shared content.

[…]

To get around censorship in the country, people turned to Apple’s AirDrop feature, which doesn’t require cellular service and uses Bluetooth and a private Wi-Fi network to send images and photos between devices.

[…]

The research institute says the sender’s device name, email address, and mobile phone number are hashed in the iOS device logs.

Using rainbow tables, the researchers claim to have been able to dehash these fields to gain access to the sender’s information.

It’s not clear to me why this information needs to be logged at all, nor why the government would want to alert Apple to fix this.

Matthew Green:

To make a long story short: a Private Set Intersection protocol takes a set of strings from the Sender and a set from the Receiver. It gives one (or both parties) the intersection of both sets: that is, the set of entries that appear on both lists. Most critically, a good PSI protocol doesn’t reveal any other information about either of the sets.

[…]

For a variety of mildly defensible reasons — which I will come back to in a moment — Apple does not use a secure PSI protocol to solve their AirDrop problem. Instead they did the thing that every software developer does when faced with the choice of doing complicated cryptography or “hacking something together in time for the next ship date”: they threw together their own solution using hash functions.

[…]

A second important issue here is that the hash identifiers are apparently stored in logs within the recipient’s phone, which means that to obtain them you don’t have to be physically present when the transfer happens. You can potentially scoop them out of someone else’s phone after the fact.

[…]

Hence there is a legitimate question about whether it’s politically wise for Apple to make a big technical improvement to their AirDrop privacy, right at the moment that the lack of privacy is being viewed as an asset by authorities in China. Even if this attack isn’t really that critical to law enforcement within China, the decision to “fix” it could very well be seen as a slap in the face.

Previously:

Update (2024-01-30): Jason Snell:

To a certain degree, Apple relies on stories like this staying under the radar. Inaction can be presented as either ignorance or tacit compliance, whereas taking steps to improve the privacy of AirDrop might be construed by Beijing as a challenge to its authority—a stick situation for Apple, given how much it relies upon its relationship with the country for the production of its devices. But Apple also makes privacy a huge selling point of its devices—a subject of ad campaigns, a highlighted section in virtually every keynote—and the company surely doesn’t want to have to append an asterisk to all of those claims with the footnote “Except in China.”

Sean Lyngaas and Brian Fung (via Hacker News):

Security researchers warned Apple as early as 2019 about vulnerabilities in its AirDrop wireless sharing function that Chinese authorities claim they recently used to track down users of the feature, the researchers told CNN, in a case that experts say has sweeping implications for global privacy.

Displaying Progress Is Hard

Howard Oakley:

When I copied some files from iCloud Drive, instead of seeing a progress indicator reporting that they were being downloaded from iCloud, the dialog claimed that it was “preparing to move” the document in question. These preparations took some considerable time, during which the Finder’s status bar revealed what was actually taking the time: it was “downloading 1 item”, and reported its progress in doing so. For much of that time, the progress bar in the dialog showed that its ‘preparations’ were actually complete.

[…]

What happens when the sparse file can preserve the special format during copying, is that the determinate progress bar assumes the worst, and the full size of the file is used to calculate progress. When the amount of data transferred reaches the sparse file size on the destination, long before the bar has even got to 50%, the copy suddenly completes, apparently after only a small part of the task has been completed, leaving the user as surprised as the Finder must have been.

Unfortunately, there appears to be no way to discover in advance how much data will need to be transferred.

Previously:

Easier Mac Audio App Installs

Paul Kafasis:

As a result of changes Apple made back in MacOS 11, our apps have been stuck with a setup process that’s much more complicated than we’d like. Currently, an annoying restart is required to get going on Intel-based Macs. Setup is even more burdensome on Apple’s newest M Chip-based Macs, with multiple restarts required, as well a change to the Mac’s “Security Policy”. This has been a notable pain point, which comes before a user even has a chance to try the app. It’s been very frustrating for us to not be able to do better for our customers, and there’s no doubt that this has deterred people from using our products.

We’re now very close to removing those obstacles completely. We’ll soon be shipping updates that simplify things immensely. In fact, Airfoil, Audio Hijack and Piezo will feature an installer-free setup that won’t even need your administrator password. Meanwhile, Loopback and SoundSource will use a new audio capture plugin called ARK that won’t require a single system restart. It’s going to be an incredible improvement to our user experience.

Hopefully the new interfaces they’re using are more reliable than MailKit.

Previously:

Wednesday, January 10, 2024

Fixing Continuity Camera

Niléane:

Continuity Camera became a feature that I need to work reliably. Sadly, it doesn’t. Half of the time, apps like Zoom and Discord on macOS could not see the iPhone SE in the list of available cameras. This meant I had to fetch a Lightning cable to manually connect the iPhone. If I was unlucky that day, and that didn’t work, I would have to completely reboot the Mac. If I was really unlucky that day, and even that didn’t work, I would end up joining the call without a camera. Despite meeting all the requirements listed by Apple Support, this problem just kept happening on random occasions.

[…]

Unsurprisingly, I was far from being the only person to encounter this issue with wireless Continuity Camera. I stumbled upon a flurry of Reddit threads and Apple Support discussions opened by people having this problem.

[…]

Logging out from your iCloud account on your Mac is synonymous with hours lost to resynchronizing all your data and settings across your apps. Still, I wanted to try it at least once, to see if it would solve the issues I was having with Continuity Camera, once and for all. Unfortunately, it didn’t.

[…]

In the end, I discovered the strangest fix you could imagine. If Continuity Camera wasn’t working, I realized that if I headed to the ‘Touch ID & Password’ section in System Settings, and toggled the setting to automatically unlock the Mac with the Apple Watch, then Continuity Camera would immediately start working fine again.

However, sometimes this can’t be toggled until the watch has been unpaired and repaired with the iPhone.

Previously:

Mac App Sandboxing Interferes With Drag & Drop

Wade Tregaskis:

Merely inspecting the UTIs in the pasteboard is fine – that doesn’t interfere with anything. So if all you care about is if any kind of file (or folder) is being dragged, you’re set. But if you want to only react to some types of files or folders, you need to know more.

If you ask for the URL – even without actually using it – you trigger some behind the scenes activity involving app sandboxing. This prevents the file being made accessible to your app if & when it actually is dropped into your app.

When things are working correctly, when a file is dragged and dropped onto a receptive view in your app a link to that file is created inside your own app’s container. It’s that link that you actually have access to – the original file cannot be accessed directly. That link seems to persist for a while – perhaps until your app is quit – so once you have it you’re set.

I don’t know why merely peeking at the file path (URL) prevents this link being created, but it does.

Previously:

Apple’s Five App Stores

Manish Singh and Natasha Lomas (via Slashdot):

The iPhone-maker has updated the language pertaining to its risk factors in the fiscal year 2023 Form 10-K filing (PDF), with the revised text presenting a shift from the company’s previous position, indicating a more definitive stance on potential modifications to the App Store policies.

Apple said that future changes could also affect how the company charges developers for access to its platforms; how it manages distribution of apps outside of the App Store; and “how, and to what extent, it allows developers to communicate with consumers inside the App Store regarding alternative purchasing mechanisms.”

[…]

In a report to clients late Tuesday, Morgan Stanley analysts wrote that they believe Apple’s change of language confirms the fact that App Store changes are coming and that Apple will “likely begin 3rd party app stores on device in Europe.”

Hartley Charlton:

Apple today filed a legal challenge against the European Union’s Digital Markets Act ahead of the impending requirement to enable app sideloading on its devices (via Reuters).

[…]

The case is expected to include an argument against the App Store being included on the EU’s list of gatekeeper platforms, which requires app sideloading to be an option to allow users to avoid the App Store if they wish.

Ben Lovejoy (Hacker News):

The DMA applies to what are described as technology “platforms,” and the EU separately defines which company’s products and services fall within this term. Apple’s App Store is one of them.

Not so, said Apple, as the App Store isn’t a single entity. Reuters reports on the argument the iPhone maker yesterday made in a European court hearing.

The European Commission made “material factual errors, in concluding that the applicant’s five App Stores are a single core platform service,” Apple said in its plea to the Luxembourg-based General Court, Europe’s second-highest.

The company in its argument to the EU competition enforcer said it operates five App Stores on iPhones, iPads, Mac computers, Apple TVs and Apple Watches, with each designed to distribute apps for a specific operating system and Apple device.

Apple markets it as a single store, but it does seem that going by the DMA’s criteria only the iOS App Store is large enough to qualify. I guess Apple is trying to minimize requirements on the other stores.

Foo Yun Chee:

Apple’s lawsuit also took issue with the Commission’s designation of its messaging service iMessage as a number-independent interpersonal communications service (NIICS) that prompted an EU investigation into whether it should comply with DMA rules.

The company contends that iMessage is not a NIICS as it is not a fee-based service and it does not monetise it via the sale of hardware devices nor via the processing of personal data.

Previously:

Google Settles Incognito Lawsuit

Simon Sharwood:

A US court filing [PDF] dated December 26 records that Google and the plaintiffs have agreed to a term sheet that, if approved by the judge, will conclude the matter. Those terms of the proposed settlement weren’t disclosed. But the parties seem sufficiently confident a deal will be done that another filing vacates the court date held for the matter, so all concerned can stop preparing for a trial and focus on nailing down the agreement.

Via Nick Heer:

This lawsuit has always seemed pretty dumb to me if you know what “Incognito Mode” is supposed to mean, something which Google spells out when you enable it in Chrome. However, I do think it is telling how much this relies on the fine print of how Google itself defines “incognito” compared to the word’s actual meaning, in a way that sort of reminds me of Tesla’s “Autopilot” and “Full Self-Driving” features.

Previously:

Update (2024-02-01): ABP (via Hacker News):

Following the search engine’s agreement to settle a $5 billion USD privacy lawsuit that accused it of tracking users illegally in incognito mode, it has now updated the disclaimer to reflect the transparency. In its Canary version (Early-access version which allows users and developers to test new features and updates before they are rolled out for everyone), Google now states that data will still be collected even in Incognito mode.

The normal disclaimer which you can see in Incognito mode at the moment is- “Now you can browse privately, and other people who use this device won’t see your activity. However, downloads, bookmarks and reading list items will be saved.” However, in the Canary version, the disclaimer reads, “Others who use this device won’t see your activity, so you can browse more privately. This won’t change how data is collected by websites you visit and the services they use, including Google. Downloads, bookmarks and reading list items will be saved.”

Tuesday, January 9, 2024

Mac Liquid Detection

Filipe Espósito (via Hacker News):

macOS Sonoma 14.1 includes a new system daemon named “liquiddetectiond,” which, as the name suggests, can identify when the computer has been exposed to liquids. More specifically, this daemon runs in the background to collect liquid detection analysis from each USB-C port on the Mac.

[…]

While Apple may eventually implement an alert similar to the one that already exists in iOS, it seems more likely that the data collected by this daemon will be used for technicians to determine whether a Mac is eligible for free repair.

[…]

Of course, that’s just one more way for Apple to know if the Mac has been exposed to liquids. As Apple’s website describes, “Mac laptop computers and some Apple wired and wireless keyboards have Liquid Contact Indicators (LCI) to help determine if these products have been exposed to liquid.”

Previously:

SwiftData Fetching Pending Changes

Keith Harrison:

If you don’t want the pending changes included in the fetch results you should be able to override the default by setting includePendingChanges to false in the fetch descriptor[…] Unfortunately, I don’t seem to be able to get that to work using iOS 17.2 (FB13509125). The pending change is always returned in the results.

It’s interesting that the fetch results are different than with Core Data. It’s not clear whether there’s a bug with propagating in-memory changes to the managed object or whether SwiftData is using its own predicate evaluation for unsaved objects, leading to different performance characteristics and behavior.

The way pending changes interacts with a fetch limit also seems a little odd with SwiftData. […] It seems that SwiftData is including the pending change in the result without taking into account the fetch limit.

And I don’t understand why it’s generating SQL with LIMIT 2 instead of LIMIT 1. These bugs where there’s no error reported and it silently gives you incorrect results are just awful.

Previously:

The Boeing 737 MAX and Alaska Airlines Flight 1282

Luke Bodell (via Hacker News):

In August, the FAA issued an Airworthiness Directive (AD) warning MAX operators about using the engine anti-icing system in dry air. The AD came about following in-flight testing, which found that deploying the anti-icing system for longer than five minutes under specific conditions led to overheating and damage to the inlet cowl.

Boeing states it is working on a “long-term solution” for the problem, which would be rolled out across the entire global Boeing 737 MAX fleet.

The temporary solution is to tell the pilots not to forget to turn off the anti-icer. This is reminding me of the Therac-25 except that, as with Mac and iOS permission prompts, Boeing is setting it up so that any mishaps become the operator’s fault.

The Guardian (via Hacker News):

US regulators have ordered the temporary grounding of 171 Boeing 737 Max 9 aircraft following a cabin panel blowout late Friday that forced a brand-new airplane operated by Alaska Airlines to make an emergency landing.

[…]

A passenger sent the broadcaster KATU-TV a photo showing a gaping hole in the side of the airplane next to passenger seats. The airline said the plane, carrying 174 passengers and six crew members, landed safely.

Evan Smith, who was among those on board, told KATU that a boy sitting in a row with his mother had his shirt sucked off him and out of the plane. “His mother was holding on to him,” he said. “You heard a big loud bang to the left rear. A whooshing sound and all the oxygen masks deployed instantly and everyone got those on.”

Leslie Josephs (via Hacker News):

United Airlines said Monday that it has found loose bolts on door plugs of several Boeing 737 Max 9 planes during inspections spurred when a panel of that type blew out during an Alaska Airlines flight using that type of aircraft last week.

[…]

The National Transportation Safety Board said the accident would have been worse at cruising altitude when passengers and crews are walking around the cabin.

But the accident places fresh scrutiny on Boeing, which has spent years trying to clean up a host of quality defects, while also ramping up aircraft production, including of the 737 Max. CEO Dave Calhoun has spent months trying to assure airlines, investors and financial analysts that the company is improving its supply chain and working to resolve its quality problems.

Seanathan Bates (via Hacker News):

Found an iPhone on the side of the road… Still in airplane mode with half a battery and open to a baggage claim for #AlaskaAirlines ASA1282 Survived a 16,000 foot drop perfectly in tact!

When I called it in, Zoe at @NTSB said it was the SECOND phone to be found. No door yet😅

And no auto-lock.

Seanathan Bates:

In case you didn’t see it, there was a broken-off charger plug still inside it! Thing got yanked out the door

Craig Poxon:

The other end of the cable?

Rhett Allain (2011):

This isn’t really breaking news, but there was this story of a guy that dropped his iPhone 4 out of a plane. The man was quite happy to find his iPhone unharmed. It was partially protected by Griffin case, but still this got me thinking. Was this a miracle or not so crazy?

He estimates the terminal velocity at 27.2 mph.

Wes Davis:

The takeaway from the story is that a phone can only go so fast, and how much the landing surface gives in reaction to the falling phone is important — ground in a wooded area will displace a lot more, accepting and spreading the impact more than, say, concrete. Plus, the iPhone 4, like the phone that dropped from Friday’s flight, was in a case, increasing its odds of survival.

Reuters (via Hacker News):

The cockpit voice recorder data on the Alaska Airlines Boeing 737 MAX 9 jet which lost a panel mid-flight on Friday was overwritten, U.S. authorities said, renewing attention on long-standing safety calls for longer in-flight recordings.

National Transportation Safety Board (NTSB) chair Jennifer Homendy said on Sunday no data was available on the cockpit voice recorder because it was not retrieved within two hours - when recording restarts, erasing previous data.

[…]

The U.S. FAA has previously rejected the NTSB’s call for retrofitting aircraft with new cockpit voice recorders, saying the costs would be significant at $741 million versus $196 million under incremental upgrades it proposed.

Several pilot groups oppose longer recordings.

“(It) would significantly infringe upon the privacy rights of pilots and other flight crew members, as well as drastically increase the likelihood that CVR recordings will be misused or disseminated without authorization,” the union representing pilots for Atlas Air told the FAA last month.

Even 2 hours would have been enough if there had been a way to automatically halt the auto-erasure in the event of a safety issue occurring.

See also: Hacker News.

Previously:

Update (2024-01-10): Zeynep Tufekci:

We’ve since learned all this may not have been a complete surprise. The N.T.S.B. told reporters that a pressurization warning light in this plane had come on three times before, at least once in flight, during its short time in service. The maintenance crews had checked and cleared the light, but Alaska Airlines thankfully restricted the plane to flying over land so it could return rapidly to an airport if it came on again. Whew. If the door had blown out at high altitude and over the ocean we may not have had the same happy ending.

PBS:

The jet involved in Friday’s blowout is brand-new, having been put in service in November. After a cabin-pressurization system warning light came on during three flights, the airline stopped flying it over the Pacific to Hawaii. Some aviation experts questioned why Alaska continued using the plane on overland routes until it figured out what was causing the pressurization warnings.

Homendy said Monday, however, that NTSB has seen no evidence to link the warnings with the blowout of the door plug.

Via John Gruber:

There may be no evidence yet, but what are the odds that a door plug that blew off a brand-new jet mid-flight — in a fleet of planes they’ve now discovered have loose bolts holding those doors in place — wasn’t to blame for the cabin-pressurization warnings? And, even if it’s true that the pressurization warnings were unrelated to last week’s incident, that’s even worse for Boeing — that would mean they have a problem with these door plugs and an as-yet undetermined other problem.

John Gruber:

But the phone had no passcode[…] I find that almost as crazy as the phone surviving a 16,000-foot drop, but I’d probably be shocked to know how many people rock the no-passcode lifestyle. I just don’t get it, given how Face ID makes it feel like you don’t have a passcode.

[…]

(Judging by this thread, it’s also apparently quite common for people to turn off Auto-Lock in Settings → Display & Brightness.)

Update (2024-02-06): Liz Alderman (via Slashdot):

In the long-running duel between the two aviation rivals, Airbus has pulled far ahead.

Gareth Corfield (2020, via Hacker News):

Boeing’s 737 Next Generation airliners have been struck by a peculiar software flaw that blanks the airliners’ cockpit screens if pilots dare attempt a westwards landing at specific airports.

Gareth Corfield (2020, via Hacker News):

The US Federal Aviation Administration has ordered Boeing 787 operators to switch their aircraft off and on every 51 days to prevent what it called “several potentially catastrophic failure scenarios” – including the crashing of onboard network switches.

Reddit (via Hacker News):

Kayak’s New Flight Filter Allows You to Exclude Aircraft Models From Your Results

Gary Leff (via Hacker News):

A reader at respected airline industry site Leeham News offered a comment that suggests they have access to Boeing’s internal quality control systems, and shares details of what they saw regarding the Boeing 737 MAX 9 flown by Alaska Airlines that had a door plug detach inflight, causing rapid decompression of the aircraft.

The takeaway appears to be that outsourced plane components have so many problems when they show up at the production line that Boeing’s quality control staff can’t keep up with them all.

David Koenig (via Hacker News):

The leaders of United Airlines and Alaska Airlines took turns Tuesday blasting Boeing over manufacturing problems that have led to the grounding of more than 140 of their planes, with United’s CEO saying his airline will consider alternatives to buying a future, larger version of the Boeing 737 Max.

Ryan Beene and Julie Johnsson (via Hacker News):

Boeing Co. faces a major commercial setback after the US Federal Aviation Administration froze planned production increases for its 737 Max aircraft, a move that interrupts the planemaker’s growth ambitions at a time of surging demand and intensifying competition with Airbus SE.

Patrick Smith:

The nose wheel of a Boeing 757 jet fell off and rolled away while the plane was waiting on the runway for takeoff clearance, with almost 200 people on board.

Delta Air Lines Flight 982 was moments away from taking off from Hartsfield-Jackson Atlanta International Airport in Atlanta on Saturday when the wheel “came off and rolled down the hill,” according to a preliminary report from the Federal Aviation Administration published Monday.

Kyra Dempsey:

A just organizational culture recognizes that a high level of operational safety can be achieved only when the root causes of human error are examined; who made a mistake is far less important than why it was made.

David Roth:

As someone who has been on four different Boeing-made airplanes in the last week, I can attest to the limits of this fantasy in the face of the prospect that a door on your airplane—the production of which was outsourced and subcontracted by a flub-prone duopoly to save some money; the installation and inspection of which was overseen by an overworked and multiply pressured person working in a conflicted and careless system, also to save some money—might blow off at altitude. There are some problems an individual is not equipped to fix, and “airplane now has moonroof” is one of the classics, there.

[…]

There’s a bit in Maureen Tkacik’s comprehensively damning 2019 feature about Boeing in The New Republic that I keep coming back to, both here and in general. The central tension of that story is about how, as a former Boeing physicist told Tkacik, “a long and proud ‘safety culture’ was rapidly being replaced… with ‘a culture of financial bullshit.’”

[…]

The erosion of Boeing’s former, engineer-driven culture and the rise of its ravening and reckless financial-capitalism one can be traced, in Tkacik’s story, in part to Boeing’s 1997 purchase of the failing aerospace company McDonnell Douglas. The merger was more or less the corporate equivalent of inviting a vampire to cross your threshold. The heedless, shortsighted cost-cutting and contingency of the smaller and more dysfunctional company took hold at the larger and more effective one; little by little, and then all at once, Boeing got to work on making its products worse—as much worse as they could be without tanking the stock price, and occasionally, tragically, even worse than that.

Angus Whitley and Julie Johnsson (via Hacker News):

Boeing Co. found more mistakes with holes drilled in the fuselage of its 737 Max jet, a setback that could further slow deliveries on a critical program already restricted by regulators over quality lapses.

The latest manufacturing slip originated with a supplier and will require rework on about 50 undelivered 737 jets to repair the faulty rivet holes, Boeing commercial chief Stan Deal said in a note to staff.

Update (2024-02-14): David Koenig (via Slashdot):

The new chief of the Federal Aviation Administration said Tuesday that his agency is midway through a review of manufacturing at Boeing, but he already knows that changes must be made in how the government oversees the aircraft manufacturer.

FAA Administrator Michael Whitaker suggested that Boeing — under pressure from airlines to produce large numbers of planes — is not paying enough attention to safety.

See also: How Boeing Lost Its Way (via Hacker News).

Is Objective-C BOOL a Boolean Type?

Juan Cruz Viotti:

While BOOL might look trivial, its definition is rather complex. It depends on which Apple platform and architecture you are targeting, which can result in unexpected behavior.

[…]

Recently, I stumbled into a case where for the same code, macOS Intel and macOS Apple Silicon invoked different overloads.

[…]

As we can see, the BOOL type is either an alias to bool or an alias to signed char depending on the value of the OBJC_BOOL_IS_BOOL preprocessor define.

[…]

More than a decade later, as part of the C99 specification, the C language released support for boolean values through the <stdbool.h> header. Then, later versions of the Objective-C runtime started conditionally aliasing BOOL to the new bool type in modern Apple products. It is likely that older platform and architecture combinations still use signed char for legacy reasons.

Update (2024-01-10): Greg Parker:

BOOL’s type and sign-edness affect Objective-C type encodings, which are used by NSArchives and Distributed Objects and others, which affects binary and data file compatibility. BOOL’s type also affects C and C++ function calls and data structures. It’s not easy to change.

See also: Hacker News.

Monday, January 8, 2024

Apple Vision Pro Available February 2

Apple (MacRumors, Hacker News):

Apple today announced Apple Vision Pro will be available beginning Friday, February 2, at all U.S. Apple Store locations and the U.S. Apple Store online. Vision Pro is a revolutionary spatial computer that transforms how people work, collaborate, connect, relive memories, and enjoy entertainment. Vision Pro seamlessly blends digital content with the physical world and unlocks powerful spatial experiences in visionOS, controlled by the most natural and intuitive inputs possible — a user’s eyes, hands, and voice. An all-new App Store provides users with access to more than 1 million compatible apps across iOS and iPadOS, as well as new experiences that take advantage of the unique capabilities of Vision Pro. Pre-orders for Apple Vision Pro begin Friday, January 19, at 5 a.m. PST.

I still think it looks technically impressive, but I don’t know what I’d do with one.

Matthew Cassinelli:

Their headline features mention “an infinite canvas for productivity,” “the ultimate entertainment experience,” and “new gaming experiences” – the three key areas I plan to use the device myself, particularly when paired with macOS as a monitor. Apple also mentioned the Band on the device for the first time, which will likely be necessary to comfortably use the device for all three of these tasks for more than a short period.

Viewing Memories and interacting with other Vision Pro users’ Personas also sound like fascinating experiences, but I have a feeling those will be more valuable over time and a bit less so immediately at launch.

[…]

In many ways, I’ve spent the last 10 years working on Workflow and now Shortcuts to build out robust voice interactions for almost every part of my computing experience – now, there’s a truly hands-free device on the way that’s deeply integrated with Shortcuts by default.

Benjamin Mayo:

Good surprise: Top strap option included in the box.
Bad surprise: 256 GB base storage.

Joe Rossignol:

Apple listed some items that will be included with the Vision Pro, including a Dual Loop Band, an Apple Polishing Cloth, an external battery pack, a USB-C power adapter, and more.

John Gruber:

It’s new territory for a device to cost more if you require corrective lenses, but it’s the nature of Vision Pro that it will not fit over glasses, so there’s no way around this. People accustomed to $10 readers from the drug store may be surprised at these prices, but these $100–150 seems fair for high-quality lenses. I suspect, though, that there will spring a cottage industry for lower-priced third-party lens inserts.

[…]

Also unclear at the moment: How many different Light Seals are available? What app will online buyers users to scan their faces for sizing? How much will extra Light Seals (for additional users) cost?

And how much will the storage tiers above 256 GB cost?

Tim Hardwick:

Apple has revealed that the external battery supports up to 2.5 hours of 2D video playback, half an hour more than it offers in “general use” on a single charge.

Dan Moren:

One big question mark is the retail experience, which Apple Store employees are being trained on now, according to reports from Bloomberg’s Mark Gurman and others. The Vision Pro is perhaps the most challenging product from a store experience perspective, and it will be fascinating to see exactly how the company handles the sales and fit process—especially for physical stores versus online.

Jack Wellborn:

Since June, I have been thinking of Vision as being more Mac-like, in part because both were built for multitasking. The more I think about it however, the more I think that Vision is really a rethinking of how multitasking iPad apps should work.

[…]

My conclusion was that the only way Apple could deliver an information rich multitasking experience with iPads Pro would be better support for large screens.

[…]

Even without any modifications, windowed apps that feel cramped in Stage Manager on iPad will suddenly feel much more natural on Vision because they can be maximally information rich without having to be information dense.

Previously:

Update (2024-01-09): See also: Apple’s “Get Ready” launch ad (via John Gruber).

Xcode 15.2

Apple (downloads):

Xcode 15.2 includes SDKs for iOS 17.2, iPadOS 17.2, tvOS 17.2, watchOS 10.2, macOS Sonoma 14.2, and visionOS. The Xcode 15.2 release supports on-device debugging in iOS 12 and later, tvOS 12 and later, and watchOS 4 and later. Xcode 15.2 requires a Mac running macOS Ventura 13.5 or later.

[…]

Developing for visionOS requires a Mac with Apple silicon.

Ed Sánchez:

After 9 years, today was my last day at Apple. It’s been an incredible journey. 5 of those years I spent at Xcode and it’s changed my life. I made a little video with some of my favorite features and things I helped with!

Previously:

Friday, January 5, 2024

Clicks Hardware Keyboard for iPhone

Juli Clover (Hacker News):

BlackBerry fans that miss having a physical keyboard on their smartphones may want to check out Clicks, a company that has developed a keyboard case that’s designed for the iPhone 14 Pro and iPhone 15 Pro models.

Clicks is showing off its keyboard accessories ahead of CES, and the iPhone 14 Pro version of its keyboard will be ready to ship out in February. The keyboard is priced at $139, with an iPhone 15 Pro version coming in mid-March and a $159 iPhone 15 Pro Max version set to release in the spring.

The Clicks Creator Keyboard is available in “BumbleBee” yellow and “London Sky” gray, and it adds a small physical keyboard to the bottom of an iPhone. Clicks says that the case design is meant to “feel like a natural extension” of the iPhone, and the keys have been designed for ideal click resistance and feedback for fast and accurate typing.

I am one who still doesn’t like software keyboards—and likes clicky keyboards—but it already feels like my iPhone 15 Pro is too big, so I can’t imagine adding this to it unless I were away from my Mac a lot more. I hope it’s a success, though.

Ben Schoon:

By eliminating the on-screen virtual keyboard and moving that to a physical keyboard below, usable space on the iPhone is nearly doubled, Clicks says.

John Gruber:

I don’t know how much I’ll wind up using it but it looks fun, useful, and clever — and I’m just a sucker for upstart indie hardware projects. Clicks is even a great name. There’s no Bluetooth involved — it connects via Lightning or USB-C, just like any hardware keyboard can via a cable. If you’ve never connected a hardware keyboard to an iPhone before, you might be surprised how many keyboard shortcuts there are (Command-Space for Spotlight, Space and Shift-Space for paging down and up in Safari, Command-H to go to the Home screen, and more.)

Adam Chandler:

I’ve been an iPhone user since 2007 so 17 years and in those 17 years, I still cannot type as fast as I did on my Blackberry/Treo/Blackjack/RAZR. I really STILL miss physical buttons and detest software keyboards so much that I carry an iPad w/ keyboard with me everywhere and do all texting and messaging on an iPad. my iPhone is purely a consumption device where I triage messages and emails.

I really want this thing.

See also: John Gruber.

Update (2024-02-01): Ben Schoon:

For a case built for this express purpose, the keys are crucial to get right, and Clicks has nailed it, I think. The keys are rounded and have a bit of space in between each one, but the layout overall feels familiar and well done. The keyboard layout is also specifically designed to be really similar to the default iOS keyboard, which makes it feel all the more familiar.

Each key is also backlit and has an excellent tactile response. That’s the aspect I was most concerned about, and while some of the pre-production models were a little rough, the final version that I was able to test during my hands-on (not pictured) felt perfect. It was clicky and tactile without being loud or too hard to press.

[…]

In active use, I didn’t really find the size to be a problem, at least on the smaller iPhone size, but it makes an iPhone Pro Max feel quite unwieldy.

Update (2024-02-20): Adrian Schönig:

My Clicks keyboard just arrived and after just a few minutes playing with it I already love having keyboard shortcuts on my iPhone. Multi-item selection by holding the command key is also a time saver.

Automatic Grammar Agreement

WWDC 2021:

Discover how the latest updates to Foundation can help you improve your app's localization and internationalization support. Find out about the new AttributedString, designed specifically for Swift, and learn how you can use Markdown to apply style to your localized strings. Explore the grammar agreement engine, which automatically fixes up localized strings so they match grammatical gender and pluralization.

WWDC 2023:

Discover how you can use automatic grammatical agreement in your apps and games to create inclusive and more natural-sounding expressions. We’ll share best practices for working with Foundation, showcase examples in multiple languages, and demonstrate how to use these APIs to enhance the user experience for your apps.

George Rhoten (video):

Formatting messages to display in a user interface has improved in capability over the years. For example, CLDR and ICU have provided the ability to format dates and numbers for various languages and regions. They have provided the capability to choose the correct singular, dual and plural forms of phrases for various languages. They have provided the capability to choose the correct grammatical gender or natural gender of phrases for various languages. Much of this functionality works well when the set of words used in the message are known when translating into another language. Unfortunately, the available message formatting frameworks fail to create grammatically correct sentences when messages reference user defined vocabulary. We present Automatic Grammar Agreement - a feature which was developed to overcome these challenges. It allows messages to have grammatically correct nouns, adjectives, articles and prepositions with minimal input from localizers.

Via Marcin Krzyzanowski:

Automatic Grammar Agreement deserves detailed documentation. I learned waaay more from (random) presentation for Unicode Consortium than from Apple dev rel/docs

HEY Calendar Rejected From the App Store

David Heinemeier Hansson:

We’ve spent the last year tackling the number one request for our email service HEY.com: Adding a calendar!

David Heinemeier Hansson (Hacker News, 9to5Mac):

Apple didn’t even bother to give us a reason this time! I mean, at least they’re not saying it’s definitive (yet??), but it’s just so fucking tiring to deal with this bullshit. This isn’t even a new service! It’s a FREE addition to the existing hey.com you let in!

All I wanted for Xmas this year was for Apple to stop fucking with developers, trying to turn them upside down at every junction to shake them down. I love Apple hardware, I hella respect Apple Safari, but this monopoly App Store bullshit has got to stop.

[…]

This is why I’m pushing so hard for PWAs! We’re betting all of once.com on that strategy. No native apps, just the very best PWAs you can possibly find. It’s why I have PWA tech as my #1 objective for Rails 8. We need to collectively break free from this bullshit.

David Heinemeier Hansson:

Apple just called to let us know they’re rejecting the HEY Calendar app from the App Store (in current form). Same bullying tactics as last time: Push delicate rejections to a call with a first-name-only person who’ll softly inform you it’s your wallet or your kneecaps.

Since it’s clear we’re never going to pay them the extortionate 30% ransom, they’re back to the bullshit about “the app doesn’t do anything when you download it”. Despite the fact that after last time, they specifically carved out HEY in App Store Review Guidelines 3.1.3 (f)!

That guideline says:

3.1.3(f) Free Stand-alone Apps: Free apps acting as a stand-alone companion to a paid web based tool (eg. VOIP, Cloud Storage, Email Services, Web Hosting) do not need to use in-app purchase, provided there is no purchasing inside the app, or calls to action for purchase outside of the app.

The plain reading of this is that the items in parentheses are examples, not an exhaustive list.

But the whole “the app doesn’t do anything” isn’t even in the formal guidelines!

And, anyway, I thought they satisfied that last time by offering free, temporary accounts.

Jason asked them on the phone: “If we just put all these features in the existing app, is that ok?”. Answer: Yes. So Apple thinks separate apps for iCloud is better for users, but doesn’t want competing services like HEY to be able to do the same? What? Why?!

And why do huge companies like Salesforce, JPMorgan, Netflix or Google get to have apps “that doesn’t do anything”, but if you’re a small software maker like us, you can’t?

drunknbass:

I built a system that tracked the app reviewers test sessions because we got tired of playing telephone with app review being of no help. Could watch what they were doing and infer what they actually wanted.

Douglas Fischer:

Sometimes I think it must be easier to handle a room full of teenagers then chat with this apple team. They can’t handle even very basic conversations where they clearly are wrong.

I can remember a lot of times when I pointed mistakes in their own screenshots. They even sent me pictures of another app to justify rejecting my app.

Probably the worst part of being on Apple platform.

Lon Baker:

This is why all my future products will be PWA first.

I’ve dealt with the Apple BS for a decade, in minor ways compared to this.

It is why I have an Android phone next to my iPhone — never know when an app is held hostage or worse yanked from the AppStore.

Jiri:

It’s as if a great OS was held hostage by its creators compared to a terrible OS being super-friendly.

I’m not sure that Android is terrible or that Google is super-friendly, but it does seem like Apple is holding back its platforms.

Alex Russell (via Hacker News):

This is the backdrop to the biggest app store story nobody is writing about: on pain of steep fines, gatekeepers are opening up to competing browsers. This, in turn, will enable competitors to replace app stores with directories of Progressive Web Apps. Capable browsers that expose web app installation and powerful features to developers can kickstart app portability, breaking open the mobile duopoly.

Previously:

Update (2024-01-09): Amrita Khalid (Slashdot):

Following the [2020] saga with Hey, Apple made a carve-out to its App Store rules that stated that free companion apps to certain types of paid web services were not required to have an in-app payment mechanism.

David Heinemeier Hansson:

After spending 19 days to review our submission, causing us to miss a long-planned January 2nd launch date, Apple rejected our stand-alone free companion app “because it doesn’t do anything”. That is because users are required to login with an existing account to use the functionality.

This is a ridiculous charge. The App Store is filled with high-profile applications that require an existing service account and simply presents a login screen when first launched. Here are just four[…]

Most notably, Google Calendar seems to do exactly what Hey was rejected for.

Jason Fried:

When Apple forces companies to offer In App Purchases in order to be on their platform, they also dictate the limits to which you can help your customer.

[…]

Let’s say someone signs up for HEY on an iPhone, pays with Apple’s IAP system, and then decides to switch to an Android phone. Billing is entirely messed up now. They can’t update their credit card through the HEY app on Android because their billing info is stored with Apple. And we can’t help them. Who wins there? Apple wins. This creates immense lock-in when all your service subscriptions are tied to a single platform. If you change your phone, do you now also have to change your email address?

[…]

When you think about the big picture of a complete customer relationship, in app purchases are one of the most hostile customer experiences I’ve seen. Sure, the purchase part is relatively easy (most modern purchase flows are these days), but that’s where Apple stops. We end up with our hands tied behind our backs. Unable to help customers to our own high standards because Apple won’t let me, or my employees, do our jobs.

David Heinemeier Hansson (tweet):

So here’s what we did to comply with the “it has to do something” bullshit. We created a dedicated tribute to Apple’s History right into the app, which you can use if you don’t have an account with the HEY email service.

[…]

So now the app “does something” when you download it. Despite the fact that this requirement exists nowhere in the Apple App Store Guidelines. Despite the fact that the store is chockfull of apps that also doesn’t “do anything” without a login.

John Gruber:

It seems bonkers to me that after all the bad publicity that befell Apple in June 2020 over Apple’s rejection of the Hey email app, that they’d veto a Hey companion app — that requires the exact same type of account as Hey email — for the exact same reasons. They should have just let it through, for the risk of bad publicity alone.

[…]

The stakes for Apple are much higher today than they were in 2020. The last thing Apple wants is a news narrative along the lines of “More Bullshit From Apple Trying to Squeeze Developers Into Giving Them a Cut of Revenue When the Developers Simply Want to Sell Subscriptions Directly to Customers Over the Web”. But by rejecting Hey Calendar, they seem to be inviting such a narrative.

I just don’t get it. Apple has nothing to gain by this — nothing, not a cent — but a lot to lose.

They just can’t help themselves. Meanwhile, I just received an e-mail from Apple:

Apple Vision Pro will have a brand-new App Store, where people can discover and download all the incredible apps available for visionOS. Learn everything you need to know to prepare and submit your visionOS apps to the App Store.

We can’t wait to see what you have in store.

David Heinemeier Hansson:

Apple approved the HEY Calendar!! It’s now available for download in the @appstore. Ridiculous it needed this level of awareness/pressure, but I’m so happy for our iOS team to see their work through the weekend pay off in full.

[…]

Above all, I just wish Apple would stop acting like this. Codify what it actually takes to get approved in the App Store Guidelines. If login-wall apps must have a demo mode or whatever, say so! Then enforce it equally and consistently! Don’t make us guess and grief like this.

And, yes, I also do wish that @TheJusticeDept get on with their case, so we can have the courts clarify what should be done with about this monopoly power.

Previously:

Update (2024-01-10): David Heinemeier Hansson:

I’ll admit it was a bit cheeky to make our new HEY Calendar app “do something” by including Apple’s own history as a preview for people who don’t have an account. And I didn’t give the gambit better than 30% odds of succeeding, but lo and behold, it did!

[…]

There’ll always be a legion of Apple fans to defend every abusive tactic the company employs, but there absolutely is also a huge tribe of developers who recognize monopoly bullshit when they see it. The loud, impressive support from this group really helped us push through this second round of nonsense.

Stephen Hackett:

For each of my three Kickstarters, I’ve included digital versions of the highlighted dates for people to import into their calendar apps.

[…]

To be clear, from these screenshots, it doesn’t seem like HEY copied my direct work or research, and I only came across this after someone sent me a link to DHH’s tweets.

[…]

It’s a real bummer to feel like I’ve been ripped off by a much bigger company, seeing them pitch something I’ve worked hard on as a free feature in their app. There’s some irony there.

Eric Schwarz:

Apple isn’t blameless in this, with a famously opaque and confusing App Store review process. However, Hansson should have learned that an app has to do something when you’re not logged in the first time he tangled with Apple over Hey’s email client.

There’s no reason he should have learned that, because (1) the so-called “do something” rule is not actually written in the guidelines, and (2) after the previous tangle, Apple revised the guidelines to specifically permit free clients for Web services like HEY Calendar.

Nick Heer:

That is the only logical explanation. After all, what rule would permit a free frontend for a paid email service, but not for a calendar?

Now we’re back in a muddle because Apple seemingly relaxed and clarified the guidelines but is actually still using a hidden rulebook.

Taxatio Rejected From the App Store

Jesse Squires:

Taxatio is a universal app for iOS and macOS. I submitted the same update (version 1.3.0) for both platforms on December 30. The iOS app was accepted within a few hours, which was excellent. However, the macOS update was delayed for a ridiculous reason, after waiting to be reviewed for three entire days.

It is important to note — and I cannot stress this enough — the iOS app and macOS app are nearly identical. They are SwiftUI apps with the exact same functionality and they share 90 percent of their code. The metadata in the App Store for each is exactly the same, the only exception is the screenshots. So, it was curious to me how one could be approved within hours while the other was waiting to be reviewed for multiple days — ultimately, only to be rejected.

They didn’t like the release notes mentioning which iOS versions were supported for the universal app.

Not to mention, Apple actively encourages developers to support universal purchases for apps available on their platforms since they started supporting this in 2020. I do not think that mentioning OS support changes for a universal app is “not relevant” and I certainly do not think it should result in a rejection. It’s harmless.

[…]

Second, while I appreciate Apple’s new approach to allowing apps to be approved for minor “violations” without having to resubmit, it does not work well in practice (obviously). In 2020, Apple announced “for apps that are already on the App Store, bug fixes will no longer be delayed over guideline violations except for those related to legal issues. Developers will instead be able to address the issue in their next submission.” (Emphasis mine.) This sounded great in 2020, but the problem is that my app release was still delayed.

Previously:

Thursday, January 4, 2024

Niklaus Wirth, RIP

Bertrand Meyer (Hacker News, Slashdot, Reddit):

We lost a titan of programming languages, programming methodology, software engineering and hardware design. Niklaus Wirth passed away on the first of January. We mourn a pioneer, colleague, mentor and friend.

David M Williams:

Wirth is well-remembered for his pioneering work in programming languages and algorithms. For these achievements, he received the ACM Turing Award in 1984, inducted as a Fellow of the ACM in 1994, and a Fellow of the Computer History Museum in 2004.

They include, among many, being chief designer for the programming languages Euler (1965), PL360 (1966), ALGOL W (1968), Pascal (1970), Modula (1975), Modula-2 (1978), Oberon (1987), Oberon-2 (1991), and Oberon-07 (2007).

Of these, perhaps the best-known and most used is Pascal. It was the major teaching language of introductory Computer Science courses well until the 1990s when Java, and later Python, began to take over.

Mike James:

Pascal was a language that was designed specifically for teaching good programming practice.These were more innocent times and object oriented programming had not taken hold. What mattered was getting away from the unstructured mess of assembler and Fortran to a modern implementation of structured programming. Pascal, as first introduced, was a vehicle to write structured code - it had control structures that eliminated the need to use the goto. Today it looks fairly standard, but at the time many programmers hated its over-constrained fussiness. Yes, there was a big anti-structure contingent. We have come a long way since then.

So too was it with his next language, Modula. The buzzword of the time was structured-modular programming and Modula pushed further into the encapsulation of code into modules which interacted in controlled ways. This approach developed evantually into encapsulation within the object-oriented paradigm.

Pascal was a huge sucess in the sense that most university Computer Science departments adopted it as their main teachning language. This was a golden age because they had a language which was built to make what they were teaching clear. Compare this to todays mess of different languages each with flawed academic credentials. However Pascal only took off in the wider world when Borland introduced the world to Turbo Pascal, a much more capable and practical programming enviroment that found in the original.

Jeff Dean:

Pascal was the first language I used seriously (initially on the UCSD p-System and later via Turbo Pascal), and I got my hands on this great book that he wrote when I was in middle school.

I also love the anecdote when asked about how to pronounce his name:

“Whereas Europeans generally pronounce my name the right way (‘Ni-klows Wirt’), Americans invariably mangle it into ‘Nick-les Worth’. This is to say that Europeans call me by name, but Americans call me by value.”

See also: Introduction to Macintosh Pascal, An Introduction to Programming Using Macintosh Pascal.

Previously:

Update (2024-01-05): See also: Association for Computing Machinery, John Carmack, Tim Sweeney.

Update (2024-01-09): J. B. Rainsberger:

I’ve been reading Kent Beck’s writing on Substack and on the occasion of the death of Niklaus Wirth, he shared part of a conversation he’d had with the professor when Kent had arranged to sit next to him on the flight home from a conference they’d both spoken at.

Extreme Programming was just starting to crackle & pop, so I’m sure I was a bit over-enthusiastic. After I had given an impassioned explanation of incremental design & refactoring, he paused, looked at me with those eyes, and, “I suppose that’s all very well if you don’t know how to design software.” Mic. Drop.

Update (2024-02-06): Liam Proven:

Wirth is justly celebrated as the creator of the Pascal programming language, but that was only one step in a series of important languages and research projects. Both asteroid 21655 and a law of computer design are named after him. He won computer-science boffinry’s highest possible gong, the Turing Award, in 1984, and that page has some short English-language clips from a 2018 interview.

Via John Gruber:

Wirth’s Law encapsulates Wirth’s philosophy: “The hope is that the progress in hardware will cure all software ills. However, a critical observer may observe that software manages to outgrow hardware in size and sluggishness.” Or, as he rephrased it in his paper describing Project Oberon: “In spite of great leaps forward, hardware is becoming faster more slowly than software is becoming slower.” In many ways, this remains the fundamental problem of our entire industry. It’s a truism, and can only be mitigated.

Deeje Cooley:

RIP Niklaus Wirth. In the late 1980s, I really cut my teeth as a developer on Object Pascal and the MacApp framework (using MPW), and your book “Algorithms & Data Structures” was so influential to me. I still have my copy.

NanoRaptor (via John Gruber):

Apple’s classic Pascal poster, remade as a nice clean vector image.

Bertrand Meyer (via Hacker News):

A peculiarity of my knowledge of Wirth is that unlike his actual collaborators, who are better qualified to talk about his years of full activity, I never met him during that time. I was keenly aware of his work, avidly getting hold of anything he published, but from a distance. I only got to know him personally after his retirement from ETH Zurich (not surprisingly, since I joined ETH because of that retirement). In the more than twenty years that followed I learned immeasurably from conversations with him.

[…]

Like a Renaissance man, or one of those 18-th century “philosophers” who knew no discipline boundaries, Wirth straddled many subjects. It was in particular still possible (and perhaps necessary) in his generation to pay attention to both hardware and software. Wirth is most remembered for his software work but he was also a hardware builder. The influence of his PhD supervisor, computer design pioneer and UC Berkeley professor Harry Huskey, certainly played a role.

Stirred by the discovery of a new world through two sabbaticals at Xerox PARC (Palo Alto Research Center, the mother lode of invention for many of today’s computer techniques) but unable to bring the innovative Xerox machines to Europe, Wirth developed his own modern workstations, Ceres and Lilith.

Martin Odersky (via Hacker News):

I was privileged to have worked with him as his PhD student, and to have learned a lot from him. In this note I want to write about some of the ways Niklaus influenced my work and my approach to programming.

How to Be Optimistic About Technology Now

Nick Heer:

If you measure your level of optimism by how much course-correction has been working, then 2023 was a pretty hopeful year. In the span of about a decade, a handful of U.S. technology firms have solidified their place among the biggest and most powerful corporations in the world, so nobody should be surprised by a parallel increase in pushback for their breaches of public trust. New regulations and court decisions are part of a democratic process which is giving more structure to the ways in which high technology industries are able to affect our lives.

[…]

That is a lot of change in one year and not all of it has been good. The Canadian government went all-in on the Online News Act which became a compromised disaster; there are plenty of questions about the specific ways the DMA and DSA will be enforced; Montana legislators tried to ban TikTok.

[…]

If there was one technology story we will remember from 2023, it was undeniably the near-vertical growth trajectory of generative “artificial intelligence” products. It is everywhere, and it is being used by normal people globally.

Previously:

Doom at 30

Wouter Groeneveld:

On 10 December 1993, John Carmack, John Romero, Sandy Petersen, and the rest of the id Software crew completely changed the world by releasing the most violent and satisfying DOS shooter ever created. Hundreds of so-called “DOOM clones” followed, frantically trying to join in on the cash grabbing fun. Several controversial lawsuits and political statements were made (and dismissed and resurrected) because of all the gore.

But DOOM was more than a grown-up version of id’s previous first-person shooting attempt, Wolfenstein 3D. DOOM was also a technical masterpiece, mainly thanks to Carmack’s knack for implementing optimization techniques after sifting through academic papers on cutting edge computer vision rendering algorithms.

Twitch:

Watch as David L Craddock moderates a chat between John Romero and John Carmack about Wolfenstein, DOOM and Quake. One hour of great conversation on DOOM’s 30th Anniversary.

Ted Litchfield (via Hacker News):

The conversation was understandably warm and celebratory, but I was also surprised at how critical the two were of their own work. Carmack alluded to “flashier” (and potentially technically riskier) graphical effects he wishes he had built into Doom’s engine, and he noted that he thinks the more grounded, military sci-fi aesthetic of Episode One has aged better than the abstract hellscapes later in the game.

Romero, meanwhile, contrasted Doom with the id games before and after, arguing it represented a technical “sweet spot” before Quake and full 3D acceleration started to seriously complicate development and limit how many enemies they could fit on screen. The developer praised Doom’s engine for allowing more complex maps than Wolfenstein though, ruefully remarking that “Making levels for Wolfenstein had to be the most boring level design job ever.”

tcmb:

It’s also worthwhile to remember where the team honed their craft, as was also mentioned in this session: The early id team worked for a publisher called Softdisk that provided a game subscription where customers received a new game every month. This was basically a way to iterate on the practice and process of game development in one month cycles. The shareware release of [Wolfenstein] had four months of development, which sounds crazy short by today’s standards, but for them it was unusual to have so much time.

There’s several talks on Youtube by John Romero where he tells the story of the early id software[…]

Liam Proven:

Just as Doom redefined video games in 1993, Windows NT redefined PC operating systems. The first version came out just a few months before Doom, and it was even more influential. ’93 also saw the release of NCSA Mosaic, the OG web browser. Mosaic’s spin-off, Netscape, started under the name Mosaic Communications Corporation, and somehow, that company homepage is still there. Later, Mosaic Corp evolved into Netscape, and that begat today’s Mozilla.

Apple’s Mac Gaming Push

Raymond Wong (MacRumors, Slashdot):

No doubt “losing” in gaming for decades has not been fun for Apple. It’s certainly painful and disappointing for Mac users both new and old, who have to buy a separate PC or console to play AAA games. But in 2023, the winds of change began to blow.

[…]

Gaming on the Mac in the 1990s until 2020, when Apple made a big shift to its own custom silicon, could be boiled down to this: Apple was in a hardware arms race with the PC that it couldn’t win. Mac gamers were hopeful that the switch from PowerPC to Intel CPUs starting in 2005 would turn things around, but it didn’t because by then, GPUs started becoming the more important hardware component for running 3D games, and the Mac’s support for third-party GPUs could only be described as lackluster.

[…]

When Apple announced the M3 chips at its “Scary Fast” October event, it touted certain hardware features built into the silicon that were big firsts for Macs. There’s the aforementioned hardware-accelerated ray tracing and mesh shaders, which make games look more realistic with real-time lighting and models with more detailed polygons and textures. But the feature few people are talking about, and the one that could make games on M3-powered Macs and future Apple computers really shine, is Dynamic Caching.

I don’t think the hardware has been the main problem. I wonder how much they’re doing with developers behind the scenes because I doubt Game Porting Toolkit and this PR push on their own are convincing anyone.

When I ask Apple’s marketing managers what they’re doing to improve the distribution of games on the Mac, specifically through the Mac App Store, I get less assuring responses. I remind them that, unlike the App Store for iOS, developers have had a rocky history getting their software sold on the Mac App Store. Panic, makers of the indie game Firewatch and the Playdate handheld, famously gave up on bringing its critically acclaimed Untitled Goose Game to the Mac App Store because of some seemingly arbitrary Mac App Store policies (though it’s still available on Mac via other platforms like Steam).

Previously:

Update (2024-02-01): Damien Petrilli:

All they focus on is trying to seduce gamers. They listen to them and try to provide what they think is missing: “more power, ray tracing, better GPUs, etc”. However, look at the Switch: underpowered by any metric, yet very successful.

Apple is blind sided by its dogma “developers owe us everything” thus they don’t see their value (they forgot their past, when the Mac was struggling to get any software).

The reality is that game developers bring in gamers. Not the opposite.

Apple won’t accept it because it goes against their vision of the world, they would have to consider developers as equal partners. But Apple sees itself at the top of the hierarchy, which is why Apple platforms won’t go mainstream in gaming anytime soon.

What Apple needs to do is not to seduce gamers, but game developers. Once game developers are on board, gamers will follow.

David Feldman, RIP

Legacy:

He earned a BS in Computer Science from Dartmouth College and an MBA from Harvard Business School. In 2023, he served as Distinguished Visiting Technologist at the MIT Center for Art, Science & Technology, and received an honorary Doctor of Fine Arts from the Maine College of Art and Design for developing the technology for the monumental sculptures of Studio Janet Echelman. At Apple Computer, David served as principal engineer for the file system on System 7 and invented the concept of an alias to a file or folder. He often laughed that perhaps his most well-known computer science legacy would be his recording of the “quack” beep sound, the first human voice on all Macintosh computers. He co-founded several successful startups, and founded Feldman Advisors, a technology investment, strategy and development consulting firm.

Jim Luther:

Dave made it easier to find things and then find things again on the Macintosh by adding CatSearch, CreateFileID, ResolveFileID, DeleteFileID, and ExchangeFiles to the System 7 File Manager, and for making backwards compatible changes to the HFS file system format for file reference IDs. These API and file system changes made it possible for the Alias Manager to track files that had been moved or renamed, made Finder Alias files possible, and made searching for files by name, date, size, etc. much faster.

The descendants of those API are in modern macOS, and are supported by Apple’s APFS file system.

I worked on Dave’s code years later, and later to enhancements of the features he helped introduce. One of the many times I was a standing on the shoulders of giants.

David K. Every:

Insert a floppy disk and rename it “KMEG JJ KS”, or “Like Wow Man.HFS For 7.0!” (where the space after ‘Man.’ is actually an option-space; you’ll have to type this somewhere else like the Note Pad then cut/paste it into the disk name), or “Hello world JS N A DTP” (exactly as is).

Eject the disk using Commad-E and double-click on the ghosted disk icon. The resulting message is “HFS for 7.0 by dnf and ksct”. In other words, it is saying “Hierarchical File System for System 7 by David N. Feldman and Kenny S. C. Tung.”

Previously:

Wednesday, January 3, 2024

Devices That Are Not USB C in My Life

Mere Civilian:

First, I give my appreciation to the European Union for their efforts in nudging (we all know it was more than a nudge) Apple to support USB C. However, there are still devices in my life that I use daily that are not USB C. Strangely, as each year passes by, it becomes more annoying to live with non-USB C devices. I dislike wasting money so I will not buy something only to have USB C on it.

With that said, the following are my NON USB C devices (that I use regularly)[…]

The most annoying for me is the Kindle Oasis. I still use the first-generation model, and I probably would have upgraded by now except that the latest version still uses micro USB. Amazon hasn’t updated it since 2019 and really seems to have taken its eye off E Ink Kindle hardware.

Other legacy devices: Apple Aluminum Wired Keyboard, Magic Mouse, AirPods Pro, AirPods 3, Apple TV Remote, various battery packs, various family iPhones. This is somewhat ameliorated by the fact that some non-USB-C devices do support Qi charging.

Previously:

Update (2024-01-05): See also: Adam Chandler.

3-in-1 Charging Stations

Fernando Silva:

I have been on the lookout for a 3-in-1 charging station for my Apple products that doesn’t break the bank. Don’t get me wrong – there are many options for 3-in-1 chargers, but it seems you have to spend upward of $100 or even $200 for a high-quality Apple 3-in-1 charger. But I think I finally found one that cuts that $100 price point in half while still keeping it high quality. Let’s check out the X23 Pro Charger.

[…]

In typical 3-in-1 charging station fashion, you get three different spots to charge the big three Apple devices: iPhone, Apple Watch, and AirPods. The AirPods charging pad supports up to 2.5W of wireless charging, and you can technically charge anything, so if you have a secondary phone, you could charge it there! The Apple Watch charger supports 5W charging. Then, you have the MagSafe compatible charging stand for your iPhone. It technically supports up to 15W for non-iPhone devices and then charges your iPhone at 7.5W.

This charger stands out with its compatibility with iOS 17 StandBy mode and 5W Apple Watch fast charging.

I have not used the KUXIU X23 (Amazon), but I really like the KUXIU X55 (Amazon), which is currently $39.99. It has a smaller footprint than the X23 and folds up for travel. I think it’s far superior to the seemingly more popular UCOMX Nano (Amazon) and Anker 3-in-1 Cube (Amazon). The UCOMX lies flatter, but it’s larger, less sturdy, and when folded it can only charge two devices and can’t hold the iPhone vertically. The Anker is wider and more than three times the price. The main thing I don’t like about the X55 is that the cable attaches on the side rather than the back, so it gets in the way a bit more.

This is a tough product category to figure out because there are a zillion similar looking chargers on Amazon. Most of the less expensive ones have high ratings but some reviews saying that they either don’t work reliably (particularly for watch charging) or that they start off fine but don’t last very long. It’s not clear whether there’s any advantage, in either reliability or design, to the $100+ ones.

Previously:

Update (2024-01-04): D. Griffin Jones:

I tested both the Kuxiu X55 and the Kuxiu X40, and the latter is so much better. It’s more expensive at $65 – 70, but the build quality is a vast improvement. It makes the X55 look like cheap plastic garbage in comparison. (And the cable comes out the back!)

The X40 (Amazon) is also a 7.5W phone charger vs. 5–15W for the X55.

KUXIU:

What are the differences between X40 and X55?

1. Different main body materials and processes for the stands:
- X40 uses aluminum alloy as the main body, crafted through CNC technology, providing an excellent texture with a complex manufacturing process.
- X55 has a plastic main body produced through mold injection.

2. Weight and dimensions:
- X40 weighs 195g and has dimensions of 68mm*68mm*23.3mm (smaller and thinner).
- X55 weighs 135g and has dimensions of 68mm*68mm*30mm (lighter and more cost-effective).

3. X40 and X55 have the same functions and wireless charging capabilities, with identical packaging accessories.

There’s also an X55 Plus (Amazon) that looks like the X40, except it has white charging disks and a side USB-C port. It’s unclear to me why this is the most expensive one at $69.99.

Gitea Cloud

Gitea (Hacker News):

With just a few clicks, you can easily deploy your own Gitea instance on Gitea Cloud. Our team will handle all the maintenance, including backups, upgrades, and more. This allows you to focus on business development without worrying about operational issues.

[…]

By using dedicated infrastructure, you don't have to worry about any noisy neighbors slowing you down.

[…]

Each plan comes with managed CI/CD runners so you can make sure your code is always running smoothly.

You have the flexibility to choose both the underlying cloud infrastructure provider and the region, ensuring the best option and location for your team.

Despite what the blog post says, it’s now open for registrations. It costs $19/user/month with unspecified discounts for small teams. You can still host the open-source version yourself, and for now they seem to be equivalent.

Previously:

Taligent’s Guide to Designing Programs

David Goldsmith (1994, PDF, via Hacker News):

If you browse the computer section of any technical bookstore, you’ll find many good books offering advice on how to do object-oriented design—books dealing both with general design principles and with design principles specific to C++. Why then does the industry need another book, one targeted not only to a specific language (C++), but to a specific system?

My experience has been that object-oriented design is best learned from using it to actually build systems. The style guidelines and design rules in Taligent’s Guide to Designing Programs come from years of that kind of experience, building large object-oriented C++ systems in the Taligent@ environment. If you plan to develop for Taligent environments, this book will provide you with an understanding of the philosophy underlying Taligent’s designs, and the way in which to fit your own work into Taligent’s environments. If your interest is simply in object-oriented design and C++, then my hope is that this book will benefit you by showing the experiences of one company.

This book grew from an internal style guide I wrote, which Taligent uses to develop its products, to train engineers, and to orient Taligent early developers to the Taligent system. These guidelines, like most, are based partly on empirical heuristics, and partly on principles. Although the focus has always been specifically on the writing of Taligent software, much of what we have learned is applicable riot only to Taligent, but to any C++ system.

Goldsmith worked at Taligent after leading the MacApp framework. Taligent the operating system was a failure, and Erich Ringewald left Pink to design BeOS, but many of the pieces of Taligent live on:

Fairly quickly, the management of IBM and Taligent came to a realization: Java was missing international support. But Taligent had great international technology, talented engineers--including Dr. Mark Davis, president of the Unicode Consortium--and a location about 100 meters from Sun’s JavaSoft division in Cupertino, California. Thus, a partnership was born: IBM arranged for Taligent’s Text and International group to contribute international classes to Sun’s Java Development Kit, making Java powerful enough for real-world business applications.

For JDK 1.1, Taligent provided the new java.text package, plus a number of new classes in java.util. This included Format and all its subclasses for formatting dates, times, numbers and messages; Collator, for language-sensitive string sorting; and BreakIterator, for determining line, word, and sentence boundaries in Unicode text. In java.util, Taligent contributed parts of ResourceBundle, as well as the Calendar and TimeZone classes (which provide flexible, international-friendly date and time support). In addition, IBM contributed a large collection of locale data from their National Language Technical Center in Toronto.

This was then ported to C++ and became the ICU project.

Sketch Returns to the Mac App Store

Sindre Sorhus (Hacker News):

Seems like Sketch is back on the App Store, after leaving it in 2015.

They seem be using the original SKU, because the Mac App Store shows it as 4+ years old, but it currently has only 7 ratings with an average of 3 stars. Reviews complain that even though the Mac App Store page lists In-App Purchases for monthly and yearly subscriptions, these are not actually available in the app. You have to subscribe from the Web site. I guess external purchases are allowed because of guideline 3.1.3(b) about multi-platform services, but that says “provided those items are also available as in-app purchases within the app.” The Omni Group supports external purchases, too, but Omni does support IAP.

Nima Sakhtemani

Buyers Beware! There’s no In-App Purchase

It’s sad to see Sketch using dark patterns forcing users into buying the monthly subscription by only using their website.

josh-5453

In-App Purchase not available

App Store product page suggests In-App purchase is supported, however it does not seem possible within the App itself. A trial is offered after account creation. However after it expires the App just shows an error that you don’t have access. No subscription prompt is given. Only leading to the website that offers it’s own subscription page. There really isn’t any other screen besides the login prompt which requires an existing subscription.

Sketch:

In order to offer Sketch on the Mac App Store, we need to follow Apple’s App Store Guidelines. This means the Mac App Store version of Sketch has some limitations, such as:

  1. Plugins and Assistants. You won’t be able to extend Sketch’s functionality through third-party plugins or tools to help streamline design workflows.
  2. Importing .fig files. The Mac App Store version of Sketch can’t open .fig files, so you won’t be able to directly import Figma files into Sketch.
  3. sketchtool. Because there are restrictions in place that prevent adding extra binaries to apps on the Mac App Store, we can’t provide sketchtool in the Mac App Store version. This is the tool we use from the command line to automate different tasks. Tools like Zeplin or Abstract need this tool to check Sketch documents and make previews.

You can still download it directly, and the Mac-only version is still available for a fixed price (now $120) including 1 year of updates.

Previously:

Update (2024-01-03): Co-founder Pieter Omvlee tells me that they “are in fact accepting IAP subscriptions, but there does seem to be some kind of issue for some users, which we’re investigating.” As of today, the IAPs are working, but there may have been an App Store glitch back in November. Unfortunately, as a result of the new SKU, the two reviews mentioning the glitch are the only reviews in the App Store. I don’t think the reviews or ratings accurately represent that this is a longstanding quality app.