Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Thursday, September 5, 2024

Default Folder X 6.1

I missed reporting on last year’s Default Folder X 6:

[Quick Search] gives you keyboard-based access to Recent and Favorite Items, including recently-launched applications and recently-used Finder windows. Note that it does NOT search your whole Mac, it searches the files, folders and apps that Default Folder X remembers for you. In most cases, it will find exactly what you want without showing all the extra stuff you don’t want.

[…]

In Save As dialogs, the box where you type the filename is way too small. How ’bout we fix that?

[…]

You can now drag and drop files and folders onto Default Folder X’s icon in your menu bar. When you do, it will pop up its menu so you can select a destination for them.

[…]

Automatically perform actions on a file after you save it. This can be as simple as immediately opening the saved file or attaching it to an email, or as complex as using AppleScript, Automator or Shortcuts to process the saved file in some customized way.

Default Folder X 6.1 (release notes):

In addition to Sequoia compatibility, Default Folder X 6.1 also opens favorite URLs from its Quick Search window, can open folders in the Warp terminal app, and fixes a number of bugs that cropped up in version 6.0.8.

It’s $39.95 to buy or $9.95 to upgrade. I used Default Folder a lot back in the day, but since Mac OS X I’ve mostly been using LaunchBar to help with open/save panels. Now I’m considering whether I should level up.

Spotify Connect Can No Longer Use iPhone Volume Buttons

Sarah Perez (MacRumors):

Spotify claims Apple may again be in violation of European regulation, the Digital Markets Act (DMA), which requires interoperability from big technology companies dubbed “gatekeepers.” This time, the issue isn’t about in-app purchases, links or pricing information, but rather how Apple has discontinued the technology that allows Spotify users to control the volume on their connected devices.

When streaming to connected devices via Spotify Connect on iOS, users were previously able to use the physical buttons on the side of their iPhone to adjust the volume. As a result of the change, this will no longer work.

Spotify sees this an anti-competitive because Apple gets to use its own protocol with HomePod and can access the buttons, whereas if Spotify uses its protocol it can’t. The buttons would work if Spotify used AirPlay 2, but for whatever reason Spotify doesn’t want to do that. How can they try to offer something better if they’re stuck using the same technology as Apple?

The technology Spotify was using for Connect was already degraded before being discontinued, the streamer claims. Spotify said that the experience using the iPhone volume buttons was often unstable, resulting in bugs like volume spikes during sessions.

It’s unclear to me what technology Apple discontinued that used to make this possible. And why is it happening so late in the iOS 17 cycle? Did Apple make a change recently or is Spotify just finally giving up since it had gotten so buggy?

William Gallagher:

Spotify has reportedly asked Apple to allow it to control the volume when using Spotify Connect to send music to HomePods. However, Apple has said that it requires Spotify’s app to add integration with HomePods.

Emma Roth (Sonos):

The Sonos app has also stopped letting iPhone users change the volume of their devices using physical buttons for similar reasons.

Update (2024-09-06): John Gruber (Mastodon):

Who should get to decide the rules for how the hardware volume buttons work on iPhones and iPads? Apple, or the European Commission?

If Apple is arbitrarily blocking access, making the user experience worse, as some kind of power play to prop up HomePod…maybe the EC?

Steven:

Also, they’d have to integrate with HomePods to get access to the new API, not just “support airplay”. Even Sonos, which supports AirPlay 2 doesn’t get access.

BenRiceM:

Spotify is definitely being obstinate, but given that camera apps had to wait 15 years for an API to detect volume presses (without ridiculous workarounds), I do think Apple could stand to be a little more open here.

Google Drive Blocks Unverified Apps

Binarynights:

Recently, Google has limited or blocked direct connections to Google Drive through ForkLift. Depending on whether users have previously connected to Google Drive through ForkLift, they may encounter one of two warnings when trying to connect via the Connect Panel.

[…]

Google now requires apps like ForkLift to undergo the Cloud Application Security Assessment (CASA). This assessment ensures that apps meet strict security standards to protect user data and maintain secure integrations.

Undergoing the CASA process helps ForkLift identify and fix any security issues, safeguarding user data and ensuring our security practices are transparent. However, meeting these requirements can be a lengthy process. Even if ForkLift meets all standards immediately, the assessment can take up to six weeks. If significant changes are needed, it could take much longer.

I don’t like this trend of Google making it harder for users to access its services via third-party apps, and the security benefits seem questionable.

Previously:

Founder Mode

Paul Graham (Hacker News):

The theme of Brian’s talk was that the conventional wisdom about how to run larger companies is mistaken. As Airbnb grew, well-meaning people advised him that he had to run the company in a certain way for it to scale. Their advice could be optimistically summarized as “hire good people and give them room to do their jobs.” He followed this advice and the results were disastrous. So he had to figure out a better way on his own, which he did partly by studying how Steve Jobs ran Apple. So far it seems to be working. Airbnb’s free cash flow margin is now among the best in Silicon Valley.

[…]

In effect there are two different ways to run a company: founder mode and manager mode. Till now most people even in Silicon Valley have implicitly assumed that scaling a startup meant switching to manager mode. But we can infer the existence of another mode from the dismay of founders who’ve tried it, and the success of their attempts to escape from it.

[…]

The way managers are taught to run companies seems to be like modular design in the sense that you treat subtrees of the org chart as black boxes. You tell your direct reports what to do, and it’s up to them to figure out how. But you don’t get involved in the details of what they do. That would be micromanaging them, which is bad.

As he says, if this term catches on it will be misused like “agile.”

Shubhangi Goel:

A prime example of a tech titan embracing founder mode is Nvidia cofounder and CEO Jensen Huang, who has 60 direct reports and still eats in the company cafeteria.

[…]

Chesky spoke about how conventional advice on building and scaling up a startup is broken. He said, as he has before, that investors and outside managers just don’t have the insights that founders do. He said that splitting companies into organizational chart tiers — isolating founders from anyone but their direct reports — often kills the business.

[…]

There are also notable exceptions to positive founder mode: Sam Bankman-Fried and Elizabeth Holmes were both founders who operated with autonomy, then ignominy.

On the other hand, Satya Nadella and Tim Cook are both outside managers touted with turning their companies around — in both cases, building on the legacies of strong founders.

Tim Cook wasn’t CEO during the Apple turnaround.

See also:

Previously:

Update (2024-09-06): See also:

Wednesday, September 4, 2024

Git Tower 12

Bruno Brito:

With Tower Workflows, we aim to provide you with the ability to create and customize your own branching workflows. You can use popular branching workflows as a starting point, tweak them, come up with your own unique solution from scratch, or embrace other popular workflows like the Stacked Pull Requests workflow.

For this to be possible, the Tower team focused on two big features for this release:

  • Branch Dependencies.
  • The “Restack Branch” action.

Version 12.0:

It allows Tower to keep track of the original branch from which another branch was created, a capability not natively supported by Git. Newly created branches in Tower automatically inherit their starting branch, and users can manually set or change the parent branch via the context menu at any time.

[…]

Tower enables you to create “stacks” of branches — branches that depend on other branches — and effortlessly restack them (using rebase) with a single action.

[…]

Repositories can now optionally be opened in a new window by passing the “-n” argument to the “gittower” command.

There’s more about stacked branches here.

Previously:

Snow Leopard at 15

Joe Rossignol:

Today marks the 15th anniversary of Apple releasing Mac OS X Snow Leopard, which became available to purchase for $29 on August 28, 2009.

After advertising Mac OS X Leopard as having “over 300 new features” in 2007, Apple previewed Snow Leopard at WWDC 2008. Notably, during that year’s “State of the Union” session, Apple showed a presentation slide that said the update had “0 new features,” as Apple opted to focus on under-the-hood performance and stability improvements.

Perhaps the more important anniversary is that of macOS 10.6.8 v1.1 on July 25, 2011. Yes, Snow Leopard didn’t really have any new user-facing features, but it had big changes the hood and was kind of a rough release at the outset. The Snow Leopard we remember fondly is the final version, released after almost two years of refinements.

Or, put another way, there were “no new features” between the initial releases of Leopard on October 26, 2007 and Lion on July 20, 2011.

Mario Guzmán:

Mac OS X Leopard/Snow Leopard appreciation post.

I never liked the capsule-style toolbar buttons in Mail, and iTunes didn’t yet use a standard table view, but otherwise I think the visuals in Snow Leopard have aged pretty well. We’ve gone from colored sidebar icons on a monochrome background to monochrome symbols on a busy, colored background.

Previously:

Update (2024-09-06): Adam Maxwell:

I still have my brown zippered hoodie from Customer Seeding for Snow Leopard testing. I miss the look and feel with color (except for the capsule toolbar controls), proper scrollbars, and ability to tell if a window is active.

Guy English:

Not to be too much of a party-pooper about Snow Leopard and it’s No New Features promise of a focus on reliability but—it came as iPhone OS 2.0 had just shipped, iPad was a year out, made major changes to the Finder, got all(?) system apps to be 64bit, and introduced GCD (Dispatch). So, you know, it was probably as heavy a lift, if not more so, than other macOS releases.

Basic Apple Guy:

Culturally, Snow Leopard is held in high regard as it represented a dramatic shift in priorities from features to foundation. It showed that Apple was willing to restrain itself from more consumer-facing flashy new features and instead strengthen its most crucial software.

To celebrate the 15-year anniversary of Snow Leopard, I’ve taken five of its most iconic wallpapers and upscaled them to fit beautifully on a 6K display.

Snapchat for iPad

Hartley Charlton:

After 13 years, Snapchat has finally rolled out an update that brings native app support to the iPad.

[…]

Until now, iPad users who wanted to use Snapchat had to run the iPhone version of the app, which was not optimized for the larger display, leaving it to run at a lower resolution with large surrounding black borders like other unoptimized apps.

William Gallagher:

The signup and login screens are still expanded iPhone ones and look very bare. Then when you're using it, you have no option but to hold your iPad in portrait mode — there is no landscape Snapchat at all.

Alex Heath:

Snapchat will soon start “experimenting” with placing sponsored messages next to chat threads from friends, according to CEO Evan Spiegel.

These “Sponsored Snaps” from brands will appear as unread messages in Snapchat’s main Chat tab, implying that they’ll sit above messages from a person’s contacts until they’re acted on. This is the first time Snap will show ads in the most used part of its app.

Previously:

Apple’s Magic Sound File Renaming

Shamino:

For those who are unaware, in macOS 11 (aka “Big Sur”), Apple changed all of the standard system sounds [names].

[…]

The interesting thing is that if you go to look for the actual sound files (in /System/Library/Sounds), you’ll find that the filenames are the same as the old names.

[…]

There is a application extension, /System/Library/ExtensionKit/Extensions/Sound.appex on my (macOS 14 "Sonoma") system. It is apparently a Quick Look plugin, but looking inside its package, I found a mapping table named AlertSounds.loctable. And this file is a binary property list file with a changed file extension. Dumping the contents of the file reveals the mapping. And not just one, but a big array of localized mappings[…]

“Basso” is now “Mezzo,” and “Sosumi” is now “Sonumi.” These are not just renamings; the sounds themselves are different, sometimes very different, as in “Purr” becoming “Pluck.”

I don’t really understand why they chose to maintain “compatibility” by changing the meanings of existing sound files, instead of adding the new sounds under new names (and perhaps hiding or deemphasizing the legacy ones, as they do with desktop pictures).

