This Week's Sponsor:

Winterfest 2024

The Festival of Artisanal Software


Posts tagged with "developers"

A TestFlight Update: Patched, But Still Broken

Just over a year ago, I wrote about the poor performance of TestFlight, the app that App Store developers rely on for beta testing their own apps. Today, thanks to a couple rounds of Feedback submissions, TestFlight is working better than before, but it’s not fixed. With WWDC around the corner, I thought I’d provide a quick update and share a few suggestions for fixes and features I’d like to see Apple implement.

One of the benefits of writing about TestFlight last year was that it became clear to me that, although my use of the app was unique, I wasn’t alone. Other writers who test a lot of apps and super fans who love trying the latest versions of their favorite apps got in touch sharing similar experiences, which convinced me that the issue was related to the number of betas I had in TestFlight. My experience was one of the worst, but with others in a similar boat, I took the time to file a Feedback report to see if there was anything that could be done to improve TestFlight.

An example of a beta app set to automatically update. But at least on my iPhone, none do.

An example of a beta app set to automatically update. But at least on my iPhone, none do.

That initial Feedback attempt ultimately went nowhere. Then, I got busy and resigned myself to getting by as best I could. However, getting by was no longer an option as the Vision Pro’s release date approached. That added a significant number of new betas to my TestFlight collection. By March, the Mac version of TestFlight had stopped working entirely. With apps lined up in my review queue, that posed a problem I couldn’t work around.

I removed inactive betas using my iPhone and removed myself from testing as many active betas as I could bear. However, nothing worked, so I filed another report with the black box known as Feedback. Fortunately, this time, it worked. After some back-and-forth sharing logs and screen recordings of TestFlight failing to load any content, I received a message that something had been adjusted on Apple’s end to shake things loose. Just like that, TestFlight was working again, although sluggishly.

TestFlight once again loads betas on my Mac, but not always with icons.

TestFlight once again loads betas on my Mac, but not always with icons.

My immediate problem is fixed, and I’ve been managing old betas more carefully to avoid a repeat of what happened on the Mac before. However, it’s clear that TestFlight needs more than just the quick fix that solved the worst of my problems. First of all, although TestFlight works again on my Mac, it’s slow to load on all OSes and clearly in need of work to allow it to handle larger beta collections more gracefully. And there’s a lot of other low-hanging fruit that would make managing large beta collections better on every OS, including:

  • the addition of a search field to make it easier to quickly locate a particular app
  • sorting by multiple criteria like developer, app name, and app category
  • filtering to allow users to only display installed or uninstalled betas
  • a single toggle in the Settings app to turn off all existing and future email notifications of new beta releases
  • attention to the automatic installation of beta updates, which has never worked consistently for me
  • a versioning system that allows users to see whether the App Store version of an app has caught up to its beta releases
  • automatic installation of betas after an OS update or ‘factory restore’ because currently, those apps’ icons are installed, but they are not useable until they’re manually re-installed from TestFlight one-by-one

It’s time for Apple to spend some time updating TestFlight beyond the band-aid fix that got it working again for me. It’s been a full decade since Apple acquired TestFlight. Today, the app is crucial to iOS, iPadOS, watchOS, and visionOS development, and while it’s not as critical to macOS development, it’s used more often than not by Mac developers, too. Apple has gone to great lengths to explain the benefits of its developer program to justify its App Store commissions generally and the Core Technology Fee in the EU specifically. TestFlight is just one piece of that program, but it’s an important one that has been neglected for too long and no longer squares with the company’s professed commitment to developers.


The iPad Pro 2024 Manifesto

There are so many parts of Steve’s iPad Pro manifesto I would quote here on MacStories, but I’m going to limit myself to just a couple of excerpts.

What I like about this story is that it’s a balanced take on the limitations of iPadOS from the perspective of a developer, laid out in a comprehensive roundup. It serves as a great companion piece to my story, but from a more technical angle.

Here, for instance, is a well-reasoned assessment of why Stage Manager isn’t ideal for developers of iPad apps:

Stage Manager was such a missed opportunity: it tried to bolt-on a windowing model onto iPadOS without providing developers any way to optimize for it, and has had virtually no meaningful improvements in two years. What I really want to see are APIs. APIs to know when an app is running in Stage Manager and give it an opportunity to enable extra functionality to accommodate that — like having an ‘open in New Window’ context menu option that it would otherwise hide. APIs to set window size/shape, minimum and maximum size. APIs to open a window in split view if possible, with a preferred screen side. APIs to drag a window on mouse-down. Auxiliary views or inspector panels that can be floated on/near a primary window, like visionOS’ ornaments.

Many of these features are available as APIs to apps using the iOS SDK… on macOS and visionOS. Which is why it boggles the mind that iPad’s own Stage Manager spec completely shunned them, and ignored the explicit intent provided by developers as to how they want their apps to work. Stage Manager wasn’t provided as an opportunity to make our apps better, it was inflicted on developers in a way that harmed the developer, and user, experience. Which is why today you can very quickly stumble upon apps that don’t quite resize correctly, or have important parts of the UI covered by the virtual keyboard, or toolbars floating in strange places.

To this day, developers have no way to fine-tune their apps so that they behave differently (and better!) when Stage Manager is active. This part about JIT is also worth calling out:

Just-in-time compilation is essential to power things like web browsers, console and PC emulators, and language-based virtual machines. It is used by Apple’s own apps, like Playgrounds, to empower key functionality that no third party app can match. And it is provided in a very limited way (with a ton of asterisks) to Alternative Web Browsers in the EU under the DMA, so they can implement their own JavaScript engines. The DolphiniOS project, which emulates Nintendo’s GameCube, recently posted a video that perfectly encapsulates the problem and demonstrates why emulators for newer consoles just can’t come to iPadOS. Other app stores, like Microsoft’s Windows Store, offer a JIT entitlement as standard, and I think Apple should, too.

It’s not like JIT cannot exist on iPadOS; it’s that Apple has chosen not to offer it as an entitlement for third-party developers.

I also want to point out two more aspects of Steve’s manifesto. It’s almost a 1:1 match of a story he wrote for us in 2019, which is quite sad as it tells you a lot about iPadOS’ state of affairs. Five years later, and we’re still asking for the same changes. Additionally, it should be noted that Steve is not asking for Apple to call it a day and put macOS on iPad. Claiming that someone who criticizes iPadOS does so because “they just want the iPad to turn into a Mac” has become the de rigueur dismissal for some reply guys these days, and it completely misses the point.

I highly recommend reading Steve’s full story here.

Permalink

Apple Amends App Review Guidelines to Permit Game Emulators and Make Other Changes

Yesterday, Apple announced an update to its App Review Guidelines in a brief post on its developer site. The changes to sections 3.1.1(a) and 4.7 of the guidelines, which apply globally to all apps distributed through Apple’s App Store, address three items:

  • game emulators,
  • super apps, and
  • linking to the web from inside music streaming apps to make purchases outside the App Store

Historically, game emulators were forbidden from the App Store. As a result, an emulator like Delta, which can play games released for Nintendo systems through the N64, could only be used on iPhones through a clever combination of developer tools and a Mail plug-in. In contrast, there are plenty of emulators on the Google Play store for Android users to download.

Revised section 4.7 of the App Review guidelines specifically allows retro gaming emulators:

Mini apps, mini games, streaming games, chatbots, plug-ins, and game emulators

Apps may offer certain software that is not embedded in the binary, specifically HTML5 mini apps and mini games, streaming games, chatbots, and plug-ins. Additionally, retro game console emulator apps can offer to download games.

Presumably, this will allow Delta and other emulators onto the App Store, so they can be used to play game files stored on iPhones.

The change to section 4.7 also says that “mini apps and mini games, streaming games, chatbots, and plug-ins” of the sort found in apps like WeChat must be created with HTML 5, a clarification of the language previously used.

Finally, section 3.1.1(a) of the App Review Guidelines allows music streaming services to link out to the web from their apps so customers can make purchases outside the App Store. The change addresses the anti-steering provisions for which Apple was fined $2 billion by the EU, and Apple has said it will appeal.


Over 250 Apps from Indie Developers Are On Sale Now

The folks at Indie App Sales are back with another big sale featuring apps from some of your favorite indie developers. This time around, they have over 250 apps in the lineup, including MacStories favorites like:

The sale periods vary by app, but most are offering discounts today and tomorrow, so check it out and grab a great deal on these excellent apps and support indie development.


Apple Announces New Distribution Options for iOS Developers in the EU

Apple has announced a trio of additional changes related to iOS developers in the EU where it is subject to the Digital Markets Act. The changes, which are outlined on Apple’s developer website, include:

  • Effective immediately, developers that offer alternative marketplaces will no longer be required to offer apps from other developers, meaning that a company like Meta could open a store with just its apps in the EU.
  • Also effective immediately, Apple has relaxed the requirements surrounding linking out to external webpages from an app. Developers are no longer required to use Apple’s templates, and instead, can design their own interfaces that link out to promotions, discounts, and deals that can be completed outside of the App Store.
  • Later this spring, developers in the EU will be allowed to offer their apps directly from their websites instead of through an alternative marketplace. There are eligibility requirements in Apple’s developer documentation, but this is a significant change that should open up a wider range of storefronts to users.

Whether it’s the result of feedback from developers or pressure from the European Commission, watching the app landscape transformed in very public fits and starts is fascinating.

Permalink

The Apple Vision Pro Developer Strap

Jeff Benjamin writing for 9to5Mac has a comprehensive breakdown on what the Apple Vision Pro Developer Strap can and can’t do. One of the primary benefits for developers is capturing video. As Benjamin writes:

The Developer Strap also lets developers capture a direct video feed from Apple Vision Pro via a wired USB-C connection using Reality Composer Pro. Files transfers of the captured feed occur via the direct USB-C connection. Users without the strap can still capture these feeds but via Wi-Fi only.

Benjamin also explains how to use the strap to access Recovery Mode:

You can also restore visionOS using Recovery Mode via the wired connection made possible by the Developer Strap. This includes downgrading from visionOS beta releases.

My experience is in line with Benjamin’s. The Developer Strap may make capturing short videos and screenshots easier, but it can’t do much else.

I will add, however, that I was contacted by a MacStories reader who tipped me off to one other thing the Developer Strap can do, which is act as a video source for QuickTime. This works a lot like capturing screenshots and video from an Apple TV via QuickTime, and the advantage is that you can capture more than the 60-second cap imposed by Reality Composer Pro. That’s great, except that the capture is foveated, meaning that the video recorded will be blurry everywhere except where you’re looking.

Permalink

Apple Offers USB-C Enabled Vision Pro Strap to Registered Developers

Apple is offering a new Vision Pro accessory to registered developers: a head strap with a USB-C connector for $299. There aren’t a lot of details about the strap, which is designed to be connected to a Mac to accelerate development and testing for the Vision Pro, other than this description that is behind a developer account login:

Overview

The Developer Strap is an optional accessory that provides a USB-C connection between Apple Vision Pro and Mac and is helpful for accelerating the development of graphics-intensive apps and games. The Developer Strap provides the same audio experience as the in-box Right Audio Strap, so developers can keep the Developer Strap attached for both development and testing.

Tech specs

  • USB-C data connection
  • Individually amplified dual driver audio pods
  • Compatible with Mac

Although we haven’t been able to confirm the capabilities of the Developer Strap, USB-C may allow developers to connect the Vision Pro to their network over Ethernet or access external storage, for example.

Why is a USB-C dongle $299? It’s expensive, but as the description makes clear, it incorporates the speaker found in Vision Pro’s right strap, which it replaces, explaining at least part of the cost.


Understanding Apple’s Response to the DMA

Source: Apple.

Source: Apple.

What a week. When it began to look like Apple would announce how it planned to comply with the EU’s Digital Markets Act (DMA), I expected small changes at the margins that wouldn’t significantly move the needle in the EU or anywhere else. Boy, I was wrong.

Instead, we got a far-reaching, complex response that touches aspects of iOS, system apps, the App Store. There’s a lot of ground to cover, but Federico and I have talked to Apple a couple of times each about what was announced and ask questions, so it’s time to dive and try to make sense of everything.

Before getting too deep into the weeds, it’s important to understand why Apple made its announcement last week and, whether you share it or not, the company’s perspective. That makes understanding the details of what was announced easier and will hopefully help you parse legitimate criticisms of Apple’s plans from hollow hot-takes.

Read more