Previously:

Tuesday, September 3, 2024

AnandTech Farewell

Ryan Smith (tweet, Hacker News):

For better or worse, we’ve reached the end of a long journey – one that started with a review of an AMD processor, and has ended with the review of an AMD processor. It’s fittingly poetic, but it is also a testament to the fact that we’ve spent the last 27 years doing what we love, covering the chips that are the lifeblood of the computing industry.

[…]

I am happy to report that the site itself won’t be going anywhere for a while. Our publisher, Future PLC, will be keeping the AnandTech website and its many articles live indefinitely. So that all of the content we’ve created over the years remains accessible and citable.

[…]

The AnandTech Forums will also continue to be operated by Future’s community team and our dedicated troop of moderators. With forum threads going back to 1999 (and some active members just as long), the forums have a history almost as long and as storied as AnandTech itself (wounded monitor children, anyone?). So even when AnandTech is no longer publishing articles, we’ll still have a place for everyone to talk about the latest in technology – and have those discussions last longer than 48 hours.

John Gruber:

There was no publication like AnandTech before it was founded, and there’s been no publication like it since. To say that it will be sorely missed is a profound understatement. When founder Anand Lal Shimpi left the site to join Apple 10 years ago, I was pretty skeptical that AnandTech could maintain relevance, let alone excellence. But it did, in spades.

Previously:

Kevan Parekh Replaces Luca Maestri

Apple (Slashdot, ArsTechnica, MacRumors):

Chief Financial Officer Luca Maestri will transition from his role on January 1, 2025. Maestri will continue to lead the Corporate Services teams, including information systems and technology, information security, and real estate and development, reporting to Apple CEO Tim Cook. As part of a planned succession, Kevan Parekh, Apple’s Vice President of Financial Planning and Analysis, will become Chief Financial Officer and join the executive team.

[…]

Parekh has been at Apple for 11 years and currently leads Financial Planning and Analysis, G&A and Benefits Finance, Investor Relations, and Market Research. Prior to this role, Parekh led Worldwide Sales, Retail, and Marketing Finance. He began his tenure leading the financial support of Apple’s Product Marketing, Internet Sales and Services, and Engineering teams.

Jason Snell:

So I’ll miss Luca Maestri on the calls. I’ll miss his Italian accent, which used to flummox English language speech-to-text algorithms. In an impressive endorsement of modern AI models, his words are now transcribed with almost no accent-induced errors. I’ll miss his occasional turns of phrase, like when he described the company facing a “cocktail of headwinds.” I’ll miss his occasional enthusiastic response to an analyst picking data out of the company disclosures, as when he practically lit up when Richard Kramer (“Richard! How are the kids?!”) of Arete Research asked him about the most exciting possible topic for a CFO… free cash flow margins.

Mark Gurman:

Companies often struggle with the departure of key executives, but Apple has a time-tested way to deal with it: make sure that the person quitting doesn’t actually leave.

[…]

Maestri will still have a few direct reports, including Timothy Campos (IS&T), Kristina Raspe (real estate) and George Stathakopoulos (information security). Instead of letting Maestri fully retire, he’ll have a less demanding role: being the boss of three groups that already have some of Apple’s strongest leaders and probably don’t need much oversight.

[…]

We’ll likely see similar scenarios play out in the coming years. After all, many top executives are nearing retirement age. In May, I detailed who the likely successors are for this old guard at Apple.

Three of the biggest transitions will involve Chief Operating Officer Jeff Williams, services head Eddy Cue and — of course — Cook himself. If Williams doesn’t make a clean exit, he can probably give up the COO title but stay in charge of Apple’s health and design groups. Cue could hold on to the fun part of the business — things like Apple TV+ and sports — but give up the rest of his organization. And Cook will probably become Apple’s executive chairman when he hands off the CEO job to who I believe will be hardware engineering chief John Ternus.

Previously:

Apple Books Layoffs

Dan Moren (Mastodon, Slashdot, ArsTechnica, MacRumors, The Verge):

In a report at Bloomberg (paywalled, naturally), Mark Gurman says that the company has laid off about a hundred people, primarily in the team behind Apple Books and the Apple Bookstore.

[…]

Apple has managed to achieve itself a comfortable, if distant second place in ebooks without really spending much in the way of time and effort. Which perhaps explains why they’re looking to cut costs and reduce focus—if the business works “fine” as is, then why invest more?

My disappointment stems from the fact that Apple is better positioned and equipped than anyone else in the industry to take on Amazon head-to-head in ebooks. But doing so would require the company to do something different. And I don’t mean its misguided attempts to reinvent the reading experience as it’s tried in the past—most avid readers are pretty happy with their the way they consume books.

[…]

The second option, to my mind, is one I’ve advocated for before: taking a page from Apple’s own digital music market of the 2000s and figuring out a way to make the Apple Books the premiere purveyor of ebooks without digital rights management. Ideally it would be combined with a seamless process to deliver those DRM-free books to your third-party e-reader of choice.

Previously:

Update (2024-09-06): Shelly Brisbin:

Whether it’s the familiarity of doing business with Apple directly, or the desire to store and sync purchases with the Books app on all their devices, I’ve heard loud and clear that Books is a place I need to be. A couple of times I made Kindle versions of the book and attempted to sell them on Amazon. I got very little traction there – perhaps because I didn’t promote its availability well, but more likely because people with accessibility needs don’t gravitate toward the Kindle platform. The Apple Books app not only offers a lot of flexibility in text formats and themes, it works flawlessly with the VoiceOver screen reader and other Apple speech tools.

From a production standpoint, the Books store is easy-peasy for me, too, since I create the book as an ePub – the format supported by Books and the one I prefer to offer directly because of its native accessibility. All I have to do is load the book into iTunes Connect and submit it for publication in as many country-specific stores as I want. And while I’m at it, I can choose whether or not to apply DRM. I’ve chosen not to do so.

AppleVis Will Continue Under Be My Eyes

Michael Hansen:

As many of you already know, David Goodwin founded AppleVis in July 2010. Since that first day, David has worked tirelessly, day in and day out, to develop and maintain the AppleVis website. While myself and the rest of the AppleVis Editorial Team have supported David with the daily operations of the site, David has been the driving force behind the website--both in terms of the ideas and, on a more practical level, having sole responsibility for the technical implementation. AppleVis would not be here today were it not for David, and David has undertaken all of this work for the community on an entirely voluntary basis.

Early last week, David was hospitalized in the ICU due to a very serious and life-threatening medical issue. David was unresponsive for 8 days and almost died. We are relieved to share that he is now getting better, though he still has a long road to recovery ahead.

David Goodwin:

It is with deep sadness and a heavy heart that after careful consideration I have made the difficult decision to step down from my responsibilities with AppleVis. As a direct result of my departure and following extensive deliberation, the editorial team has come to the painful conclusion that AppleVis will be closing. This decision was not made lightly, but it has become clear that continuing AppleVis without my involvement is not feasible.

David Goodwin:

AppleVis will be joining the Be My Eyes family through an acquisition that ensures not only its continued existence but also opens up exciting new possibilities.

When I announced the impending closure of AppleVis in July, I was deeply moved by the outpouring of support from our community. Your responses underscored the vital role AppleVis plays in the lives of so many blind and low-vision individuals. I am thrilled to inform you that this acquisition means AppleVis will continue to serve our community, stronger than ever before.

[…]

This is not a financial transaction - no money has changed hands, and I have not personally profited from this arrangement. Instead, this is a mission-driven partnership where Be My Eyes is taking on the responsibility of maintaining and growing AppleVis for the benefit of our community. My decision to transfer stewardship of AppleVis to Be My Eyes was driven solely by the desire to ensure its continued existence and growth. In this arrangement, Be My Eyes will acquire the AppleVis website, brand, and a license to all content, allowing them to invest in its future while maintaining the volunteer spirit that has always been at the heart of our community. As planned, I will still be stepping down from my role on the editorial team.

AppleVis:

We will reopen the AppleVis website on September 9, 2024—right in time for Apple’s Keynote and fall software releases. We will share all of our traditional content concurrent with the releases of iOS 18 and macOS Sequoia, including an article detailing what’s new for blind and DeafBlind users in iOS 18; podcasts; and blogs detailing new and resolved VoiceOver bugs in both iOS and macOS.

See also: Sabahattin Gucukoglu, Daniel Jalkut, Shelly Brisbin.

Previously:

Monday, September 2, 2024

Retcon 1.0

Nathan Manceaux-Panot (Reddit, Hacker News):

Rewrite Git history with a single drag-and-drop. Undo anything with ⌘Z. All speed, no bumps.

[…]

From small refinements to sweeping reworks, you do everything faster in Retcon. Edits take fewer steps, and don’t mess with the repo’s state.

This seems really cool, though it’s not really a replacement for a general-purpose Git client. There’s a 14-day trial, after which it’s $49.99/year. For me, at least, complicated history rewriting is not very common, and Tower can do much of it—and has undo—albeit not as smoothly. Perhaps it would make sense to subscribe for a month at a time now and then when it’s needed to get out of a jam.

Previously:

FreemiumKit and RevenueCat

Cihat Gündüz (Reddit):

FreemiumKit is the ultimate solution for Apple platform developers to integrate and manage in-app purchases and subscriptions effortlessly. With support for all Apple platforms, FreemiumKit provides a seamless and efficient way to handle your app’s monetization.

They have a comparison table vs. RevenueCat, which I’ve heard consistently great things about. Currently, it’s free, with a proposed monthly fee based on income.

The last time I looked at RevenueCat, I think it was free up to $10K in monthly revenue. Currently, it looks like the cutoff has been reduced to $2.5K/month, beyond which they take 1%. They say this is “tracked revenue,” which I take to mean it includes Apple’s cut, even though they say “only in months where you make more than $2.5k.” So for the App Store Small Business Program the threshold would be less than $2,125/month in pay to the developer (since VAT is removed, too). Maybe 1% is reasonable for what they offer, but whereas before it seemed like a no-brainer to start with their SDK, now I would be inclined to look more closely at what it offers over StoreKit 2.

Seou H.:

Switching to FreemiumKit had an incredible impact on my development process. I was able to clean up a significant amount of code, removing extra classes and unnecessary complexity that RevenueCat required. This cleanup wasn’t just about aesthetics—it made my app more efficient and easier to manage.

[…]

Built-in SDK components like PaidFeatureView and PaidStatusView were incredibly customizable, allowing me to focus on the user experience without worrying about the technical nitty-gritty. Instead of having to write an entire ViewModel for handling in-app purchases, I could use a one-liner from FreemiumKit. This freed me to concentrate on what mattered most: building a great app.

Previously:

The End of Finale

Greg Dell’Era (via Ric Ford):

35 years ago, Coda Music Technologies, now MakeMusic, released the first version of Finale, a groundbreaking and user-centered approach to notation software. For over four decades, our engineers and product teams have passionately crafted what would quickly become the gold standard for music notation.

Four decades is a very long time in the software industry. Technology stacks change, Mac and Windows operating systems evolve, and Finale’s millions of lines of code add up. This has made the delivery of incremental value for our customers exponentially harder over time.

Today, Finale is no longer the future of the notation industry—a reality after 35 years, and I want to be candid about this. Instead of releasing new versions of Finale that would offer only marginal value to our users, we’ve made the decision to end its development.

[…]

Finale authorization will remain available for the foreseeable future: Please note that future OS changes can still impact your ability to use Finale on new devices.

The FAQ recommends not updating to Sequoia.

William Gallagher:

That development of Finale began in the 1980s, and the first version came out in 1988. It required a Mac Plus, Macintosh SE, or Macintosh II, and preferred those Macs to have 1.5MB of RAM.

To put this in historical context, Finale soon gained a competitor whose name is better known today — but whose original function is forgotten. Apple’s current digital audio workstation app Logic Pro began as the third-party Notator Logic in 1990, and was a rival scoring app.

[…]

MakeMusic and Dell’Era are recommending that users migrate to Finale’s major rival, Dorico Pro. Normally Dorico Pro 5 retails for $579, but users of any version of Finale or PrintMusic can buy it for $149.

See also: Adam Engst and ATPM reviews of Finale 2000, Finale 2001, and Music Press.

The Apple IIGS Megahertz Myth

Dan Vincent (via Hacker News):

The Apple II and Commodore 64 with their 6502 and 6510 CPUs clocked at 1 MHz could trade blows with Z80 powered computers running at three times the clock speed. And the IIGS had the 6502’s 16-bit descendant: the 65C816. Steve Wozniak thought Western Design Center had something special with that chip. In a famous interview in the January 1985 issue of Byte magazine, Woz said,

“[the 65816] should be available soon in an 8 MHz version that will beat the pants off the 68000 in most applications, and in graphics applications it comes pretty close.” End quote. That’s already high praise, but he continues further: “An 8 MHz 65816 is about equivalent to a 16 MHz 68000 in speed, and a 16 MHz 68000 doesn’t exist.”

[…]

But that “should” in “should be available” was doing a lot of work. Eighteen months later when the IIGS finally shipped, there was no 8 MHz ‘816. It was as nonexistent as Woz’s imaginary 16MHz 68000. 8MHz chips were barely available three years later. What happened?

[…]

So why were IIGSes with chips rated at 4 MHz not running them at that speed? Why 2.8 MHz? Isn’t that… weirdly specific? Did an 8 MHz machine really get put on ice due to executive meddling? To solve these mysteries I descended into the depths of Usenet, usergroup newsletters, magazines, and interviews. My journey took me through a world of development Hell, problematic yields, and CPU cycle quirks.

Dave Haynie:

Way back in ’85, a 4MHz ’816 cost noticably more than an 8MHz 68000. Things are going to be even more skewed now.

Friday, August 30, 2024

Marathon Games on Steam

Malcolm Owen:

Bungie has finally brought all of the “Marathon” trilogy of games to Steam, with “Marathon Infinity” now playable for free on modern Macs.

[…]

Classic Marathon Infinity is a free game on the Steam storefront, playable on both Mac and Windows PC. It is a faithful re-release of the 1995 first-person shooter, using the original data files, but modernized.

These modernizations include widescreen HUD support, 3D filtering, positional audio, and 60+ fps interpolation, all under the Aleph One game engine.

Previously:

Cancellable withObservationTracking in Swift

Toomas Vahter:

This function works as a one shot function and the onChange closure is called only once. Note that it is called before the value has actually changed. If we want to get the changed value, we would need to read the value on the next run loop cycle. It would be much more useful if we could use this function in a way where we could have an observation token and as long as it is set, the observation is active. Here is the function with cancellation support.

[…]

The token closure controls if the change should be handled and if we need to continue tracking. Will and did change are closures called before and after the value has changed.

Previously:

SwiftUI Breaks Continuity Camera

Wade Tregaskis:

If any view in the [active] window contains a Toggle – even one that’s disabled or hidden – then Continuity Camera (re. ImportFromDevicesCommands and importableFromServices) doesn’t work; all the submenu items under “Import from iPhone or iPad” are disabled.

I don’t know if this is truly specific to Toggle, that’s just the example case I happen to have isolated [first?].

What’s really weird is that once a Toggle has ever been displayed, even if you subsequently remove it from the view hierarchy entirely the “Import from iPhone or iPad” submenu items all remain disabled.

Previously:

macOS Firewall Slows DNS Queries

Jeff Johnson (Reddit):

I took packet traces of the DNS queries with the firewall enabled and disabled. What I found is that the DNS query response packet consistently arrives in under 20 milliseconds after the query packet is sent, regardless of whether the firewall is enabled. Thus, it appears that the extra query time added by the firewall is caused by on-device processing of the packets rather than by any network issue.

[…]

On my MacBook Pro running Sonoma, but not on my Mac mini running Sonoma, I frequently experience a bizarre issue where the dig command takes over 5 seconds to complete when the firewall is enabled.

DNS queries are several times slower, however this may be fixed in Sequoia.

Thursday, August 29, 2024

EditorConfig Files in Xcode

Pol Piella:

As a developer for Apple platforms, you probably work on multiple projects with different coding styles and conventions and have to find yourself adjusting Xcode’s editor settings every time you switch between projects. This can be a tedious process that you might forget to do or overlook and, if the project does not have a linter that enforces the coding style, you might end up with inconsistent code formatting across the codebase.

Thankfully Xcode 16 adds support for EditorConfig files, which allows you to define Xcode editor settings in a programmatic way on a per-project basis. In this article, you will learn how to set up EditorConfig files in Xcode and what settings are supported at this time.

They also work in BBEdit.

Previously:

Find Any File 2.5

Thomas Tempelmann:

Adds a “Name without Extension” rule.

[…]

Holding the Option key with the search location popup menu open will now also show the System and Data members of bootable volumes. If you choose a “(Data)” volume as the search destination, it’ll skip the original files installed by Apple, making the search faster. If you’re searching only for files you created, this is a useful method to speed things up.

[…]

Can now search on NAS and *nix server much faster by running the “find” command remotely.

[…]

The popup menus for the search location and the rules can now show the hidden (expert) items by holding down the Option key.

Via John Gruber:

Amongst other features, FAF supports regular expressions, and you can save frequently-used searches to easily re-run them.

Thomas Tempelmann:

A nice side effect of using FindAnyFile on your Time Machine volume is that it can alert you about structural errors on your TM volume, which might later prevent you from restoring all your data. FAF has alerted users hundreds of time about this in the past.

You could as well just run Disk Utility’s First Aid check on the TM volume, but many don’t ever think of that.

Previously:

Calling async Code Synchronously in Swift

Wade Tregaskis:

I find my hand is often forced by APIs I don’t control (most often Apple’s APIs). e.g. data source or delegate callbacks that are synchronous and require you to return a value, but in order to obtain that value you have to run async code (perhaps because yet again that’s all you’re given by 3rd parties, or because that code makes sense to be async and is used happily as such in other places and you don’t want to have to duplicate it in perpetuity just to have a sync version).

If that asynchronosity is achieved through e.g. GCD or NSRunLoop or NSProcess or NSTask or NSThread or pthreads, it’s easy. There are numerous ways to synchronously wait on their tasks. In contrast, Swift Concurrency really doesn’t want you to do this. The language and standard library take an adamant idealogical position on this – one which is unfortunately impractical; a spherical chicken in a vacuum.

Nonetheless, despite Swift’s best efforts to prevent me, I believe I’ve come up with a way to do this.

[…]

Do not call this from a thread used by Swift Concurrency (e.g. an actor, including global actors like MainActor) if the closure - or anything it calls transitively via await - might be bound to that same isolation context. Doing so may result in deadlock.

Previously:

Mobile Deployment Pipelines for $0

Jacob Bartlett:

Today, I’ll show you how to set up CI on your side projects. For free!

  • Part I: Fastlane

  • Part II: App Store Connect

  • Part III: GitHub Actions

[…]

Frustratingly, cloud-hosted MacOS runners on GitHub Actions cost 10x as much per minute as Linux runners. While public repos are granted 200 minutes of Mac runner time a month, this can be spenny for private or particularly-active repos.

[…]

You can set up a local machine — even your standard development laptop! — as a self-hosted runner.

Previously:

Wednesday, August 28, 2024

Updating Apple Developer Credit Card on File

Adam Tow:

I created my Apple Developer account many years ago, and I think I’m stuck in some kind of limbo state where my credit card information is stored in some forgotten part of Apple’s backend systems.

[…]

Yet, even after updating the one card that I thought was expired with the new expiration date and verification code, I was still seeing the warning atop the Apple Developer Account page.

[…]

After some more internet sleuthing and digging, I found this thread from 2019 on StackExchange which described a workaround. It involves going to an older Apple Store url.

I had a similar issue updating my address recently. The online forms didn’t fully work, and eventually someone had to fix it manually. I don’t understand how this site used by tens of millions of developers is still so rickety.

Matthias Gansrigler:

I can’t state how much I love when App Store Connect logs me out right after I reply to the App Review board, completely deleting everything I wrote.

Google Delayed Removing Yobit Pro Scam App

Zack Abrams (via Hacker News):

Google has been served with a lawsuit from a Florida woman who claims she lost $5 million to a scam cryptocurrency app downloaded from the Google Play Store.

Though Google received a complaint about the app from the Consumer Financial Protection Bureau, the lawsuit claims Google took three months to remove the scam app, and that at least five other users of the app had similar experiences while it was available on the store.

[…]

Vaca’s lawsuit says she only downloaded the app because she believed Google was successfully preventing scam apps from becoming available on the Google Play store.

There were 12,759 installations of the app.

Previously:

Making Shortcuts’ Action Editor Easier to Browse

Matthew Cassinelli:

In iOS 18.1 developer beta 2, Apple has updated how it organizes actions in the Shortcuts app to create a better experience for users, including a new ordering inside action and categories, as well as two new categories.

This a long overdue change to the Action Editor, which should make it easier for new users to learn how to use Shortcuts – categories are more distinct, important actions are easier to find, and there’s a logical sort order inside groups to help you progressively understand how to use them.

Previously:

Skip 1.0

SKIP.tools (via Abe White, Hacker News):

Skip brings Swift app development to Android. Share Swift business logic, or write entire cross-platform apps in SwiftUI.

Skip is the only tool that enables you to develop genuinely native apps for both major mobile platforms with a single codebase. Under the hood, it uses the vendor-recommended technologies on each OS: Swift and SwiftUI on iOS, Kotlin and Compose on Android.

Marc Prud’hommeaux:

It doesn't embed a separate engine or runtime into your app, but instead lets you use pure Swift and SwiftUI to create the iOS side of the app (as per Apple's recommended best practices for creating iOS apps), and transpiles it into a pure Kotlin and Jetpack Compose app for the Android side (which is Google's recommendation for building Android apps). So your application will use platform-native controls and will automatically have all the affordances provided by the platform vendor: animations, accessibility, and future-proof evolution alongside OS updates.

Previously:

Tuesday, August 27, 2024

Migrating KeyboardKit to Swift 6 Language Mode

Douglas Hill (tweet):

Over the weekend, I updated KeyboardKit to full data race safety with Swift 6 language mode. KeyboardKit is my open source framework that‘s the easiest way to add comprehensive hardware keyboard control to an iPad, iPhone, or Mac Catalyst app.

This is a great test case because KeyboardKit is a small UI framework that doesn’t perform any slow operations, so all its code is intended to be run on the main thread. It should be trivial to opt into strict concurrency. I didn’t want to spent more than about an hour on this.

Many issues were resolved simply by annotating types with @MainActor, but I wanted to share three interesting situations that came up in the migration, two of which seem like issues on Apple’s side.

[…]

No data race safety issues were exposed.

Previously:

Marlinspike on Agile and Security

Brandon Vigliarolo (Hacker News):

Marlinspike opened the second day of Black Hat with a talk that was ostensibly supposed to be a fireside chat with Black Hat founder Jeff Moss, but the Signal founder stole the show with an opening chat laying out a case for reclaiming the “magic” of software development that’s been lost after 20 years. That loss, he argued, was due to stuffing developers into “black box abstraction layers” that strip them of the freedom needed to be innovative.

[…]

Instead of allowing developers to operate from the bottom up in a way that lets them combine engineering expertise with the vision to see new capabilities in existing technology, agile teams end up siloed, working separately from each other, and without much visibility into what other teams are doing, he argued.

[…]

While software engineering has spent the past few decades struggling to become quicker, more flexible and, by extension, more abstracted, security researchers have been doing the opposite, said Marlinspike.

Irreal:

He blames its current deplorable conditions on Agile but what he really means is layers and layers of abstraction that prevent the developer from understanding what is really happening with their software.

[…]

The difficulty is that our corporate industry leaders love this stuff because it enables them to produce loads of software faster and easier. The problem is that no one, including the developers, really understand what it’s doing. The result is exploit after exploit. And, as Marlinspike says, a lack of joy on the part of those writing the software.

smokel:

Here's a theory on why (some form of) Agile is problematic: Subdividing work into smaller parts is typically beneficial. However, in computer programming, this approach often fails because even the smaller tasks require some creativity, and unexpected challenges are likely to arise.

The person who did the subdividing gains a lot of insight while breaking down the larger problem. However, when transferring a portion of the work to a developer, much of this knowledge is inherently lost. The developer must then devise a creative solution, and lacking the necessary information, may either come up with a suboptimal solution or need further communication with the original architect.

There is no clear-cut solution. Some might argue for more experienced developers who have all the necessary knowledge readily available in their heads. Others might advocate for better design diagrams and documentation to capture all the relevant information. Ultimately, it requires careful consideration, or luck, to strike the right balance. But the dogmas of Agile certainly aren't helping much.

See also: Peter Naur and ncharity.

Previously:

The NeXT IPO That Never Happened

Hansen Hsu (2017, via David Kopec):

Had Steve Jobs’ first company not bought his second, history likely would have been very different. Apple might not exist today. No iPhone. But what could have happened to NeXT? Former NeXT software leader and then-Apple Senior VP of Software Avie Tevanian has donated to the Computer History Museum a historic document that hints at this alternate history: a draft of a November 1996 S-1 SEC statement, never completed or submitted, declaring that NeXT was planning to issue an initial public offering of 5 million shares of common stock.

[…]

Although NeXT’s business in 1996 was about evenly split between its existing OPENSTEP business and WebObjects, Jobs and the NeXT executives believed the WebObjects business would grow much faster than the steadily growing OPENSTEP business and eventually become a majority of its sales.

None of this ever happened. While Jobs was preparing for the NeXT IPO by developing the S-1 disclosure, his first company, Apple, was sinking.

The Insane Engineering of the Game Boy

Real Engineering (via John Gruber):

The original Gameboy was launched in 1989 and was received with mixed reviews. While its success is ingrained in our cultural memory now, when it was launched it was a technologically inferior product. The Gameboy was designed to be a cheap, low-powered, portable gaming system. It was limited in many ways. No backlight for the screen and incredibly low installed memory available for coding games. Review magazines of the time viewed these features as a negative, but these compromises in design were exactly why the Gameboy succeeded. This was a console for the masses. Even with these limitations, engineers and programmers came up with ingenious methods to create games that have not only stood the test of time but launched some of the most valuable franchises in the history of the entertainment industry, TV shows, movies, toys, and even theme parks.

Previously:

Monday, August 26, 2024

Telegram Founder Arrested

Nadeem Badshah and Reuters (Hacker News):

Pavel Durov, billionaire co-founder and chief executive of the Telegram messaging app, was arrested at the Bourget airport outside Paris on Saturday evening, TF1 TV said, citing an unnamed source.

[…]

Telegram offers end-to-end encrypted messaging and users can also set up “channels” to disseminate information quickly to followers.

John Gruber:

One-on-one chats in Telegram are not encrypted by default and group chats never are. Telegram employees have access to every single message ever sent to every group.

Nick Heer:

I believe it is best to wait until there is a full description of the crimes French authorities are accusing Durov of committing before making judgements about the validity of this arrest.

[…]

One can quibble with Telegram’s choices. How appealing it is to be using an app which does not support end-to-end encryption by default is very much a user’s choice. But one can only make that choice if Telegram provides accurate and clear information. I have long found Apple’s marketing of iMessage deceptive. Telegram’s explanation of its own privacy and security is far more exploitative of users’ trust.

Matthew Green (Hacker News):

This post is inspired by the recent and concerning news that Telegram’s CEO Pavel Durov has been arrested by French authorities for its failure to sufficiently moderate content. While I don’t know the details, the use of criminal charges to coerce social media companies is a pretty worrying escalation, and I hope there’s more to the story.

There are some details here (Hacker News), but I don’t have a good understanding of the charges. Some questions that come to mind:

  • Was the arrest warrant secret? Otherwise, why would he land in France?

  • Every large service has a non-zero amount of CSAM and other criminal activity. Other than Megaupload, I haven’t heard of any that deliberately encourage such activity. How do they draw the line for moderation that’s good faith but not good enough?

  • Or is this a pretext and they have another reason for wanting to pressure Telegram into shutting down or revealing data?

  • It sounds like Telegram’s deceptive handling of encryption backfired—if it were actually encrypted they wouldn’t be able to moderate the content. Various governments try to get Apple to remove apps from the App Store, but they don’t seem to bother with iMessage because Apple’s hands are tied.

  • Yet, especially prior to Advanced Data Protection, Apple does—after the fact, through backups—have access to lots of iMessage conversations. Apple is happy to share them with law enforcement, but even if they weren’t it’s hard to imagine Tim Cook being arrested.

Matthew Gault (Hacker News):

Telegram is a lot of things—a great place for open-source intelligence about war, a possible vector for child sex abuse material, and a hub for various scams and crimes—but it is absolutely not an encrypted chat app. Does Telegram provide an encrypted chat option? Yes, but it’s not on by default and turning it on isn’t easy.

[…]

Telegram is mostly about big group chats and channels where people share information with their fans.

Maybe the encryption issue is a distraction it’s mostly a Facebook-style social network. How would E2EE make sense there?

Previously:

CarPlay Spinning Its Wheels

Dan Moren:

But even against this backdrop, CarPlay increasingly found itself squeezed by a variety of factors: automobile manufacturers who didn’t want to cede control to an outside force, internal Apple forces focusing on the nascent car project, and increased competition from Google, which not only debuted its own Android Auto feature a year after CarPlay, but also made a play for even deeper integration via Android Automotive a few years later. The future of the feature was far from assured.

[…]

Let’s be clear: CarPlay is far from dead. It continues to get new features with every major update to iOS. This year, it gains a few new additions, including a handful of design tweaks, the sound recognition feature for horns, and new accessibility options, including color filters. All features which are nice to have, even if none rise to the level of significant changes.

[…]

So where does this leave CarPlay? It’s ended up in a holding pattern: It’s good enough for most of what it does, but with the potential of next-generation CarPlay waiting in the wings, it’s understandable that the current version isn’t really being pushed forward.

I don’t think users really care about the next-gen stuff. Just focus on the basics. Improve the design of the existing screens. Actually show the full title of the song that’s playing. Show a history in Music. Make muting in Maps one-tap. Add basic features that are missing from the car versions of the built-in apps. Add more built-in apps, like Find My. None of this is blocked by the auto makers.

Previously:

Using Codable and Enums in SwiftData Models

Fatbobman (Reddit):

In SwiftData’s default storage implementation, the method of persisting the people attribute is not by converting data into binary format through encoders such as JSONEncoder and storing it in a single field (similar to Core Data’s Value Transformer). Instead, SwiftData creates separate fields for each attribute of Codable data within the table corresponding to the entity (interpreted as converting to Core Data’s Composite attributes).

[…]

Such errors indicate that not all complex types conforming to the Codable protocol are suitable for SwiftData models. Although some complex Codable types may compile correctly, they can lead to inconsistent behavior and anomalies in practice (many developers have reported such issues without a clear pattern).

It’s odd how Codable is used as the marker for automatic destructuring, but then SwiftData doesn’t actually follow your Codable conformance (or even the CodingKeys names) to decide how to do it.

Due to the non-fully encoding and decoding nature of Codable types, altering their properties by adding, removing, or renaming can disrupt SwiftData’s lightweight data migration mechanism. This is particularly critical when the application employs SwiftData’s built-in cloud synchronization feature, as such modifications may not comply with the cloud synchronization rules, leading to sync failures.

[…]

Although using enum types directly as model properties is highly convenient, as of iOS 18, SwiftData still does not support using enum types as query predicates.

Previously:

Chrome’s Manifest V3 and uBlock Origin

Michael Crider (Hacker News):

A change in Chrome’s extension support — from the Manifest V2 framework to the newer V3 — is being billed as a way to make browser add-ons safer, more efficient, and compliant with modern APIs. But it’s also deprecating features that complex extensions reply upon.

One of those extensions is uBlock Origin, an ad-blocking tool with over 30 million users according to its Chrome Web Store page (and presumably many more users across other browsers).

Martin Brinkmann (Hacker News):

Note: these changes will also impact other Chromium-based browsers, including Microsoft Edge, Opera, or Vivaldi. Brave is special, as the developers announced that they will continue to support uBlock Origin and several other extensions (but not all).

[…]

There is a way to keep on using the classic extensions for longer. While Google turns off support for home users immediately, it is giving Enterprise customers an option to extend support by one year.

Previously:

Friday, August 23, 2024

Receiving RSS Feeds in E-mail

Adam Engst:

However, the real win in centralizing newsreading in email has come from RSS-to-email services. I’ve tried numerous RSS readers over the years but have never settled down with one because they require me to devote specific time to reading news. That requires remembering to do so and switching context. I actively want to see what’s new in my email every morning and throughout the day, but I never even think to launch an RSS reader. I have the same issue with Apple News, which languishes on my Mac and iPhone for weeks or months between launches. By employing an RSS-to-email service, new posts from blogs and other sites that provide RSS feeds can appear in my email automatically.

Which one to use? I’ve been testing three: Blogtrottr, Feedrabbit, and Follow.it. Although the interfaces vary a bit, the basics are similar—enter a feed URL, configure a few options, and then sit back and receive an email for each new post. Each of these services offers a free account with paid upgrades that remove limits and provide additional features. Here’s how they compare.

I prefer an actual RSS reader, since I find it more efficient for following large numbers of feeds. However, I can see the appeal of having both RSS and e-mail news in the same app, and e-mail is nice in that it naturally creates an offline archive that can be searched later.

Alas, it does not look like any of these services supports non-RSS sites like Facebook and Twitter.

Previously:

Takeaways From the Vision Pro After 6 Months

Matthew Ball (Hacker News):

The Vision Pro is arguably the highest-profile and most important device debuted by Apple since the iPhone in January 2007. The company spent more time (eight years versus the iPhone’s three) and money (see point #2) developing the device than any other in its history. The Vision Pro is clearly the most ambitious of their product launches since the iPhone, the first to be wholly developed under the purview of CEO Tim Cook (though various head-mounted display prototypes were underway as early as 2006), and reporting suggests that its viability was controversial internally (with some employees arguing that Head-Mounted Displays (“HMDs”) impart harm by isolating its wearers from other people and, ultimately, the world around them).

[…]

The very sentence before Apple announced the price of the Vision Pro at WWDC23, Rockwell explained—rationalized—that “If you purchased a new state-of-the-art TV, surround sound system, powerful computer with multiple high-definition displays, high-end camera, and more, you still would not have come close to what Vision Pro delivers.” Given this, we have to evaluate the Vision Pro with the fullest of expectations. And to that end…

[…]

A few months later, there is a wider understanding that while Apple has built some brilliant technology (inclusive of software and hardware), much of its relative spectacle stemmed from the high-end components Apple chose to use and which Meta has thus far opted against.

[…]

EyeSight was not a wholly unique—Meta had even publicly demonstrated a similarly minded prototype in 2021—but culturally, it seemed uniquely Apple. When marketing the Apple Watch, for example, Cook had emphasized the way it reduced digital isolation by keeping users from pulling out their phones and tilting their heads down to it. In time, we may come to consider EyeSight (or similar technologies) essential to the mainstream adoption (and, further, use of) HMDs. Thus far, however, the feature seems like a costly mistake.

[…]

The Vision Pro is best-in-class when it comes to “spatial mapping” of real-world environments. It’s passthrough functionality is also best-in-class in latency, precision, and image quality. It was also important to Apple that the device be seen as a “mixed-reality” or “spatial computing” device, not a virtual reality one. At the same time, the device is, functionally speaking, a virtual reality device.

Sylvia Varnham O’Regan and Wayne Ma (via Slashdot, MacRumors, Hacker News):

Meta Platforms has canceled plans for a premium mixed-reality headset intended to compete with Apple’s Vision Pro, according to two Meta employees.

Meta told employees at the company’s Reality Labs division to stop work on the device this week after a product review meeting attended by Meta CEO Mark Zuckerberg, Chief Technology Officer Andrew Bosworth and other Meta executives, the employees said.

Ryan Christoffel:

Apple’s Vision Pro seems to have scared Meta off from entering the premium headset market. But in this case, that’s not exactly a win.

Previously:

Apple Podcasts on the Web

Juli Clover:

Apple today announced the launch of a Podcasts on the web feature, which works in Safari, Chrome, Edge, and Firefox on Macs, PCs, and other devices. Podcasts on the web allows users to search for, browse through, and listen to podcasts with access to the Up Next queue and library when signed in to an Apple Account.

John Voorhees:

The UI is essentially the same as Apple’s native app but with the added flexibility of working on non-Apple devices.

[…]

Links opened on Apple devices will open in the native Podcasts app and in the browser on other devices, although on the Mac, it is possible to play episodes in a browser if you prefer.

John Gruber:

The only use case for something like this is for users who spend a lot of time on Windows — presumably at work — and wish they could listen to their own podcast queue. That’s a big use case though!

I continue to use Overcast, but I’m considering adding Apple Podcasts as a second app to manage podcasts that we listen to in the car as a family. That would let me keep the subscription lists separate, and perhaps the Web version would make it possible to make additions from other devices (alas, not from iOS devices) that aren’t logged into my account. Of course, it would be better to have actual family sharing support within the Podcasts app. And it’s still clunky and doesn’t support OPML.

Adam Engst:

Those who don’t wish to sign in can listen to millions of free podcasts, browse Top Charts, and take advantage of Apple’s editorial collections. Signing in with your Apple ID gives you access to your Library, Up Next Queue, and subscriptions. Signed-in users can also follow shows and save play progress.

I must admit some curiosity as to why Apple has suddenly started producing Web versions of some of its apps and services. Nothing prevented Apple from doing this years ago—Google and Spotify have produced capable Web apps for ages.

Tim Hardwick:

Apple Podcasts, once the dominant platform for podcast listening, is experiencing a significant decline in popularity as competitors like YouTube and Spotify gain ground, according to a recent study by Cumulus Media and Signal Hill Insights.

[…]

YouTube is now the most popular platform for podcast consumption in the United States, with 31% of respondents reporting it as their primary choice. Spotify follows at 21%, while Apple Podcasts has dropped to third place with only 12% of the market share.

This is in stark contrast to Apple's position just a few years ago. In July 2019, 29% of weekly podcast listeners primarily used Apple Podcasts.

Previously:

Apple’s Hidden AI Prompts

Hartley Charlton:

A Reddit user discovered the pre-prompt instructions embedded in Apple’s developer beta for macOS 15.1, offering a rare glimpse into the backend of Apple’s AI features. They provide specific guidelines for various Apple Intelligence functionalities, such as the Smart Reply feature in Apple Mail and the Memories feature in Apple Photos. The prompts are intended to prevent the AI from generating false information, a phenomenon known as hallucination, and ensure the content produced is appropriate and user-friendly.

Andrew Cunningham:

The files in question are stored in the /System/Library/AssetsV2/com_apple_MobileAsset_UAF_FM_GenerativeModels/purpose_auto folder on Macs running the macOS Sequoia 15.1 beta that have also opted into the Apple Intelligence beta. That folder contains 29 metadata.json files, several of which include a few sentences of what appear to be plain-English system prompts to set behavior for an AI chatbot powered by a large-language model (LLM).

Wes Davis (Mastodon):

They show up as prompts that precede anything you say to a chatbot by default, and we’ve seen them uncovered for AI tools like Microsoft Bing and DALL-E before. Now a member of the macOS 15.1 beta subreddit posted that they’d discovered the files containing those backend prompts. You can’t alter any of the files, but they do give an early hint at how the sausage is made.

Nick Heer:

But, assuming — quite fairly, I might add — that these instructions are what underpins features like message summaries and custom Memories in Photos, it is kind of interesting to see them written in plain English. They advise the model to “only output valid [JSON] and nothing else”, and warn it “do not hallucinate” and “do not make up factual information”.

Dare Obasanjo:

I find it fascinating that what were science fiction tropes from Asimov’s “I, Robot” series of books are now real.

Telling AI to perform tasks and not make stuff up is the new programming.

Steve Troughton-Smith:

Apple’s system prompts for Apple-Intelligence-backed features show that the company’s ‘special sauce’ is just a carefully-crafted paragraph of text, hacked together just like everybody else is doing. Can’t wait to see the ‘you are Siri’ system prompt.

Tony West:

You are Siri. On HomePod devices, you pop up with “uhuh?” randomly. You start playing music without warning because you thought you heard someone ask for it. If someone asks you about a sports event on today, give them a detailed answer about the event from (perform random number calculation) years ago, but tell them you can’t display information on the current event.

Steve Troughton-Smith:

I guess this isn’t common knowledge, based on the reaction to the Apple Intelligence system prompts, but I read months ago that it was benchmarked that using ‘please’ and ‘thank you’ and telling an LLM not to hallucinate ‘improves results’. If that kind of language has made it into Apple’s own prompts, it’s likely not for no reason.

And no, telling it not to hallucinate isn’t going to stop it hallucinating. But if it on average improves a meaningful % of results, it’s worth including. This is how prompt engineering works.

Previously:

Thursday, August 22, 2024

iOS 18: Browser Choice and Default App Controls in EU

Apple:

Developers of browsers offered in the browser choice screen in the EU will have additional information about their browser shown to users who view the choice screen, and will get access to more data about the performance of the choice screen. The updated choice screen will be shown to all EU users who have Safari set as their default browser. For details about the changes coming to the browser choice screen, view About the browser choice screen in the EU.

For users in the EU, iOS 18 and iPadOS 18 will also include a new Default Apps section in Settings that lists defaults available to each user. In future software updates, users will get new default settings for dialing phone numbers, sending messages, translating text, navigation, managing passwords, keyboards, and call spam filters. To learn more, view Update on apps distributed in the European Union.

Juli Clover:

Along with setting new apps as defaults, Apple will let users delete core apps. The App Store, Messages, Camera, Photos, and Safari apps will be able to be deleted, so it’s essentially just the Settings and Phone apps that will not be able to be removed in the EU. If a user deletes the App Store app, it will be able to be reinstalled from the Settings app if desired, while the other apps can be reinstalled from the App Store.

[…]

With iOS 17.4, EU users were able to select a default browser from a randomized list of the top 12 browsers in their country. In a future update to iOS 18, the browser choice window will pop up again if a user has Safari set as their default. The new browser selection experience will include a descriptive line about the browser, as well as the option to set a default browser right from the choice window. If a user selects a browser that is already installed on their device, it will open automatically, otherwise there will be a downloading icon and the browser will open after it’s downloaded.

coffeemilktea:

Born too late to explore the seas, born too early to explore the stars, born just in time to… change the default messaging app on my phone thanks to government intervention?

What a time to be alive.

Federico Viticci:

My realization in 2024 has been that the DMA fork of iOS is the best iPhone experience. We can finally use our phones like actual computers with more default apps and apps from external sources.

Nico Reese:

They did not give a damn when creating these screenshots. Wrong device for the screenshot, even the Dynamic Island is stretched.

Damien Petrilli:

The Apple ecosystem benefit:

  • Let’s switch Safari to Kagi by default.
  • Wait I need a safari extension.
  • Wait it’s App Store only “to keep you safe”
  • Wait it’s not my computer and I need to put my personal id on a work computer to get it.

[…]

And you can’t do anything on iOS. You are stuck with the “official” list.

See also: MacStories.

Previously:

Update (2024-08-23): Nick Heer:

The way this works currently is the user taps on any app capable of being set as a default for a particular category, then taps the submenu for setting the default app, then picks whichever. If you want to set DuckDuckGo as your default browser, for example, you can do so from the Default Browser App submenu in DuckDuckGo, Safari, or any other web browser app you have installed.

I do not think this is particularly confusing, but I do think the version Apple is creating specifically for the E.U. is a far clearer piece of design. Not only is it what I would be looking for if I were trying to change a default app, it also tacitly advertises the ability to customize an iPhone or iPad. It is a solution designed to appease regulators and, in doing so, makes things better for users.

[…]

If someone were designing visual interfaces for clarity, they would end up with the European version of these screens. Which makes me half-wonder — and half-assume — the motives for designing them the other way.

Open Web Advocacy (via Hacker News):

Today, in a step forward for user choice and browser competition, Apple has adopted 6 out of 11 of our recommendations to comply with the EU’s Digital Markets Act in relation to browser defaults and choice screens. In addition Apple has fixed two severe and deliberate deceptive patterns that we campaigned to fix including at the DMA’s workshop.

difosfor:

I wish they’d focus on getting rid of whatever is still blocking Chrome, Firefox etc from actually porting their web engines to full browser alternatives. Installing WebKit with a different coat on is not what I want.

App Store Business Reorg

Juli Clover (Hacker News, ArsTechnica, 9to5Mac):

App Store vice president Matt Fischer is set to leave the company as Apple prepares for an App Store reorganization to deal with regulatory changes, reports Bloomberg.

Apple plans to split its App Store group into two teams, one that handles the App Store and a second team that oversees alternative app distribution.

[…]

With Fischer leaving, App Store senior director Carson Oliver will oversee the App Store, and Ann Thai, a director who oversees App Store features, will head up the team that handles alternative app distribution.

Amy Worrall:

The former team should of course be subservient to the latter.

Andrew Grant:

It’s debatable who looked most looked like a cartoon villain after Apple’s recent public hearings, but Oliver was certainly in the running.

Colin Cornaby:

This feels like a precursor to third party iOS stores shipping in more regions, maybe worldwide.

Mark Gurman:

Phil Schiller, the Apple executive ultimately responsible for the App Store, is spearheading these changes.

Jeff Johnson:

That the marketing department is still in charge of everything tells you everything you need to know about the App Store.

Previously:

iOS 17 Search String Crash

Juli Clover (Slashdot):

There is a new character bug that can result in a respring on the iPhone or iPad, reports TechCrunch. Typing "":: in the search field after swiping over to the App Library will cause the Springboard to reset, dropping you back at the iPhone’s Lock Screen.

[…]

Typing the same characters into the Settings app search interface will cause the Settings app to crash, but putting it in a Spotlight search doesn't seem to impact anything.

This one doesn’t even require Unicode.

Buttered Jorts:

“”:X where X is any additional character will trigger it.

Previously:

Pair Networks Sold to Your.Online

ACCESSWIRE (via Hammer):

Liberated Syndication Inc. (“Libsyn”), the leading podcasting platform for creators and advertisers, announced it has signed an agreement to sell Pair Networks, its website hosting platform, to Your.Online, the online services platform of Strikwerda Investments, a family office based in The Netherlands.

[…]

As part of the greater Your.World group of online solution providers, Your.Online is the leading serial acquirer in online services, providing high quality managed online services to businesses of all sizes.

Customers have not been notified yet.

Previously:

Wednesday, August 21, 2024

Monument Valley 3 in Netflix Games

John Voorhees (Mastodon):

Yesterday, during Gamescom’s opening night ceremonies, Netflix Games released a trailer for Monument Valley 3. The franchise’s sequel from Ustwo Games, which has been in development for five years, will be published exclusively on Apple’s App Store and Android by Netflix Games on December 10th. Monument Valley 1 and 2 are also moving to Netflix Games on September 19th and October 29th, respectively. Both games previously launched on the App Store as paid titles and were later added to Apple Arcade.

Jason Snell:

Netflix has been slowly rolling out a big catalog of games, tied to a Netflix login. There are loads out now, including the excellent Lucky Luna and Laya’s Horizon (both from Snowman, developer of the excellent Alto’s series of iOS games).

Matt Birchler:

Out of curiosity, I checked out the full list of game they currently have available to subscribers, and it’s pretty good! It’s similar to Apple Arcade, but what stands out to me is that it has more of the sorts of games that appeal to me. Below are some standouts, some of which are on Apple Arcade as well, and some that were game-of-the-year contenders in the larger gaming space outside of iOS.

Joe Rosensteel:

Wow. I wonder what the story is behind the scenes that would lead to this (the story is “a truck full of money”). If there was a pantheon of iOS games, the previous Monument Valley games were surely in it.

See also: Filipe Espósito.

Previously:

Update (2024-08-22): John Gruber (Mastodon):

I think Netflix is doing what Apple claimed they were doing with Apple Arcade — except Netflix didn’t lose focus five minutes into the initiative.

[…]

Apple has botched this. It’s hard to believe, but they have. The general gist among game developers is that Apple is a hard-driving partner with whom, mostly likely, you’ll break even at best.

Sumocat:

The major flaw in Apple Arcade is revenue sharing. It’s complicated, pays out over time, and there’s no way of knowing how it will pay out. Netflix pays for content upfront. Easiest way to get paid for anything.

Moom 4

Many Tricks (release notes, tweet):

Moom 4 has a completely revamped user interface designed to help you get the most out of Moom. Gone is the multi-tabbed non-resizable window, replaced with this new resizable window.

[…]

The pop-up palette is both customizable and expandable, supporting up to 61 of your own custom actions.

You can use folders (and folders within folders) to organize your actions.

[…]

Every custom action can be renamed, not just saved layouts.

[…]

Any saved layout can be added to a screen edge in Moom’s snap feature. Once you’ve done that, drag a window onto that region, and the associated saved layout’s window locations become drop zone targets[…]

[…]

That Hover entry in the sidebar? It’s an entirely new way of working with windows. By defining some modifier key combos, you can move and/or resize any window—even one in the background—by simply holding down the defined modifier key combos and moving your mouse.

[…]

Chains—combinations of multiple actions—now have two operating modes. As before, they can run as one command (e.g., resize this window and move it to the other display), or they can run sequentially, executing each action in the chain each time the keyboard shortcut is used (e.g., move from one-third left to center third to right third).

This looks really great. With the launch sale, new licenses are $10 (vs. $15) and upgrades are $6. Apple never did add an entitlement for accessibility access, so with the major version upgrade Moom is no longer grandfathered and has to leave the Mac App Store.

Previously:

Update (2024-08-22): Rui Carmo:

The key highlight for me is the new “drop zones” functionality, which looks a lot like the Windows PowerToys’ FancyZones feature I have come to rely on.

Swift Imposter Syndrome Meme

Jacob Bartlett:

While I recognise many of these words, I frankly didn’t know what most of these actually do. I don’t even know what these things are called.

It turns out the term is type attributes.

[…]

Today, we’re going to work together to understand type attributes in detail by recreating the meme step-by-step — you’re welcome to open a Swift playground and code along.

Previously:

Self-Hosted VPN App Rejected Due to IAP

Anders Borum (via Miguel Arroz):

Patreon being forced to pay creators through in-app purchase reminded me of a cool app I made two summers ago.

VPN clients on iOS lie on a spectrum between selling you out to data brokers or being expensive subscriptions.

Having prior experience with Digital Ocean my app made it easy to spin up droplets configured as VPNs ready to use from your iPhone.

It was so fast that droplets could be launched on-demand and shut down fast keeping costs extremely low.

The app used OAuth to act on behalf of users on their personal Digital Ocean accounts making the cumbersome task of setting up a truly personal VPN available to the less technical or less patient user.

App Review rejected the app because I didn’t collect payment to Digital Ocean through in-app purchase.

Tried to appeal and spoke to Apple on the phone arguing that the payment was outside my control and that my app was a privacy boon but they did not care.

Patreon was already collecting payments from supporters on behalf of creators, and Apple wanted a cut. You can think the cut is too high or disagree on principle, but it at least makes sense. In this case, Borum didn’t even want to be in the business of selling Digital Ocean hosting services. He just wanted to make a utility to help people use their existing accounts. At least Apple is not requiring him to become an AWS reseller

Previously:

Tuesday, August 20, 2024

EagleFiler 1.9.15

EagleFiler 1.9.15 is a maintenance release for my Mac information organizer app. This version greatly improves the quality of imports from X/Twitter and expands the import-tweet-via-hotkey support to more browsers. Preserving the selected text when capturing whole Web pages also works in non-Safari browsers now.

Some interesting bugs were:

  • macOS Sequoia has changed the way filename extensions are parsed. The documentation still says “The path extension is the portion of the last path component which follows the final period, if there is one.” However, invisible files with no basename (e.g. ..tiff) are now reported as having no path extension (and thus no file type) at all.

  • Recent versions of Safari include the profile name in the document name (not just in the window title), which seems like a bug to me, but now we work around that. (Safari also sometimes does this when printing a page to PDF.)

  • For several years, a small yet significant percentage of my customers have been unable to download and install my apps because macOS incorrectly reports them as damaged. The disk image’s checksum, the code signature on the app, and the notarization all check out. It’s not actually damaged. Yet macOS insists, and Gatekeeper can’t be overridden using the contextual menu or System Settings. I had been recommending that such customers redownload the app using Terminal and curl, as that avoids the file quarantine. However, there’s now an easier solution: a Download Fixer tool that will “fix” an already installed app that’s “damaged” after verifying the code signature.

  • Sandbox testing of Mac App Store receipts seems to be broken again, and the usual cache resetting didn’t work, either. I was able to test it on a fresh macOS installation, though. I’ve seen some reports of Sequoia-specific problems but haven’t seen them myself.

Previously:

tvOS 17.6.1

Juli Clover (no release notes, no security, no developer):

We do not yet know what’s included in the update.

Previously:

watchOS 10.6.1

Juli Clover (no release notes, no security, no developer):

According to Apple’s release notes, the watchOS 10.6.1 update fixes an issue that could prevent access to the Apple Fitness+ service.

Previously:

Apple Maps on the Web

Apple (Hacker News):

Today, Apple Maps on the web is available in public beta, allowing users around the world to access Maps directly from their browser.

[…]

All developers, including those using MapKit JS, can also link out to Maps on the web, so their users can get driving directions, see detailed place information, and more.

Juli Clover:

Maps on the web is available in English at the current time, and it works with Safari and Chrome on Mac and iPad, and Chrome and Edge on Windows PCs. Apple plans to add support for additional languages, browsers, and platforms over time.

Niléane Dorffer:

Apple Maps on the web seems to be rather limited so far. The web app supports panning and zooming on the map, searching and tapping on locations, looking up directions, and browsing curated guides. However, it isn’t currently possible to tilt the map to view 3D building models or terrain elevation, and directions are limited to Driving and Walking. Look Around (Apple’s equivalent to Google Street View) is not available on the web either, but Apple says the feature will arrive in the coming months.

[…]

In my testing, performance across Apple Maps on the web isn’t stellar in Safari. I’m observing stutters in transition animations, as well as when panning the map. In Google Chrome, however, the web app feels significantly smoother.

Adam Engst:

However, it worked poorly in my testing in Microsoft Edge running in Windows 11 on my M1 MacBook Air via VMware Fusion.

[…]

With the beta of Maps on the Web, when you share the URL to a location from the browser’s address bar, the recipient gets a more full-featured mapping experience regardless of platform.

Daniel Andrews:

While I don’t anticipate this is going to put Google out of business any time soon, I’m hopeful that this does a few things. First, having this available on the web will hopefully drive more visibility into the hit-or-miss nature of some of the POI data on Apple Maps. I’m crossing my fingers that we see an improvement in the quality of data on the platform.

Joe Rosensteel:

There’s something funny about reading these stories on your iPhone and tapping the link to get an error that Safari for iOS is an unsupported browser. I know the app is a better experience, but this should be a little more graceful if you want to get the word out about Apple Maps on the web …

Juli Clover:

Apple updated its Apple Maps on the web feature to add support for the Firefox browser this week.

Previously:

Apple Maps in Sequoia and iOS 18

Ryan Christoffel:

Building on the existing Guides feature, Maps in iOS 18 lets you save places with a quick tap of the + button on their Maps listing.

Saved places are accessible from the new Library menu, where you’ll also find your Guides, Pinned locations, and more.

[…]

A great component of saving a place is that you can then add a personal notes to it.

[…]

A big focus of iOS 18’s Maps update is better serving hikers.

It will be interesting to compare this with the more specialized hiking apps, but I can’t see why I would prefer Maps. It’s not going to have the navigation features or the community.

Juli Clover:

Apple Maps supports custom routes in iOS 18, so you can plan out a specific hiking route that you want to take. At a trailhead, you can tap on the “Create a Custom Route” option to initiate the custom routing experience.

From there, you tap on the map to begin setting points for your route, and the Maps app will provide length and elevation details. You can also have the Maps app finish a route automatically by tapping on the Reverse, Out and Back, or Close Loop options.

Joe Rossignol:

These features are mostly limited to the U.S., but topographic maps are also available in Japan, according to fine print on Apple’s website.

John Gordon:

Apple blew away the saved places I set when Maps was young. They have a long record of destroying user data. Why would I trust their new “saved places”?

Chance Miller:

Hidden in iOS 18 is much-needed, long-requested update to Apple Maps. There’s finally a “Search here” button that makes it far easier to find what you’re looking for in places that aren’t your current location.

Tim Hardwick:

In earlier versions of iOS, if you search nearby for, say, gas stations or restaurants in Apple Maps, and then drag the map to another location with your finger, it will usually (but not always) auto-populate the new area with search results for the same request.

Norbert Doerner:

Did anyone watch WWDC 2024 session 10097 “Unlock the power of places with MapKit”?

Am I the only one who thinks that this was more of a really weird sales pitch, with very little actual developer value, and much less usable technical details?

Saagar Jha:

I think this is an iOS 18 thing but Maps actually has a very low-resolution offline map of the entire world stored on your phone. You might ask what a map that doesn’t work on viewports smaller than 100km would be useful for. Well, it gives you your own little flight tracker[…]

Previously:

Monday, August 19, 2024

Roblox: the Biggest Game in the World

Matthew Ball (via Hacker News):

During the average day, more than 80MM people log onto Roblox. As a historical point of contrast, this means that more people log onto Roblox every 10 or so minutes than used Second Life in a month at its peak. On a monthly basis, Roblox now counts more than 380MM users according to RTrack – 2x as many as PC gaming leader Steam, 3x that of Sony’s PlayStation, 3x the number of unique annual users of the Nintendo Switch in a year, and 5x as many as have bought an Xbox console in the last decade. After accounting for duplication across these platforms, as well as the gap between monthly and annual Switch users, it’s likely Roblox has more monthly users than the entire AAA gaming ecosystem combined. What’s more, NPD/Circana reports that Roblox is typically one of the 3–7 most played games on PlayStation and Xbox (Roblox is not available on Switch or Steam), and SensorTower says that in 2023, Roblox averaged more iOS/Android monthly active users than any other game (including Candy Crush!).

Compared to its most similar competitors—the social virtual world platforms, Minecraft and Fortnite — Roblox has about 5x and 2.25x as many monthly players. For non-gamers, Roblox has about two thirds as many monthly users as Spotify and half as many as Snap (though it probably has a lower share of daily-to-monthly active users) and is roughly as popular as Instagram circa Q4 2015, and Facebook in Q3 2009.

When you’re that popular, you don’t have to follow Apple’s rules about not having App Store–like interfaces, apps within apps, or downloading code.

So yes, Roblox is unquestionably “working.” Yet Roblox is also unprofitable. Very unprofitable. What’s more, Roblox’s losses continue to swell because its impressive rate of revenue growth has been outpaced by that of its costs. Over the last four quarters, Roblox’s income from operations was ($1.2B) on revenues of $3.2B, representing a -38% profit margin.

[…]

Unfortunately, many of these costs are outside of Roblox’s control. To start, an average of 23% of revenues are consumed by various App Store/platform fees (this sum is less than 30% because roughly 20% of sales are direct via browser or PC, where Roblox pays credit card processing fees but not 30% store commissions). Another 26% of revenues are paid out to Roblox’s UGC developers.

Previously:

VPN Apps in Brazilian App Store

Proton (via Hacker News):

We have received multiple reports today from users in Brazil having difficulties installing the Proton VPN app on iOS devices via the Apple App Store. We can confirm that the issue is not on our side, but likely with the App Store itself, which is controlled by Apple. What makes this an extremely strange coincidence is that it is also impacting multiple other VPNs in the Brazilian app store.

Most likely, something has happened on the Apple side, and we do not know if it is accidental, or if Apple is secretly implementing a censorship order.

Previously:

Update (2024-09-06): Jack Nicas and Kate Conger (9to5Mac):

Justice Moraes issued multiple orders on Friday. In the first, he also ordered Apple and Google to prevent downloads of X as well as popular VPN apps.

People across Brazil quickly criticized the move against VPN apps, and about three hours later, Justice Moraes issued an amendment to the order, this time leaving out the directives to Apple and Google.

Even with that amendment, Carlos Affonso Souza, a Brazilian internet-law professor, called the order “the most extreme judicial decision out of a Brazilian court in 30 years of internet law in Brazil.”

Gui Rambo:

The original decision also banned all VPN apps and asked Google and Apple to remove all VPN apps from the stores, but he backtracked on that “for now”. Crazy stuff.

Mike Masnick:

I initially thought that first section couldn’t possibly mean that app stores also had to ban VPNs. But that’s what it pretty clearly says and what multiple Brazilian reports claim.

The end result is taking away VPNs from millions of Brazilians, which is an awful lot of collateral damage just because Elon Musk is a jackass. VPNs have many legitimate uses other than accessing ExTwitter after a ban in Brazil.

A few hours after the decision, Moraes seemed to walk back that section of the ruling, though perhaps only temporarily. In a second short ruling, he “suspended the execution” of that item “until there is a statement from the parties in the proceedings” in order to “avoid any unnecessary and reversible inconvenience to third-party companies.”

In other words, after Moraes hears from “the parties in the proceedings,” the VPN ban could come back.

Mike Masnick:

On Monday, the Supreme Court upheld the overall ban. Moraes said that the ban on personal use for VPNs would only be enforced for users who sought to “engage in conduct that defrauds the court decision,” which seems somewhat broad and open to interpretation. One other judge wanted to limit the individual fines only to users who got around the ban and used it to post racist or fascist supporting content, but that request did not receive the necessary support from the other judges.

Brazil vs. Twitter

Luana Maria Benedito (via Hacker News):

Media platform X said on Saturday it would close its operations in Brazil “effective immediately” due to what it called “censorship orders” by Brazilian judge Alexandre de Moraes.

X Global Government Affairs:

Last night, Alexandre de Moraes threatened our legal representative in Brazil with arrest if we do not comply with his censorship orders. He did so in a secret order, which we share here to expose his actions.

Despite our numerous appeals to the Supreme Court not being heard, the Brazilian public not being informed about these orders and our Brazilian staff having no responsibility or control over whether content is blocked on our platform, Moraes has chosen to threaten our staff in Brazil rather than respect the law or due process.

As a result, to protect the safety of our staff, we have made the decision to close our operation in Brazil, effective immediately.

The X service remains available to the people of Brazil.

Michael Shellenberger (in April):

They:

  • illegally demanded that Twitter reveal personal details about Twitter users who used hashtags he did not like;
  • demanded access to Twitter’s internal data, in violation of Twitter policy;
  • sought to censor, unilaterally, Twitter posts by sitting members of Brazil’s Congress;
  • sought to weaponize Twitter’s content moderation policies against supporters of then-president @jairbolsonaro

Previously:

Update (2024-08-21): Brian Mier (via Simone Manganelli):

Days later, Brazil’s former secretary of digital rights, Estela Aranha, unmasked the fraud. Confronting Shellenberger publicly on Twitter, she demonstrated that he had cut and pasted together paragraphs selected from the company’s internal communications on a variety of different issues to create a false narrative (FAIR.org, 4/18/24). The paragraph about criminal charges referred not to de Moraes, but to GAECO, the Sao Paulo district attorney’s office’s organized crime unit, which pressed charges after Twitter refused to turn over user data on a leader of Brazil’s largest cocaine-trafficking organization. Shellenberger apologized in Portuguese, admitting he had no proof that de Moraes had pressed charges against Twitter, then left Brazil.

The eight-page congressional report parroted Musk and Shellenberger’s criticism of the deplatforming of Twitter users, and claimed that ordering the removal of specific posts constitutes “censorship.” Surprisingly, for a report authored by a committee chaired by inner-circle Trump ally Jim Jordan, the most cited journalistic source for the document is the New York Times.

The Times is generally not sympathetic to Musk or Jordan, so this could be interpreted as if even the Times agrees with them, there must be something to this. However, Mier casts doubt on the Times’s reporting.

It is disputed precisely what Twitter was being asked to do, and I don’t have the time or expertise to dig into the claims and counterclaims. However, it does seem to be the case that Twitter received a secret order, that its local staff was threatened, and that it’s leaving Brazil.

Update (2024-09-06): Sophia com PH:

[Moraes] was the one who ordered the arrest for all of the insurgents and the one that, and this is important, ordered Elon to surrender the names and IP addresses of every Brazilian X account who used X to organize this coup attempt.

[…]

As such The Brazilian Constitution written after the end of the dictatorship in 1988 is very strict in regard to treason and coup attempts and such. So yes! By Brazilian laws Elon would have to comply and give this information to Xandão or else he would be obstructing justice.

X Global Government Affairs:

Soon, we expect Judge Alexandre de Moraes will order X to be shut down in Brazil – simply because we would not comply with his illegal orders to censor his political opponents. These enemies include a duly elected Senator and a 16-year-old girl, among others.

When we attempted to defend ourselves in court, Judge de Moraes threatened our Brazilian legal representative with imprisonment. Even after she resigned, he froze all of her bank accounts. Our challenges against his manifestly illegal actions were either dismissed or ignored.

[…]

We are absolutely not insisting that other countries have the same free speech laws as the United States. The fundamental issue at stake here is that Judge de Moraes demands we break Brazil’s own laws. We simply won’t do that.

In the days to come, we will publish all of Judge de Moraes’ illegal demands and all related court filings in the interest of transparency.

Tiago Rogero (Hacker News, Slashdot, Nick Heer):

He gave Brazil’s National Telecommunications Agency 24 hours to enforce the decision. Once notified, the agency must pass the order on to the more than 20,000 broadband internet providers in the country, each of which must block X.

Trey Alston (Hacker News):

“It is urgent to regulate social networks,” [attorney general Jorge Messias] wrote. “We cannot live in a society in which billionaires domiciled abroad have control of social networks and put themselves in a position to violate the rule of law, failing to comply with court orders and threatening our authorities.”

Mike Masonic:

The main argument is that it’s pretty clear that he is violating Brazilian law. First off, it involves disobeying orders coming from the Brazilian Supreme Court, which people insist must be obeyed. Also, the law in Brazil requires that to operate an internet service, you have to have an employee in the country.

But, here’s the thing: as we’ve argued for years, standing up and fighting back against unjust laws is what standing up for free speech and civil liberties is all about.

For example, lots of countries are now pushing for these laws that require internet companies to have local employees in order to arrest them if the company doesn’t do the government’s bidding. We have long pointed out how dangerous this is, as they are effectively “hostage laws” that enable authoritarian countries to put undue pressure on private companies.

[…]

When Twitter refused to pull down those tweets, the Modi government first threatened to jail Indian Twitter employees. Later, it raided Twitter’s offices in India. India threatened to ban Twitter in the country, and some politicians pushed Indians to move to a local competitor, Koo. Twitter fought back against those demands, and many people cheered them on for standing up for free speech and against undue pressure.

Mike Masnick:

In the battle between Elon Musk and Brazilian Supreme Court Justice Alexandre de Moraes, the biggest losers are Brazilians. They are now at risk of being stripped of VPNs while facing massive fines if they somehow get around a countrywide ban on ExTwitter.

[…]

As we noted, there was nothing particularly new about the second point. Brazil has done this in the past with WhatsApp and Telegram.

Jack Nicas and Kate Conger:

X began to go dark across Brazil on Saturday after the nation’s Supreme Court blocked the social network because its owner, Elon Musk, refused to comply with court orders to suspend certain accounts.

[…]

In a highly unusual move, Justice Moraes also said that any person in Brazil who tried to still use X via common privacy software called a virtual private network, or VPN, could be fined nearly $9,000 a day.

[…]

Justice Moraes also froze the finances of a second Musk business in Brazil, SpaceX’s Starlink satellite-internet service, to try to collect $3 million in fines he has levied against X. Starlink — which has recently exploded in popularity in Brazil, with more than 250,000 customers — said that it planned to fight the order and would make its service free in Brazil if necessary.

Starlink:

Earlier this week we received an order from Brazil’s Supreme Court Justice @alexandre de Moraes that freezes Starlink’s finances and prevents Starlink from conducting financial transactions in that country.

This order is based on an unfounded determination that Starlink should be responsible for the fines levied—unconstitutionally—against X. It was issued in secret and without affording Starlink any of the due process of law guaranteed by the Constitution of Brazil.

Jack Nicas (Hacker News):

On Sunday, Starlink informed Brazil’s telecom agency, Anatel, that it would not block X until Brazilian officials released Starlink’s frozen assets, Anatel’s president, Carlos Baigorri, said in an interview broadcast by the Brazilian outlet Globo News.

Mr. Baigorri said he had informed Justice Moraes “so that he can take the measures he deems appropriate.” Mr. Baigorri said his agency could revoke Starlink’s license to operate in Brazil, which would “hypothetically” prevent the company from offering connections to its Brazilian customers.

Yet Starlink could try to continue to provide service in Brazil without a license, though that would violate Brazilian law.

[…]

Mr. Musk has called the financial sanctions on Starlink “absolutely illegal,” saying that Justice Moraes was punishing shareholders of SpaceX for the actions of X, a separate company. Mr. Musk said he owned 40 percent of SpaceX.

Pascale Davies with AP (Hacker News):

Brazil’s Supreme Court voted unanimously on Monday to uphold the decision by one of its justices to ban Elon Musk’s social media platform, X.

Starlink:

Regardless of the illegal treatment of Starlink in freezing of our assets, we are complying with the order to block access to X in Brazil.

Brendan Carr:

Brazil’s decisions to ban X and freeze Starlink assets are part of a growing crackdown on free speech. But they also violates Brazil’s own laws.

Today, I wrote my regulatory counterparts in Brazil to address these unlawful actions.

[…]

The serious and apparently unlawful actions against X and Starlink cannot be squared with the principles of reciprocity, rule of law, and independence that have served as the foundation of the FCC and ANATEL relationship and the basis for reciprocal foreign investment.

Digital Services Act and Thierry Breton vs. Twitter

European Commission:

X designs and operates its interface for the “verified accounts” with the “Blue checkmark” in a way that does not correspond to industry practice and deceives users.

[…]

Second, X does not comply with the required transparency on advertising, as it does not provide a searchable and reliable advertisement repository, but instead put in place design features and access barriers that make the repository unfit for its transparency purpose towards users.

[…]

Third, X fails to provide access to its public data to researchers in line with the conditions set out in the DSA. In particular, X prohibits eligible researchers from independently accessing its public data, such as by scraping, as stated in its terms of service.

Via John Gruber:

Blue checkmarks were indeed used, “back in the day”, to indicate “verified” accounts. But upon purchasing Twitter, Elon Musk eliminated that program. They don’t advertise it as “Verified” any more; they just call it “Twitter Premium” and make it very clear that blue checkmarks indicate premium account status. That’s illegal under the DSA?

Mike Masnick:

I know that many Elon Musk supporters assume that my mockery of the many stupid things that Elon does means that I won’t give him a fair shake. But when he does something good, I’m happy to highlight it and give him kudos.

[…]

We’ve been warning for many years that the EU’s Digital Services Act (DSA) would be abused for censorship by the government. EU officials and supporters of the DSA kept insisting that we were overreacting. But, Thierry Breton has made it clear that while the DSA is under his purview as a Commissioner, it is his own personal censorship tool for anything he dislikes online.

[…]

Donald Trump joined Elon Musk for a conversation on “Spaces,” the extremely buggy real-time audio chat feature on ExTwitter. Before that happened, however, Thierry Breton posted one of his typically smug open letters that more or less warns Elon that if Trump said anything bad, the EU might seek to take action against ExTwitter.

Mike Masnick:

Elon’s response — posting a meme telling Breton to “fuck yourself in the face” — while not exactly a masterclass in diplomatic communication, at least made his feelings on the matter abundantly clear. It also made the point that Breton appeared to be using the DSA in a manner that Europeans insisted the DSA would never enable: to order companies to censor content.

[…]

Indeed, it appears that other EU officials agree that Breton went too far. The Financial Times covered the story by noting that other EU officials were wholly unaware that Breton was going to send that letter, and they sound displeased about it[…]

Mark Scott (via John Gruber):

Four separate EU officials, speaking on the condition of anonymity, said Breton’s warning to Musk had surprised many within the Commission. The bloc’s enforcers were still investigating the platform for potential wrongdoing and the EU did not want to be seen as potentially interfering in the U.S. presidential election. “The EU is not in the business of electoral interference,” said one of those officials. “DSA implementation is too important to be misused by an attention-seeking politician in search of his next big job.”

Previously:

Saturday, August 17, 2024

Epic Games Store for iOS in the EU

Thomas Claburn:

The latest addition, the Epic Games Store, now offers iOS-using Euro-folk access to entertainment titles like Fortnite, Rocket League Sideswipe and Fall Guys.

[…]

The process for installing the Epic Games Store on iOS in the EU is rather convoluted, requiring numerous steps as demonstrated in this video. Epic attributes this “to Apple and Google introducing intentionally poor-quality install experiences laden by multiple steps, confusing device settings, and scare screens,” and says it’s pursuing the issue in court.

Fortnite has been unavailable on iOS since 2020, when Apple banned the game in response to App Store Guidelines violations and Epic sued Apple in the US.

Tim Hardwick (Hacker News):

Going forward, Epic will have to deal with navigating Apple’s new fee structure, including a “Core Technology Fee” of €0.50 per install per year after the first million installs. This fee applies to both the Epic Games Store itself and the games within it, effectively doubling the charge for popular titles like Fortnite. The EU commission is currently investigating whether Apple’s new fee structure complies with the Digital Markets Act.

[…]

The Epic Games Store is only available on iPhones running iOS 17.4 or later, while iPad users will have to wait until the release of iPadOS 18 to access the store on their devices.

Stephen Totilo (via John Voorhees):

Epic’s efforts have been costly for a giant fighting even larger titans.

The company has spent hundreds of millions battling Apple and Google since 2020 to get to this point, Sweeney told Game File during an interview conducted earlier this week.

And, he added, Epic may have missed out on as much as $1 billion in Fortnite revenue in the process.

But Sweeney feels those costs have been worth it.

Samuel Axon (Hacker News):

It’s been a long, winding, angry path to get to this point. In the battle between Epic and Apple, there remains some debate about who really has won up to this point. But there isn’t much dispute that, whether you want to blame Apple or Epic or both, users sure haven’t been the winners.

Previously:

Update (2024-08-19): Brome:

After a lot of unsuccessful attempts yesterday, I finally discovered that the installation of the Epic marketplace has to be launched from Safari, not from a third-party browser.

See also: Hacker News.

Update (2024-08-22): Emma Roth and Jay Peters:

But it’s not clear whether Epic will be able to grow the store far beyond its own games. The company wants to welcome in a vibrant ecosystem of third-party developers, but moving to the Epic Games Store could be an impossible ask for any company that doesn’t make Fortnite-sized piles of cash.

“It just seems like a lose-lose-lose for Apple, developers, and consumers,” says Bob Roberts, the developer of Roundguard at the indie game studio Wonderbelly Games. “It just makes life more complex and confusing without really improving the situation the way folks imagined it would.”

Epic’s game store may offer better terms for developers, but every developer, Epic included, is still subject to fees from Apple, even outside the confines of the App Store. And Apple’s terms and fees for apps on alternative marketplaces are so onerous that Epic has a big hill to climb to convince developers that it’s worth the time and money to list their apps at all.

Via Jason Snell:

This is the thing about how Apple has constructed the rules for alternative app marketplaces in the EU: It has built a system of mandatory fees that reduce (or even entirely remove) any incentive about offering apps outside the App Store.

[…]

I would argue that this is all by Apple’s design. Whether the European Commission regulators think it fails to establish the competitive marketplaces that the Digital Markets Act was attempting to create, well, that’s for the EC to decide.

Helge Heß:

I don’t actually want to use an alternative App Store, but I still want them to exist for the peer pressure. Apple should do sth for its money, and not just stay stagnant and collect the money 🤷‍♀️ Competition is a good thing, lock-in is not.

Thursday, August 15, 2024

Epic Games Pays AltStore PAL’s CTF

Epic Games (tweet, MacRumors):

Epic also plans to bring our own mobile games including Fortnite to other mobile stores that give all developers a great deal. And, we will be ending distribution partnerships with mobile stores that serve as rent collectors without competing robustly and serving all developers fairly, even if those stores offer us a special deal for our own games.

[…]

In exciting news, we are announcing that our mobile games will come to AltStore on iOS in the EU, and we expect to announce support for at least two other third-party stores soon.

Jay Peters (Riley Testut, AltStore, Hacker News):

AltStore PAL, a third-party iOS app store that’s available in the EU, is dropping its annual €1.50 (plus tax) subscription after receiving a “MegaGrant” from Fortnite developer Epic Games. AltStore originally charged the subscription to help cover Apple’s Core Technology Fee (CTF), which is a fee third-party app marketplaces have to pay for each annual app install.

Tim Hardwick:

As for Epic, it has submitted the Epic Games Store to Apple for notarization under Apple’s alternative app marketplace policy in the European Union. The Epic Games Store will include Fortnite, which means iPhone users in the EU will be able to install and play the title without having to use a cloud gaming service. An iPad version of Fortnite is expected to follow this year.

Previously:

iPhone NFC Access Outside EU

Hartley Charlton (Hacker News):

Apple today announced that developers will soon be able to offer NFC transactions in their own apps for the first time – something that is mostly exclusive to Apple Pay at present.

Starting with iOS 18.1 later this year, developers will be able to offer in-app contactless transactions, separate from Apple Pay and Apple Wallet, using new APIs. This opens up new possibilities for in-store payments, car keys, closed-loop transit, corporate badges, student IDs, home keys, hotel keys, merchant loyalty and rewards cards, and event tickets, as well as government IDs in the future.

[…]

Developers will need to request the NFC and Secure Enclave entitlement, enter into a commercial agreement with Apple, and pay the associated fees.

It’s unclear what the fees and business terms are. I presume it will be like CarPlay where some developers get the entitlement and others never even get a response.

Matt Birchler:

So not only can other apps do this, other apps can take over the “double-press the side button” shortcut on iPhones. This means Google Pay, PayPal, ShopPay, or countless other existing, popular wallets could be your wallet and accessed in a moment to pay in stores (after they’ve added support for this, of course). Wonderful!

I’m sure Apple was going to do this anyway and this has nothing to do with regulatory pressures, right? 😉

Mark Gurman:

While Apple pushed back on opening up NFC for what it has called privacy and security reasons, let’s be honest: a huge driving factor has been $ as Apple takes a % of Apple Pay transactions. But, fear not! Apple will charge third-parties for the feature.

Previously: