Wednesday, November 20, 2024

SpamSieve 3.1

SpamSieve 3.1 improves the accuracy of my Mac e-mail spam filter, amongst many other enhancements.

Some interesting issues were:

Previously:

Overcast 2024.11.1

Overcast:

The price change goes into effect tomorrow (November 21).

Premium is going from $9.99 to $14.99, the first price increase since it was introduced 8 years ago.

Chance Miller:

The new 48-hour listening history feature builds upon the undo seek feature that Overcast introduced earlier this year.

  • 48-hour History and Undo: Accidentally seek too far, leave your phone playing overnight, or delete the wrong episode, podcast, or playlist? Just undo it!

The undo seek feature has been one of my favorite parts of Overcast’s big update from July, so I’m thrilled to see this new feature expand even further.

Meanwhile, the new Listening Stats feature gives Overcast users a great way of recapping their podcast listening on a daily, monthly, or yearly basis.

I like the history idea. Previously, the only Premium features that I used were uploads and ad removal.

I’m actually still using the old Overcast, though, because I’m still seeing bug reports, and I’m scared of ending up in a broken state if they bite me. The App Store won’t let me revert to the previous version. I could switch to Pocket Casts, but I don’t want to, and it would be a lot of work because, although I can import OPML, there’s no way to transfer the lists of which episodes are queued or already played, nor can I download the unplayed files that I’ve uploaded.

See also: Under the Radar.

Previously:

Why Can’t iOS Have Smart Folders?

Collin Donnell:

The only apps I know about that have added them for both macOS and iOS are Reminders and Notes, although I’ve found the implementation of them to be a bit weird. In both of those, you can’t add sub-conditions, so you can say all or any of a list of conditions, but you can’t say “all of these conditions and any of these conditions.” It might sound like a small thing, but it’s not.

Anyway, back to the topic. I want this, and I want Apple to add it. Part of me wonders if it’s just a matter of there not being an equivalent to NSRuleEditor in UIKit or SwiftUI, and so every app would have to implement the control on their own.

I was just thinking about this yesterday when reading about News Explorer 2.0 and how its complex filters can sync and work on iOS but can be edited only on macOS.

Pinwheel 1.0

New Mac app from Bjango (Mastodon):

Convert between color formats and color spaces. Automate color contrast testing. Create beautiful gradients and palettes.

[…]

Pinwheel imports Design Tokens JSON, Figma documents, Sketch documents, CSS, asset catalogs, and other file types.

Once you’ve finished making adjustments, automated exporting can be set up to simultaneously export in multiple formats. Would you like SCSS, Design Tokens JSON, and SwiftUI color enums all at once? Sure thing.

$25, no subscription or Mac App Store version.

Tuesday, November 19, 2024

DOJ Wants Google to Sell Chrome and De-Google Android

Juli Clover (Hacker News, 9To5Google):

The United States Department of Justice wants Google to sell off its Chrome browser as part of an ongoing antitrust lawsuit, reports Bloomberg. Earlier this year, Google was found to have a search monopoly, and antitrust regulators have since been deciding on the actions that should be taken to address Google’s anticompetitive practices.

The DoJ plans to ask the court to force Google to sell Chrome, which is the most popular web browser in the world by a wide margin. Chrome’s integration with Google Search and other Google products has been cited as one of the factors limiting search competition.

Regulators also want Google to uncouple the Android operating system from other products like Google Search and the Google Play Store, both of which are apps installed on Android devices by default. It’s not clear how unbundling Android from Google Play would work as Google Play is the Android app store.

This doesn’t make sense to me, and I don’t even really understand what they think it would help with. If there are illegal behaviors, why not address them directly?

Christina Warren:

This was stupid when they tried to do this to Microsoft 25 years ago. It’s equally stupid to do this to Google.

John Gruber:

If Google were forced to sell Chrome, who’d make the default web browser for Android? Android can’t ship without a default browser. And the DOJ wants Google to “uncouple” Android from the Google Play store? Allowing Google to keep Android but not make its own web browser or app store is just nonsense.

[…]

Chrome is not a standalone business. Android is not a standalone business. They’re both just appendages of Google that serve only as distribution channels for the advertising Google shows in search results, and the money it makes from advertising and game commissions in the Play Store. It’s like saying I have to sell my left foot. It’s very valuable to me, but of no value to anyone on its own.

Dare Obasanjo:

This proposal is kind of nuts since the only business model for web browsers is revenue share from search results. That’s how Edge, Safari, Firefox and Chrome make money.

So the only way it makes sense for anyone to buy Chrome is to make Google the default search, otherwise it’s not worth the investment.

M.G. Siegler:

The idea that Google would be broken up as a result of their loss in the antitrust trial against their Search monopoly was never going to happen. Instead, as I wrote last month, it was more like Negotiating 101. Start by putting the biggest ask out there, see how the market (including, notably, Google) reacts and go from there. Having read that particular room, it seems like the DoJ is now closing in on their actual opening proposal.

[…]

The government would argue that consumers will benefit as they'll no longer be as locked into Google Search – especially if this is coupled with an order to end any default search agreements with other browser makers. But unless those other browser makers choose another search engine as the default, it feels like Google Search will not be impacted very much. It is interesting to think if that would impact the uptake and growth of Gemini and a few other Google products, such as their payment services, but that's not what is on trial here.

It's not clear who could pay what for Chrome. Bloomberg throws out the notion of OpenAI being one potential home, but would the government really want that? That would risk anointing – well, really entrenching – a king in a new field. OpenAI's main benefactor, Microsoft could acquire it, especially now that their own Edge browser is all-in on Chromium. But they would probably just use it to bolster not just Bing by also their own AI products and services. And that would be extremely awkward for the government as well.

Previously:

News Explorer 2.0

Ron Elemans (Mastodon):

Sidebar filters, or ‘Smart folders’ as Apple likes to call them, are now fully customizable. You can add as many filters as you like, and they are all synced across all your devices.

[…]

Article comments are automatically downloaded and displayed in the Inspector panel when the article has a comment feed, public comment API, or when the source webpage uses Open Web comments. Being able to read comments directly in the app besides the article is really a nice experience, especially for feeds whose comments are as interesting as the articles themselves.

[…]

The iCloud storage settings panel has a new setting, ‘Local iCloud sync modus’. With this, you can optimize your News Explorer sync infrastructure by assigning ‘Server’ modus to an always-running Mac, and using ‘Client’ modus on all other devices..

[…]

Prefilters allow you to control which articles from a feed are allowed to be downloaded and which are not.

Amazingly, this is a free update. New licenses are $9.99 for Mac and $4.99 for iOS.

Previously:

macOS 15.1.1

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

According to Apple’s release notes, macOS Sequoia 15.1.1 includes security fixes.

Juli Clover:

With the JavaScriptCore vulnerability, processing maliciously crafted web content could lead to arbitrary code execution. The WebKit vulnerability had the same issue with maliciously crafted web content, and it could lead to a cross site scripting attack.

Apple says that it is aware of reports that these two issues may have been actively exploited on Intel-based Mac systems. While the vulnerabilities are only known to have impacted older Macs, other devices are vulnerable to attack because they have the same security flaws.

I’m not sure why, but this seemingly minor update took way longer than other recent ones to install on my Intel MacBook Pro—probably close to an hour, with the fans blaring for most of that time.

Jeff Johnson:

Getting an Apple Intelligence modal ad after installing macOS 15.1.1

Also, 15.1.1 wants me to store all my files in iCloud, enabled by default, WTF?!?

For me, it didn’t change anything with iCloud Drive, and (on a Mac that doesn’t support Apple Intelligence) it didn’t show any onboarding screens at all. I had gotten used to being asked to sign into iCloud again.

Previously:

iOS 18.1.1 and iPadOS 18.1.1

Juli Clover (no iOS/iPadOS release notes, security, no enterprise, no developer):

According to Apple’s release notes, the iOS 18.1.1 update provides important security fixes.

Previously:

visionOS 2.1.1

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

Today’s update focuses on security fixes rather than new features, and it is recommended for all Vision Pro users.

Previously:

Monday, November 18, 2024

Swift Concurrency Proposal Index

Quinn (via Fatbobman):

This post summarises the Swift Evolution proposals that went into the Swift concurrency design. It covers the proposal that are implemented in Swift 6.0, plus a few additional ones that aren’t currently available.

The focus is here is the Swift Evolution proposals. For general information about Swift concurrency, see the documentation referenced by Concurrency Resources.

Marcin Krzyzanowski:

I really really dislike the state of Swift Concurrency knowledge

  1. check the year
  2. find appropriate version of proposal
  3. find how it is implemented
  4. find proposal that changes that proposal
  5. extract current state of expectation

Previously:

Why Is Lightroom Always Generating Thumbnails?

I really like working in Lightroom Classic except that—despite continually updating to newer versions that promise performance improvements and newer Macs with faster processors, SSDs, and more RAM—it still feels slow. Maybe it’s my imagination, but I don’t think it was always thus. I think I used to be able to import a thousand photos and do stuff in the app during that process. Now, the app almost locks up during the initial phase of the import, and it bogs down the entire Mac. Sometimes I can’t even monitor the CPU use with App Tamer because the XPC messages between its daemon and menu bar item get delayed.

Imports are not the main problem, though, because I can generally start them before I take a break and let the Mac chug away while I’m gone. What really gets in the way is that—unlike Apple Photos—it can’t smoothly scroll through a grid of thumbnails. Some of them are inevitably blank or blurry, and Lightroom shows three dots in the upper-right corner to show that it’s busy working. Sometimes a given thumbnail will load in a few seconds, but other times it takes more like minutes. It does not seem to do any pre-loading so that when I press Page Down the next screenful of thumbnails will already be ready. It seems to wait until they are in view before beginning the work.

I’d like to be able to tell Lightroom to pre-generate all the thumbnails, and keep them stored, so that scrolling is always fast. But my understanding is that there’s no such command. Thumbnails seem to be tied to the generation of previews. I have Lightroom set to auto-generate previews on import, but that doesn’t do the job. Choosing Library ‣ Previews ‣ Build Standard-Size Previews doesn’t seem to help. Choosing Library ‣ Previews ‣ Build 1:1 Previews does help somewhat, though I’m not sure why building huge previews vs. standard ones would help more with thumbnails. But, even then, if I scroll through a few thousand photos whose 1:1 previews I just rebuilt, I still see the indicator on some thumbnails. Many that don’t show that indicator are blurry for a few seconds. Browsing within a single collection, I can slowly scroll down to the bottom so that all the thumbnails are eventually loaded, but they don’t all stay loaded. Doing the same scroll again seems to cause some of them to be regenerated or at least reloaded.

Previously:

Does Apple Smell Blood in the Water?

Jaron Schneider (Hacker News):

In just the last year and a half, Apple launched Final Cut on iPad and Final Cut Camera, updated Final Cut Pro to a new version for the first time in 13 years, and moved to purchase Pixelmator. As Adobe’s public perception continues to struggle, Apple is making moves to take advantage.

Through the 2010s, Apple didn’t do much on the software front. Sure, it had Final Cut Pro X but the move from version 7 required a complete rewrite of the program’s code. The benefit of this was marked improvement in performance. The downside was a gutting of the app’s features. The negative response to Final Cut Pro X was so strong that Apple lost a large chunk of the professional video editing market and it has since never made up that ground. Most moved to Adobe Premiere which over the next decade would solidify itself as a major player in the professional space, both in small teams and feature-length productions.

But public perception of Adobe has dipped in recent years. The switch to a subscription plan has left many editors dissatisfied, especially considering how inflexible Adobe has been with its plans — the lack of an a la carte option leaves creative professionals either the option to only edit photos or pay for a large number of apps they’ll never use if they want to get Premiere Pro. Performance has also been a regular complaint across Adobe’s ecosystem with Lightroom and Premiere Pro the focus of most of the consternation.

Adobe does seem to have lost a lot of good will, its current offerings are not very good Mac citizens, and Apple doesn’t seem to be promoting them as much. On the other hand, we all remember Aperture and the other pro apps that Apple discontinued. Final Cut Pro and Logic are the anomalies where Apple’s heart stayed in it. With the other creative apps—even iMovie—it just seemed to lose interest.

See also: Accidental Tech Podcast.

Previously:

Retrofitting Spatial Safety to Hundreds of Millions of Lines of C++

Google Security:

Based on an analysis of in-the-wild exploits tracked by Google’s Project Zero, spatial safety vulnerabilities represent 40% of in-the-wild memory safety exploits over the past decade[…]

[…]

A key element of our strategy focuses on Safe Coding and using memory-safe languages in new code.

[…]

However, this transition will take multiple years as we adapt our development practices and infrastructure. Ensuring the safety of our billions of users therefore requires us to go further: we’re also retrofitting secure-by-design principles to our existing C++ codebase wherever possible.

[…]

Hardened libc++, recently added by open source contributors, introduces a set of security checks designed to catch vulnerabilities such as out-of-bounds accesses in production. […] Hardening libc++ resulted in an average 0.30% performance impact across our services (yes, only a third of a percent).

Previously:

Friday, November 15, 2024

M4 Macs Can’t Virtualize Older macOS

Howard Oakley:

Running a macOS VM for any version before 13.4 Ventura on an M4 Mac results in a black screen, and the VM fails to boot. This is true whatever settings are used in the virtualiser, even if it’s set to boot the VM in Recovery mode. It’s also true when that VM has been built on that Mac: although that appears to complete successfully, when first run that VM opens as a black screen and never proceeds with personalisation and setup.

Currently the only way to run a VM with macOS prior to 13.4 Ventura is to do so on a host with an M1, M2 or M3 chip.

[…]

The first versions that can run in VMs are macOS 12 Monterey, although prior to 12.4 they can sometimes be a bit fractious. They also have major limitations, such as not supporting shared folders with the host.

Previously:

Update (2024-11-18): See also: MacRumors (Hacker News).

Lawsuit to Reveal Wikipedia Editors

Glyn Moody:

As Techdirt stories attest, Wikipedia has been attacked in the past for publishing true information that somebody doesn’t like. As well as wanting articles to be censored, those behind such attacks often also demand the names of those who worked on the article. Something similar is now happening in India, where the Indian news agency Asian News International (ANI) has filed a lawsuit against Wikimedia Foundation in the Delhi High Court, claiming to have been defamed in an article on Wikipedia, and seeking 20 million Indian Rupees (about US$240,000) in damages.

[…]

The latter’s signees say that they are “profoundly concerned at the suggestion that the Foundation is considering disclosing identifying private information about volunteer editors to the Delhi High Court”, and they call upon the Foundation to “prioritize the safety and well being of volunteers, even if it comes with a risk of legal action against the Foundation, or other costs.”

Firefox at 20

Kevin Purdy (Hacker News):

Back in June 2002, Ubuntu founder Mark Shuttleworth was experiencing space for the first time, the Department of Justice’s antitrust case against Microsoft was reaching its final arguments, and Adam Price, using what was then called Mozilla on a Mac, had an issue with persistent tooltips.

That relic is no more, as a fix to Bug 148624 was pushed in early September, with the fix appearing in build 119. I tried to replicate the tooltip on my not-yet-updated 118.0.1 Firefox browser on Mac but could not experience this rite of passage for myself. The patch itself is quite small, adding a check for whether a document has focus to the tooltip-showing code.

[…]

Zhu [born in 1999, just three years before this bug was submitted] was motivated and knew how to program but had “zero experience in projects as complicated as the Firefox browser” and had “never contributed to open source projects before.” But it was the summer before their PhD program started. “So, why not?”

My favorite old Firefox bug is that it needs AppleScript support.

dannyobrien:

If you’re curious about how you’d even go about finding and fixing a bug in the Firefox codebase, Mike Conley has been livestreaming his dev work at Mozilla weekly for years. A lot of the stuff he records involves picking a bug from the backlog, and then meticulously hunting it down and murdering it.

Bas Schouten (via Hacker News):

We’ve been motivated by the improvements we’re seeing in our telemetry data, and we’re convinced that our efforts this year are having a positive effect on Firefox users. We have many more optimizations in the pipeline and will share more details about those and our overall progress in future posts.

Bryce Wray (via Hacker News):

Firefox peaked at 31.82% in November, 2009 — and then began its long slide in almost direct proportion to the rise of Chrome. The latter shot from 1.37% use in January, 2009, to its own peak of 66.34% in September, 2020, since falling back to a “measly” 62.85% in the very latest data.

[…]

With such a continuing free-fall, Firefox is inevitably nearing the point where USWDS will remove it, like Internet Explorer before it, from the list of supported browsers.

Steven Vaughan-Nichols (via Hacker News):

And the top web browser is, according to the DAP’s 5.27-billion visits over the past 90 days, just as you’d expect: Google Chrome with 47.9%. Firefox, with only 2.2% of the market, is sliding into irrelevance.

PG&E (via Hacker News):

The following browsers are below our threshold for support.

Šime (via Hacker News):

To be honest, until recently I wasn’t even sure myself why I use Firefox. Of course it’s a pretty good browser, but that doesn’t explain why I’ve stubbornly stayed loyal to Firefox for more than a decade. After giving it a bit more thought, I came up with the following reasons.

Frederic Lardinois (Hacker News):

Exactly 20 years ago, Mozilla started shipping version 1.0 of its Firefox browser. At the time, you could download it or buy a CD-ROM with a guidebook from Mozilla (or maybe get it on one of those free CDs that would come with many magazines at the time). Born out of the ashes of Netscape, Firefox would go on to gain well over 30% of global market share. But that was followed by a period of stagnation, and after the arrival of the faster and lighter Google Chrome, Firefox slowly but surely lost market share. It didn’t help that Mozilla, at the time, seemingly prioritized everything but its browser, all while its mobile browser initiatives never quite took off.

Despite everything, Firefox is still going strong, and it is a better browser today than it ever was. Now, Mozilla, which recently said that it wants to refocus on the browser, needs to figure out how to get it back on a growth path.

Thomas Claburn:

“There was a time where the browser space was absolutely the front line of an open, safe, equitable internet,” our source said. “Mostly that was about, frankly, preventing Microsoft from taking over the internet.”

[…]

In other words, for the past decade, upstart browser makers like Mozilla, Brave, Vivaldi, Opera, Arc, and others have essentially been fighting for that 10 percent – the table scraps left by the tech giants.

[…]

“The problems are about the information that travels on the internet,” our source said. “It’s not about the protocols that run the internet anymore. … It’s not about the plumbing. It’s about what’s flowing through the plumbing.”

Previously:

The State of Mozilla

Bryan Lunduke (via Hacker News):

The Mozilla Foundation has released their latest annual report -- covering the time up through December of 2022 (Mozilla’s reporting always lags by one year) -- and something peculiar leaps out of the data:

  • The compensation of the Mozilla CEO has skyrocketed (by millions)
  • While the Mozilla revenue drops
  • And the Firefox Marketshare takes a nosedive

Mozilla (via Hacker News):

Mozilla was built to make the internet better

[…]

Building Mozilla stems from a harmonious blend of philanthropic vision and commercial acumen, embodying the balance between social impact and sustainable growth. Driven by the mission to serve the public good. Two examples are how we build through our Venture Fund and the amazing projects funded through In Real Life.

Richard Speed (via Hacker News):

Unsurprisingly for a technology company, the report is heavy on AI going mainstream where Mozilla reckons it can make an impact in the technology, particularly with regard to open source developers and privacy.

Mozilla’s adventures in AI? The organization says it has 15 engineers working on open source large language models and is working on use cases in the healthcare space. Moez Draief, managing director of Mozilla.ai, said: “There’s a lot of structured data work in that industry that will feed the language models; we don’t have to invent it.”

Seattle3503:

Mozilla’s corporate structure has the same problem OpenAI had. Because Mozilla is not a for-profit entity, management isn’t accountable to shareholders with a financial stake. Because Mozilla isn’t a charity, management isn’t accountable to donors. Who is Mozilla management accountable to? A board; mostly made up Baker’s associates. It is an incestuous arrangement. If Mozilla were serious, they would change the way management is held accountable. Baker needs someone who will actually hold her feet to the flames.

Mozilla is entirely unimaginative, but is self sustaining as long as it keeps its advertisers. Mozilla is a shambling corpse that will continue to shuffle forward until it is no longer favorable for Google to buy search placement.

Diane Brady (via Hacker News):

Mitchell Baker is stepping down as CEO to focus on AI and internet safety as chair of the nonprofit foundation. Laura Chambers, a Mozilla board member and entrepreneur with experience at Airbnb, PayPal, and eBay, will step in as interim CEO to run operations until a permanent replacement is found.

[…]

Chambers says she plans to focus on building out new products that address growing privacy concerns while actively looking for a full-time CEO.

Thomas Claburn:

Mozilla Corporation was sued this month in the US, along with three of its executives, for alleged disability discrimination and retaliation against Chief Product Officer Steve Teixeira.

Teixeira, according to a complaint filed in King County Superior Court in the State of Washington, had been tapped to become CEO when he was diagnosed with ocular melanoma on October 3, 2023.

Laura Chambers:

Mozilla has acquired Anonym, a trailblazer in privacy-preserving digital advertising. This strategic acquisition enables Mozilla to help raise the bar for the advertising industry by ensuring user privacy while delivering effective advertising solutions.

[…]

By combining Mozilla’s scale and trusted reputation with Anonym’s cutting-edge technology, we can enhance user privacy and advertising effectiveness, leveling the playing field for all stakeholders.

Jamie Zawinski:

This seems completely normal and cool and not troublesome in any way.

Jamie Zawinski (Hacker News):

Some will tell you that Mozilla’s worst decision was to accept funding from Google, and that may have been the first domino, but I hold that implementing DRM is what doomed them, as it led to their culture of capitulation. It demonstrated that their decisions were the decisions of a company shipping products, not those of a non-profit devoted to preserving the open web.

[…]

In my humble but correct opinion, Mozilla should be doing two things and two things only:

  1. Building THE reference implementation web browser, and
  2. Being a jugular-snapping attack dog on standards committees.
  3. There is no 3.

• • •

Floris Hulshoff (via Hacker News):

Mozilla will soon remove its telemetry service Adjust from the Android and iOS versions of browsers Firefox and Firefox Focus. It appeared that the developer was collecting data on the effectiveness of Firefox ad campaigns without disclosing that.

AdGuard (via Hacker News):

If you haven’t been following Firefox super closely, you might wonder: Why was there an ad-tracking SDK in the first place? After all, Mozilla has always positioned itself as a champion of privacy. So, what’s the deal with third-party trackers in their browser?

[…]

It might shock some, but Mozilla has quietly used the Adjust SDK for years. Back in 2020, a curious Redditor on the Firefox subreddit demanded answers about this telemetry partnership — questioning what data was sent, how it was used, and how it squared with Mozilla’s privacy-first image.

[…]

Mozilla says that Firefox for Android uses the Adjust SDK to track and analyze the origin of app installs, specifically to determine if a user installed the browser in response to a specific marketing campaign.

Sergiu Gatlan:

European digital rights group NOYB (None Of Your Business) has filed a privacy complaint with the Austrian data protection watchdog (DSB) against Mozilla, alleging the company uses a Firefox privacy feature (enabled without consent) to track users’ online behavior.

The feature, called “Privacy-Preserving Attribution” (PPA) and jointly developed with Meta (formerly Facebook), was announced in February 2022 and was automatically enabled in Firefox version 128, released in July.

NOYB’s complaint claims that, despite its name, Mozilla uses the feature to track Firefox user behavior across websites.

• • •

Martin Brinkmann:

Raymond “gorhill” Hill, maker of the world’s most popular content blocker uBlock Origin received two emails from Mozilla recently about his Firefox add-on uBlock Origin Lite.

[…]

Mozilla says that it has reviewed the extension and found violations. […] As a consequence, Mozilla disabled the extension on the Firefox Add-ons Store.

[…]

Hill refuted all three claims that Mozilla made on the GitHub repository stating that the extension is not collecting any data, that there is no minified code in uBlock Origin Lite, and that there is a privacy policy.

Taras Buria (via Hacker News):

Raymond Hill decided to drop the extension from the store and move it to a self-hosted version. This means that those who want to continue using uBlock Origin Lite on Firefox should download the latest version from GitHub (it can auto-update itself).

• • •

Mozilla:

We’ve made the hard decision to end our experiment with Mozilla.social and will shut down the Mastodon instance on December 17, 2024.

Niléane:

Mozilla deciding to put an end to its Fediverse investments while simultaneously going all in on AI tells you everything you need to know about what it has become.

Christina Warren:

I understand that this is going to upset people but bffr, if you have 270 active users, that isn’t sustainable. I understand why Mozilla experimented with this. I equally understand why this isn’t something they could do in perpetuity with this low of a number of users.

• • •

Laura Chambers:

As Mark shared in his blog, Mozilla is going to be more active in digital advertising. Our hypothesis is that we need to simultaneously work on public policy, standards, products and infrastructure. Today, I want to take a moment to dive into the details of the “product” and “infrastructure” elements. I will share our emerging thoughts on how this will come to life across our existing products (like Firefox), and across the industry (through the work of our recent acquisition, Anonym, which is building an alternative infrastructure for the advertising industry). 

Jamie Zawinski (Mastodon):

They’ve decided who their customers are, and it’s not you, it’s people who build and invest in surveillance advertising networks. But in a “respectful” way.

• • •

Ellis Tree:

Open-source, not-for-profit software company Mozilla has revamped its digital identity to better encapsulate its mission to advocate for an “open, accessible, and supportive internet”. Best known for its Firefox web browser, the company now has a new branding system that aims to visually unify its expanded set of services, channels and resources, which Mozilla has developed over the years, as well as highlight its current “vital research advocacy work in the digital world”. So, central to the brand’s shift has been to move forward with Mozilla as a brand name in order to ensure that the software company “is recognised for its broader impact, not just Firefox”.

Thomas Claburn (Hacker News, Slashdot):

The Mozilla Foundation is laying off about a third of its staff. The non-profit org, which oversees the corporation that develops the Firefox web browser, insists it will continue its advocacy mission, though its approach may change.

[…]

Mozilla Corporation in February laid off about 60 staff, representing about five percent of that software maker’s headcount.

Gaby Del Valle (Hacker News):

In an email sent to all employees on October 30th, Nabhia Syed, the foundation’s executive director, said that the advocacy and global programs divisions “are no longer part of our structure.”

Frederic Lardinois (Hacker News):

To kick-start some of this growth, Mozilla is looking at reaching new, and younger, users. Chambers noted that Mozilla is running a number of marketing campaigns to make people aware of Firefox, especially those who are only now starting to make their first browser choices.

[…]

Of course, she said, the browser also has to work very well — and that’s something Mozilla has focused on quite extensively in recent years. And at the same time, the team also has to keep innovating and giving users the features they are looking for. She noted that as part of refocusing on Firefox, Mozilla is running far more user experience experiments in the browser now, for example.

[…]

From a financial perspective, Mozilla is almost completely dependent on its search deal with Google. Since the Department of Justice is now looking at these deals, though mostly because of Google’s deal with Apple, there is a risk that this may also end up hurting Mozilla. Chambers didn’t seem too concerned about this, however. She noted that the scope of this ruling, which is expected soon, is the U.S., while Mozilla is a global organization.

Previously:

Thursday, November 14, 2024

Final Cut Pro 11 for Mac

Apple (MacRumors, MacStories):

In Final Cut Pro 11, editors can access two all-new AI-powered tools: Magnetic Mask and Transcribe to Captions. With Magnetic Mask, editors can effortlessly isolate people and objects in a video clip without the need for a green screen or more time-consuming rotoscoping. This powerful and precise automatic analysis provides additional flexibility to customize backgrounds and environments. Editors can also combine Magnetic Mask with color correction and video effects, allowing them to precisely control and stylize each project. And with Transcribe to Captions, closed captions can be automatically generated in the timeline using an Apple-trained large language model that transcribes spoken audio.

[…]

Spatial video allows users to capture life’s precious moments and relive them on Apple Vision Pro. Final Cut Pro 11 now supports spatial video editing, allowing editors to import their footage and add effects, make color corrections, and enhance their projects with titles.

[…]

Final Cut Pro for iPad 2.1 brings beloved features to the touch-first editing experience. Powered by Apple silicon, Enhance Light and Color is an intelligent way to improve color, color balance, contrast, and brightness in video or still images in one simple step, and is optimized for SDR, HDR, RAW, and Log-encoded media. With haptic feedback for Apple Pencil Pro and Magic Keyboard, users will feel a light pulse as they trim clips, move media, navigate the timeline, and resize viewer clips to snapping points.

Joe Rossignol:

The update also includes some smaller new features, changes, and bug fixes, as outlined in the full release notes on Apple’s website.

Steve Troughton-Smith:

Honestly, I’m surprised Final Cut Pro 11 for Mac still hasn’t moved to subscription, nor has it moved to Apple-Silicon-only. I was fully expecting the next release to unify around the new distribution model they used for Final Cut Pro for iPad.

Jon Maddox:

Apple burned by no upgrade pricing mechanism 🤣

Karl Swanson:

I don’t think there is any subscription support in VPP yet. Would think they’d need a way to support that model for institutional customers.

Juli Clover:

Apple today released Logic Pro 11.1 for Mac and Logic Pro 2.1 for iPad, adding new features for songwriting, producing, and mixing.

Previously:

Update (2024-11-15): See also: Steven Aquino.

Sequoia Network Extension Memory Leak

Norbert Heger:

Unfortunately that’s another new bug in the Network Extension framework of macOS. It’s a memory leak in Apple’s framework, which developers must use to create a firewall for the Mac. This bug first occurred in macOS 15.0 Sequoia.

[…]

On macOS 14 Sonoma you may get a hand full of leaks with a total of a few Kilobytes. That’s OK (sort of). But on macOS 15 Sequoia this can easily grow to hundreds of Megabytes and more.

Previously:

Thomas Kurtz, RIP

Valley News (Hacker News):

Tom is well known as the co-inventor, with John Kemeny, of the BASIC programming language in 1964. A version of BASIC still exists today. John Kemeny and Tom had already developed a version of the Dartmouth Timesharing System, a method of sharing computer access allowing multiple students access to the computer at the same time. From 1966 to 1975, Tom served as the director of the Kiewit Computation Center at Dartmouth and as director of Academic Computing from 1975 to 1978. In 1979, he and former student Stephen J. Garland organized a professional master’s program in Computer and Information Sciences, CIS.

Computer History Museum:

After a few years of teaching, he and Kemeny developed the original version of the Dartmouth Timesharing System (DTSS), a method of sharing computer access across a network and a requirement for allowing multiple students access to BASIC. DTSS was the earliest successful, large-scale timesharing system, a remarkable achievement. General Electric, which had donated computers to Dartmouth, extended DTSS into the kernel of their online services, such as Genie. DTSS was unveiled on May 1, 1964, along with BASIC. By that fall, hundreds of students were exploring BASIC on the 20 terminals around campus.

[…]

In 1983, Kurtz joined Kemeny and three former Dartmouth students in forming True BASIC, Inc., whose purpose was to develop quality educational software and a platform-independent BASIC compiler.

Wikipedia:

The road to BASIC itself was a long one. Kemeny and Kurtz had forged DARSIMCO – Dartmouth Simplified Code – Dartmouth’s inaugural attempt at making a computing language in 1956; however DARSIMCO soon became obsolete when the language FORTRAN manifested itself. In 1962 Kemeny and a Dartmouth undergraduate, Sidney Marshall, created the language DOPE, Dartmouth Oversimplified Programming Experiment, which was a direct predecessor of BASIC. DOPE itself was little used, and Kurtz preferred trying to implement successful languages such as FORTRAN and ALGOL. Kurtz’s experience with Dartmouth ALGOL 30 for the LGP-30 convinced him that devising subsets of these languages was not quite practical, and this led him to adopt Kemeny’s notion of creating a new language entirely.

Previously:

Update (2024-11-15): See also: Laurence Arnold and Dag Spicer (Hacker News).

Update (2024-11-18): See also: Kenneth R. Rosen.

Google Drive Blackout in Italy

Andy Maxwell (via Hacker News):

After blocking Cloudflare [link] to prevent IPTV piracy just a few months ago, on Saturday the rightsholders behind Piracy Shield ordered Italy's ISPs to block Google Drive. The subsequent nationwide blackout, affecting millions of Italians, wasn't just a hapless IP address blunder.

[…]

The domain/subdomain blocked in the image above is drive.usercontent.google.com; not only does this URL clearly identify Google as its owner, the Google product it serves is on full display too. With no prompting a 10-year-old could identify google.com as important on the internet. So, three broad explanations for how it ended up on the system (ticket below) before causing chaos.

[…]

A full twelve hours after the block was put in place, around 20% of the Italian population still had no access to their Google Drives due to the lingering IP address block that underpinned the domain-based blocking.

yunohn:

This feels very similar to the Indian government constantly blocking and unblocking GitHub’s “raw” content domain.

Wednesday, November 13, 2024

App Store Connect 2.0

Juli Clover:

App Store Connect 2.0 includes a refreshed UI throughout the app, as well as new capabilities. Developers are able to promote their apps by generating marketing assets for app launches, version updates, featured placements in the Today tab, and more.

These marketing assets that are generated for special moments can be shared on various social media channels for app promotion purposes.

The app is still super slow and doesn’t stay logged in. It’s unable to auto-fill my password even though it’s in iCloud Keychain and Safari can. The text on the marketing assets is generic (not based on the release notes) and can’t be customized. It suggests “Improved with New Features” for my bug-fix update that doesn’t have any new features.

John Voorhees:

App Store Connect, the web app that developers use to submit their apps to Apple’s App Store and manage them, was updated yesterday with new tools developers can use to promote their apps.

Developers have been able to submit promotional requests to Apple for quite some time, but the new Featuring Nomination process is now baked right into App Store Connect. Developers can submit nominations from App Store Connect where they will be asked for information about their app. Nominations can be made for events such as a new app launch or adding in-app content and features. When an app is chosen by the App Store editorial team for a feature, developers will be notified in App Store Connect, too.

macOS 15.1 Firewall Breaks Third-Party Firewalls

Norbert Heger:

Apple’s built-in firewall is causing troubles when used together with third-party firewalls that are based on Apple’s Network Extension framework (which is actually the only way for third-party developers to create such firewall products for the Mac).

While one of the issues related to DNS lookups has been fixed in macOS 15.1, a new, even more serious one was introduced.

[…]

For the time being, until Apple fixes this serious bug in macOS, we therefore highly recommend to turn off the built-in firewall of macOS when also using Little Snitch or Little Snitch Mini.

Previously:

Questioning EU Geo-Blocking Restrictions

Hartley Charlton:

The European Commission, in conjunction with the Consumer Protection Cooperation (CPC) Network, today announced that it has formally notified Apple regarding potential breaches of the EU's anti-geo-blocking rules.

[…]

According to the CPC Network, consumers using Apple Media Services, such as the App Store, Apple Music, and Apple TV+, encounter different interfaces and content depending on their country of registration. This regional segmentation allegedly makes it difficult, if not impossible, for users to switch between country-specific versions of Apple's services, which may be in violation of the EU's Geo-blocking Regulation enacted in 2018, designed to protect the Digital Single Market.

[…]

The EU maintains that consumers should be able to access and download apps offered in other EU/EEA countries when traveling or staying temporarily in another member state.

See also: Steve Troughton-Smith.

Previously:

OneDrive and Sequoia

Sergiu Gatlan:

“Opening or saving files within Desktop or Documents folders can cause the file’s app to freeze. This occurs on macOS 15,” the company said in a Friday update to a support document tracking the recent issues in OneDrive.

[…]

Until a fix is available, customers should force quit the OpenAndSavePanelService process that hangs because of this issue and save their files to a location other than their Desktop, Documents, or OneDrive folders.

I have a customer who’s seeing a different OneDrive issue on macOS 15.1, where macOS will report that a file exists but trying to read it will fail saying that the file doesn’t exist.

Sidenote: It seems that, lately, NSURLIsUbiquitousItemKey will be set for files that are backed by a file provider extension even though the documentation say it’s specific to iCloud storage.

Previously:

Tuesday, November 12, 2024

Claiming Time Machine Backups

Howard Oakley:

Assuming that your old Mac made Time Machine backups, and you want your new Mac to continue doing so, now’s the time to connect that backup storage, if it wasn’t already used as the migration source. When you do, you’ll be offered two options, to claim the existing backups for the new Mac, or to leave them for the old one.

[…]

If you claim the existing backups for your new Mac, then they’ll be used as part of its backup history, but you won’t be able to use them with the old Mac. You may prefer to leave those old backups as they are, and gradually delete them to free up space. Provided that you create the new backup volume for your Mac in the same container, old and new backups will share the same free space on your backup storage.

This apparently replaces the old tmutil inheritbackup command, which no longer appears to work with backups to APFS.

Previously:

Misguided Apple Intelligence Ads

Adam Engst (Hacker News):

A pair of new ads for Apple Intelligence portray the Writing Tools and Memories movies as tools for those unwilling to put in any effort.

In the first ad, Apple Intelligence enables a goof-off who wastes time and annoys his colleagues to surprise his boss with an unexpectedly well-written email. It’s not clear that the boss is impressed; he just can’t believe the guy would have written a professional message.

The revised e-mail is certainly more formal, but I’m not sure that it’s actually good or that it matches his intent.

The second ad channels a similar suggestion—that Apple Intelligence is a crutch for the thoughtless. In it, a woman realizes that she has forgotten her husband’s birthday only after their kids give him thoughtful, homemade gifts, so she quickly uses Apple Intelligence to create a Memories movie of the children doing woodworking with their father.

It’s really quite a different message than a bicycle for the mind.

Previously:

Update (2024-11-14): Nick Heer:

The first is a little better than the second because it at least hints at something I bet many of us dread: writing work email. But why not a version which elevates someone who cares? The armchair director in me wants this to be an employee who is clearly trying hard, writing a frustrated email to someone who is not, and needing to adjust the tone of a pretty mean email.

The second ad is beyond helping. If someone had handed me their own phone with a photo slideshow at any point in the past five years, I would have assumed they did not make it themselves. I do not know anybody in real life who has ever done so.

Bodyreader v. Apple

Tim Hardwick:

Bloomberg reports that the case – the first of its kind to be heard in Beijing’s intellectual property court – bears similarities to Epic Games’ 2021 lawsuit against Apple. Bodyreader claims Apple unfairly removed their app citing “dishonest” behavior, while also challenging the company’s 30% commission on app purchases and its control over the iOS ecosystem.

According to court documents reviewed by Bloomberg, Bodyreader argues that Apple’s enforcement of App Store policies is inconsistent. The developer notes that after their original app was removed, they successfully published an identical app under a different name, “Qilin Century,” which remains available on the App Store.

John Geleynse Retires From Apple

John Geleynse:

Being a part of Apple for 25 years has been the privilege and experience of a lifetime.

[…]

We released the platforms and tools that helped bring incredible products to life. We inspired developers to do some of the best work of their careers. We rewrote the original Apple Human Interface Guidelines for Mac OS X Aqua, and then authored multiple editions of the HIG for every platform that followed. We met developers in their hometowns for Tech Talks. We met one-on-one with teams working on the next big app or game. We grew the Apple Design Awards from a small ceremony on the Infinite Loop lawn to a major event on the WWDC Keynote stage. We saw firsthand the impact the ADAs made on the winners, and the inspiration they brought to others in the community.

Via John Gruber (Mastodon):

Turns out, in all the years I’ve been writing here, I’ve only mentioned Geleynse by name twice, and both times I was quoting what someone else had written. And those two posts were from 2007 and 2008 — a while ago, to say the least. That’s a shame, dare I say negligent on my part. In third-party developer circles, everyone knows John Geleynse. Most prominently, his role as co-host (with Shaan Pruden) and I think effectively co-chief of the Apple Design Awards. But the ADAs are a once-per-year award show. Year-round, year after year, platform after platform, Geleynse has been shaping, guiding, and defining what it means to be a third-party developer for Apple platforms. The point of winning an ADA isn’t to win an ADA; it’s to reward making a great app that moves the state of the art forward. That’s what Geleynse spent his career trying to do. He’s just incredibly well-liked and well-respected.

My formative experience with Geleynse was near the beginning of his career at Apple. This was during the transition from Mac OS 9 to Mac OS X, and he was an active participant on Apple’s human interface mailing list. (In those days, this sort of interaction was not uncommon for Apple evangelists and engineers, and there were even open feedback sessions at WWDC.) There were lots of discussions about Aqua vs. the classic Mac interface, about how Apple’s apps didn’t follow its own guidelines, and about how Apple was changing the way application-document binding and file system metadata worked.

I give Geleynse credit for politely interacting with developers in a somewhat contentious environment. He often gave helpful answers to specific questions. With the broader issues, though, I found him sometimes dismissive of thoughtful criticism, with explanations that seemed thin and unconvincing. It must have been frustrating for him, too, defending actions and policies that were not always his own. I did appreciate him trying, even when the answer wasn’t always satisfying. What developers really wanted was to understand why Apple was making the design decisions that it was making so that they could understand how to apply this thinking to their own apps. Geleynse seemed to agree with this goal, and I think he later had some success with it in his WWDC presentations, yet I was disappointed at the time when the reasons could not be clearly articulated. In the decades since, the Human Interface Guidelines have mosly evolved in the opposite direction.

I came away with the impression that, contrary to the way the company—especially now—presents itself, Apple was dictating decisions that were not actually very well considered. (In retrospect, how could they have had time for that given the scale and speed of the transition?) I think this is borne out in that, over time, Apple evolved Aqua mostly in the directions that its original critics had wanted.

As to documents and metadata, very little has changed. We have UTIs now, not just file extensions, but Apple hasn’t really done anything to solve the issues that developers and classic Mac OS users were concerned about back then. One could argue that Apple was right in that most users don’t seem to be upset about the current system. I still think there’s more that could be done here, but it seems less an less likely that Apple will ever revisit it.

I write this not to pick Geleynse or to relitigate old arguments, but rather to recall a very different era in the early years of Mac OS X. The relationship between Apple and developers was unrecognizable. It was a frantic period, with many big decisions being made all at once, and sometimes it wasn’t clear whether the reasons were technical or marketing or due to the balance of power between different factions within Apple. There was the sense that now was the last chance to have your say because the choices made would set the direction for a long time.

It was not long before Apple shut down the HI mailing list. Geleynse obviously went on to do many more things at Apple. I’ve heard reports over the years from developers who had one-on-one interactions where he took a quick look at their app and provided valuable feedback, instantly and seemingly effortlessly solving design issues that had plagued them for months. He’s regarded as insightful and inspiring, and I thank him for his many contributions Apple’s platforms.

Sebastiaan de With:

John Geleynse has been an immense support and inspiration for all of my career. One of the best - A tremendous guy, and I wish him all the best with what’s next.

Dustin Mierau:

Have had quite a few meetings with John over the years. Always such a joy. Got me excited over various projects. Definitely an Apple legend.

Simon Pride:

I met him at some “Macs for Higher Ed” one day thing in NYC where he was charming and helpful. Same occasion I got to spend five minutes with Sal Soghoian. Both had so much time for questions.

Previously:

Monday, November 11, 2024

No Refund for Undelivered MacBooks

Six0Four (via Hacker News):

Ordered 2 Macbooks for $2500 from Apple (Canada). Paid for their same day delivery service which they use Uber for and it says delivered but it wasn’t. Driver stole them or he delivered to the wrong person that stole them. If he actually delivered to the wrong address, I live in a high rise that does have cameras but only in the lobby which means once the Uber driver got on the elevator who’s to say he didn’t get the wrong unit and it’s his word against mine.

I contacted Apple and they said they would reach out to Uber and get back to me. 12 hours later I got an email from Apple saying:

“We have completed our review with the carrier regarding your shipment and have determined that we are unable to provide a replacement or process a refund.”

I couldn’t believe my eyes. Picked up the phone and called them and what they didnt tell me in the email was that I should file a police report (which ive done). They said do the police report and the police will reach out to Apple. Problem is I talked to the police and they said they dont reach out to anyone, Apple reaches out to them once I give Apple the police report number. Apple also said they came to that decision because Uber says the item shows as delivered.

[…]

Spoke with Apple Retail Executive Relations. They’re not changing their decision. I get nothing back. Case closed.

I’ve never used the courier service, but I assume that Apple probably makes you opt out of requiring a signature on delivery, thereby waiving some of your rights. I make it a point not to opt out when ordering a Mac via normal shipping, but in practice I don’t know how much that helps. Sometimes the driver “helpfully” leaves the package without getting a signature. And when I do sign, these days it’s with one of those horrible styluses so it doesn’t really look like my actual signature, anyway.

netsharc:

Trillion dollar company uses exploitative company’s (Uber) labor, leaves customer with the bill when poorly vetted and paid labor steals the goods. Customer is afraid to issue chargeback because they might get kicked out of the digital feudal state…

miki123211:

It’s wild to me that the credit card companies (and the law in general) actually allow this. The chargeback procedure was created exactly for situations like this, and designed to be maximally friendly to customers at the expense of vendors. One would think that “you cannot exact revenge on customers when a transaction goes wrong” would be credit card rules 101.

Previously:

Sega Delisting Classic Games From Steam

Kevin Purdy (Hacker News):

Sega has put dozens of its Master System, Genesis, Saturn, and other console titles onto modern game stores over the years. But, like that Dreamcast controller stashed in your childhood garage, they’re about to disappear—and getting them back will cost you a nostalgia tax.

Those who have purchased any of the more than 60 games listed by Sega from Steam, Xbox, Nintendo’s Switch store, and the PlayStation store will still have them after 11:59 pm Pacific time on Dec. 26. But after that, for reasons that Sega does not make explicit, they will be “delisted and unavailable.”

Dustin Bailey:

[The] delistings are notable for a few reasons, including the fact that these are some of the only legally purchasable classic game ROMs you’ll find anywhere on the internet.

[…]

But the real reason to buy these games is that once you install them, you can just browse to that install filter and find a ROM file to use any way you like - no encrypted files to datamine or DRM to bypass. Just raw ROM files that you’ve legally purchased. That means you can drop those ROMs into your emulator of choice and play them however you want, totally legally.

[…]

We know Sega has big plans for old IP with revivals of plenty of classic games in the works, and it’s possible the company is planning some sort of new classic collection that would replace this one in the near future.

Kyle Barr:

Books fall apart. VHS tapes eventually degrade. DVDs will scratch and die, but our society has done a much better job at preserving movies and literature than we have with gaming. Part of that is how games are tied to their original format and individual consoles. Video game preservationists have cited emulation as one of the few ways our society has been able to preserve the art form. That’s important because a Video Game History Foundation study found that 87% of games from before 2010 are not commercially available anywhere.

[…]

The fact that emulators have to exist points to an existential failure of the games industry to preserve its most beloved titles. Emulator developers spend years creating and perfecting their software. Some emulators are slightly janky to use, but others, like Delta, Dolphin, or PS1 emulator Gamma, make the process of playing relatively seamless. The community is strong and growing all the time. As much as the license holders say they’re trying to expand the classics market, they’ve obviously failed to meet demand.

Previously:

The Ongoing Battle for Vestibular Accessibility

Craig Grannell:

I vividly remember getting a wonderful surprise on the sole WWDC I was flown out to, on attending a developer session on accessibility and seeing someone on stage proudly noting that slide transitions in menus had been added to Reduce Motion.

[…]

But what I find disappointing is that, all these years after that Guardian piece broke, vestibular accessibility remains reactive rather than proactive. Nothing illustrates that better than Apple breaking Reduce Motion in Safari of all apps. When Reduce Motion is on, the zooms in the tab view should be replaced by crossfades. They were for a long time. But that went away in iOS 18. I dutifully mentioned this to Apple. It looks like this might be fixed in iOS 18.2. But the problem should never have come back in the first place – and it wouldn’t have if there was even the most rudimentary of testing by someone with Reduce Motion active.

Previously:

Why % CPU in Activity Monitor Isn’t What You Think

Howard Oakley:

When macOS loads two of those E cores with low QoS threads, it sets them to run at a low frequency to make the most of their energy efficiency. When it loads two E cores with threads that were intended to be run on P cores, as they have a high QoS, it runs the E cluster up to high frequency, so they perform better.

[…]

If full load at maximum frequency is 100% of their capability, then at low QoS they were really running at 27%, not the 100% given by Activity Monitor, and that largely accounts for the difference in time that those threads took to complete their floating point calculations.

[…]

What Activity Monitor actually shows as % CPU or “percentage of CPU capability that’s being used” is what’s better known as active residency of each core, that’s the percentage of processor cycles that aren’t idle, but actively processing threads owned by a given process. But it doesn’t take into account the frequency or clock speed of the core at that time, nor the difference in core throughput between P and E cores.

Previously:

Friday, November 8, 2024

iPhones Mysteriously Rebooting Themselves

Juli Clover:

Law enforcement officials in Detroit, Michigan are warning other police officers about an alleged iPhone change that causes Apple devices stored for forensic examination to spontaneously restart, reports 404 Media.

iPhones that are undergoing examination have apparently been rebooting, which makes them harder to unlock with brute force methods, and Michigan police think that it’s due to a security feature that Apple added in iOS 18. A document found by 404 Media speculates that iPhones running iOS 18 are causing other iPhones to restart when those iPhones have been disconnected from a cellular network.

[…]

Matthew Green, a cryptographer and Johns Hopkins professor told 404 Media that the law enforcement officials’ hypothesis about iOS 18 devices is “deeply suspect,” but he was impressed with the concept.

[…]

Apple added an “inactivity reboot” feature in the iOS 18.1 update, but it does not relate to phone/wireless network state.

Update (2024-11-11): Jiska:

Apple indeed added a feature called “inactivity reboot” in iOS 18.1. This is implemented in keybagd and the AppleSEPKeyStore kernel extension. It seems to have nothing to do with phone/wireless network state. Keystore is used when unlocking the device.

Joseph Cox (post):

We’ve confirmed that Apple quietly introduced code that automatically reboots an iPhone if it hasn’t been unlocked after a period of time. This is why cops are being mysteriously locked out of iPhones they’re trying to search.

Adam Engst:

By restarting iPhones that remain locked for four days, Apple increases overall security, particularly for individuals at risk of having their iPhones confiscated by repressive regimes, with little or no inconvenience to regular users.

Does this affect background processes that you may have wanted to keep running?

Nick Heer:

It seems the cops believed iPhones were secretly communicating with each other because some of them were running older iOS versions, forgetting the explanation that satisfies Hanlon’s razor: iOS is kind of buggy.

Update (2024-11-15): Lorenzo Franceschi-Bicchierai (Hacker News, MacRumors):

On Wednesday, Jiska Classen, a researcher at the Hasso Plattner Institute and one of the first security experts to spot this new feature, published a video demonstrating the “inactivity reboot” feature. The video shows that an iPhone left alone without being unlocked reboots itself after 72 hours.

Magnet Forensics, a company that provides digital forensic products including the iPhone and Android data extraction tool Graykey, also confirmed that the timer for the feature is 72 hours.

Update (2024-11-18): JISKA (via Hacker News):

What does it protect from and how does it work? This blog post covers all the details down to a kernel extension and the Secure Enclave Processor.

[…]

Security-wise, this is a very powerful mitigation. An attacker must have kernel code execution to prevent an inactivity reboot. This means that a forensic analyst might be able to delay the reboot for the actual data extraction, but the initial exploit must be run within the first three days.

Inactivity reboot will change the threat landscape for both thieves and forensic analysts, but asymmetrically so: while law enforcement is under more time pressure, it likely completely locks out criminals from accessing your data to get into your bank accounts and other valuable information stored on your iPhone.

Lost iCloud Notes

Benjamin Mayo:

Some iPhone users are reporting a scary bug with the Notes app on iPhone. After agreeing to new iCloud terms and conditions as prompted by the system, the Notes app appears to disconnect from iCloud and instead presents users with a screen of zero notes, as if all the user’s notes have been deleted.

[…]

For some people, it seems to be a temporary glitch that sorts itself out, and the notes appear quickly thereafter. For others, including myself, it did not fix itself. Thankfully, the proactive steps to fix it is simple and straightforward.

[…]

If this fix does not work for you, and the toggle was already on when you checked the iCloud Settings screen, you can also try turning the toggle off, turning it back on again and then rebooting the phone.

This seems to be an iCloud issue, not an iOS 18 issue.

Pepe Waters:

My notes were all deleted yesterday and so far have not been retrievable after trying absolutely everything recommended on the forums/this article/via customer support. Very upset at the lack of information as to how it’s going to be fixed. It’s been a long wasted day with no progress made. Glad to hear some people could get their notes back but hope it’s not going to be washed over for the rest of us. Feeling extremely cautious and frustrated that it happened with no fix in sight.

Previously:

Update (2024-11-18): Joe Rossignol:

Apple has now indirectly acknowledged this issue in a new support document that outlines steps to follow if your iCloud notes are not appearing on your iPhone, iPad, or Vision Pro.

Fortunately, the notes can be re-synced from iCloud. Apple’s steps are pretty much identical to the ones we shared earlier this month[…]

Jesse Squires:

The biggest problem with Apple is that they pretend like widely reported bugs simply don’t exist.

Maybe they should try not gaslighting their users and proactively acknowledge issues and provide workarounds or timelines for bug fixes?

Eric Schwarz:

I’m somewhat surprised Apple can’t automate this in a iOS point release (check and see if Notes aren’t appearing and force a re-sync), although part of me wonders if that could potentially cause more problems.

High Power Mode for M4 Pro Macs

Andrew Cunningham:

Last year’s M3 Pro chip was a departure from the M1 Pro and M2 Pro. Compared to the M2 Pro, it came with more E-cores but fewer P-cores, as well as fewer GPU cores and less memory bandwidth. As we wrote at the time, this meant that the architectural improvements to M3 mostly ended up being canceled out, making for a chip that was more efficient but often not meaningfully faster than its predecessor.

[…]

The extra computing resources do increase the M4 Pro’s power usage relative to the M3 Pro, with higher power consumption for our heavily multithreaded Handbrake video encoding test (an average of 43.1 W, up from 33.1 W). But the extra speed does help improve the chip’s power efficiency overall, completing the same amount of work using a little less power overall (both the M3 Pro and M4 Pro use around two-thirds as much power to do the same work as the M2 Pro.

[…]

Apple has added a High Power performance mode for the M4 Pro both in the Mac mini and in the new MacBook Pros. This feature was previously reserved for Max and Ultra chips and allows the chip to run at elevated speeds and temperatures for more extended periods of time; Apple says this should benefit GPU performance in particular at the expense of extra fan noise.

Joe Rossignol:

Apple says High Power Mode allows a Mac’s fans to run at higher speeds, and this additional cooling allows the system to deliver higher performance for graphics-intensive sustained workloads, such as 8K video color grading. On supported Macs, the feature can be used when the computer is running on battery power or connected to a power source.

[…]

On recent macOS versions, High Power Mode can be enabled in the System Settings app under “Battery” or “Energy” by clicking on the dropdown menus next to “On battery” or “On power adapter” and selecting the “High Power” option.

Previously:

Update (2024-11-11): See also: Hacker News.

iPhone 18 Pro Variable Camera Aperture Rumor

Hartley Charlton (Ming-Chi Kuo):

Apple’s iPhone 18 Pro models will feature an upgraded main rear camera with a variable aperture for the first time, according to Apple analyst Ming-Chi Kuo.

[…]

The iPhone 14 Pro, 15 Pro, and 16 Pro’s main cameras feature a fixed aperture of ƒ/1.78. A variable aperture on future iPhone models would allow the main camera to control the amount of light entering the lens, allowing it to adjust to different lighting conditions. It also would provide more control over depth of field, enabling sharper focus on subjects or smoother background blur.

I continue to find the iPhone 15 Pro camera to be a regression for certain types of photos, and I think it’s because of the shallower depth of field. I often photograph a person sitting at a table with something in front of them. With previous iPhones, I didn’t have to think about it. I could just take a photo and it would be OK: the person’s face reasonably in focus and the document/cake/game also easily visible. Now, I get a lot of photos where either the object or the person—it does not always prioritize the face—is blurry. It’s not really evident in the view finder that this is going to happen. If I remember, I can use manual focus to prioritize one or the other, and whichever I pick will look much better than with previous iPhones, but it’s still not really what I want because the secondary subject still ends up blurry.

Previously:

Thursday, November 7, 2024

CloudKit Reference and Index Issues

Kuba Suder:

CloudKit also automatically creates indexes for each field in each record type - when you’re done with development, you can delete some indexes that you won’t need so they don’t waste space in the production database.

Apple:

A request to fetch records performs a query on indexed fields for a particular record type. At least one field in the record needs to be indexed to perform an empty query that fetches all records. Because indexes are updated asynchronously, they are not guaranteed to be current.

Eric Zinda:

The solution is to use CKFetchRecordChangesOperation, if the data is in a custom zone of the private database. If you are using the public database, or the default zone of the private database, think about this:

  1. The device making the changes knows the changes. [meaning: keep a cache of the updates you make]
  2. The other peer devices observe the changes using CKQuerySubscription.

Jaanus Kase:

This is one of those posts, exploring how querying based on CKReference works, and what are the limits and behaviors of that.

[…]

Here is one important bit: you can’t do queries by parent property. I couldn’t immediately find the authoritative source for this in the SDK documentation, but the recommendation in Apple forums and elsewhere has always been to add your own CKReference fields if you want to query by parent record.

[…]

The key bit is the predicate for the reference set. I got the idea for setting up this way from this StackOverflow post. The official CloudKit documentation does have examples for querying based on references, but not reference sets and more complex scenarios.

[…]

Fair enough. This tells me that the filtering condition in the clause ANY %@ in relatedRecords can’t contain more than 250 objects. So, let’s limit it, leave some headroom, and run it with 200 records instead.

[…]

Even though the input contains only 200 objects, I get this error. I speculate that even though the input amount is below the nominal stated limit, some relationship query to construct the results causes some internal limit overflow on the CloudKit side, and it doesn’t handle this situation well.

Casey Liss:

Thinking about this some more, and in chatting with the good samaritans on Slack, we all came to the same conclusion: the index probably didn’t properly… uh… index… whatever data was already there before the index was created.

So, if you’re ever in a situation where you’re getting wonky results (or no results at all) from a new field in CloudKit, consider whether the data you’ve added was done so before or after you added the corresponding index.

Previously:

Problematic Swift Concurrency Patterns

Matt Massicotte:

I think the vast majority of the time, a global actor should be applied to the type as a whole, not to individual properties.

[…]

But, while detached does prevent isolation inheritance, it also does other stuff too. Detached tasks do not inherit priority or task-local values. Instead, think about a nonisolated function.

[…]

I think MainActor.run is rarely the right solution.

[…]

Moving from completion handlers to async methods can change semantics and cause code to run on background threads. Be really careful here!

[…]

The compiler will automatically generate async versions of Objective-C completion handler-based methods. The bad news is, unless the type itself is MainActor-isolated or Sendable, these translations will be problematic. They won’t be possible to use diagnostic-free without a @preconcurrency import and will have different semantics that could make them unsafe.

Previously:

iOS 18: Health App Medications

Joe Rosensteel:

It doesn’t list interactions for things that are not in the medication app, like vitamin supplements, antacids, NSAID painkillers, etc. All of which had very clear, urgent warnings in the prescription paperwork, but because they aren’t the two medications in the app there’s no warning.

[…]

Despite being able to OCR the prescription info, there’s nothing to OCR the side effects info and log that.

[…]

I needed to take it once a day but the number of pills started high and tapered off twice over the following days. The app lets you put in a dosage to schedule, but I couldn’t find any way to vary it over time.

[…]

This was also a drug that should be taken with food, but there’s not a “hey, eat something” notification you can configure to come up before it’s time to take the drug. The antibiotic should really not be taken at a time anywhere near when you’re going to eat certain things, or even have most vitamin supplements, so I also have to mentally track when I do those things too.

Another quirk is that the notification to take your medications comes through on the Watch without mention of which medication you need to take[…] It’s also always plural, even if you’re only taking one medication at 1:00 PM, which is confusing.

Previously:

iOS 18: Screen Sharing With Remote Control

Federico Viticci:

When you start observing another person’s screen in iOS 18, the system will tell you that you can now tap and draw on their screen. Taps are drawn as purple circles that disappear quickly – they’re subtle, but noticeable.

[…]

With the ability to control another person’s device, you literally take over their interactions until they interact with the device again (which can be a tap or even taking a screenshot on their end).

[…]

I was able to test remote control with John over FaceTime, and I noticed some interesting details in Apple’s implementation. I was able to open John’s Camera app, have him move the phone to look around his office, and remotely press the shutter button. I couldn’t, however, type in Spotlight search or see the Passwords app. When I opened it, I got a message telling me that I had to wait for John to proceed.

[…]

I look forward to fixing my mom’s Wi-Fi connection and updating her apps remotely thanks to the addition of remote control in FaceTime’s screen sharing.

Previously:

Wednesday, November 6, 2024

Swift Format in Xcode 16

Sarah Reichelt (Mastodon):

In Xcode 16, Apple quietly introduced the ability to format your Swift files using Swift Format. I’m a long-time user of SwiftLint, but having such a tool built into Xcode would be a great convenience, so I decided to give it a try. Here is my description of why I use such a tool, how well it works compared to the alternatives, and how I configured it for my own purposes.

[…]

The name Apple chose is logical but confusing. I had experimented with Nick Lockwood’s SwiftFormat a few years ago, but found that I preferred SwiftLint, so I stuck with the latter. When I saw that Xcode included Swift Format, I assumed that they had acquired Nick’s formatter but it appears to be a different tool, officially called swift-format. It’s downloaded as part of the toolchain when you install Xcode 16, so no further installation is required.

[…]

After reverting to the original code again, I chose Editor -> Structure -> Format File with ‘swift-format’[…]

This fixed the indentation and the whitespace issues. Interestingly, it split the long function call and definition over multiple lines, but still with more than one argument per line.

Previously:

Data Tracking and Notifications in Core Data and SwiftData

Fatbobman (Mastodon):

[prepareForDeletion is called] when the managed object is about to be deleted, typically used for cleaning up resources or manually managing relationships. Note that this method is triggered before validateForDelete. If the deletion operation fails due to validation failure, changes made in this method may be rolled back.

[…]

However, because these operations are extensions of managed object subclasses, if you don’t build subclasses or don’t operate through specific types, these methods won’t be called. For example, during batch operations, specific managed object subclasses are usually not involved, so these lifecycle methods won’t be called.

Although SwiftData’s default storage implementation is based on Core Data, it doesn’t declare managed object subclasses for each entity. Therefore, SwiftData doesn’t provide similar functionality—these notification timings are unique to Core Data.

[…]

Unlike context notifications, [Persistent History Tracking] or SwiftData History doesn’t include specific change information in the notification. Developers need to retrieve changes that occurred after a specific time from the database through code to obtain this data.

Previously:

Swift Proposal: Integer Generic Parameters

SE-0452 (via Steve Canon):

Swift does not currently support fixed-size or fixed-capacity collections with inline storage. (Or at least, it doesn’t do so well, not without forming a struct with some specific number of elements and doing horrible things with withUnsafePointer to handle indexing.) Most of the implementation of something like a fixed-size array, or a fixed-capacity growable array with a maximum size, or a hash table with a fixed number of buckets, is agnostic to any specific size or capacity, so that implementation would ideally be generic over size so that a library implementation can be reused for any given size.

Beyond inline storage sizes, there are other use cases for carrying integers in type information, such as to represent an operation with a particular input or output size. Carrying this information in types can allow for APIs with stronger static guarantees that chains of operations match in the number of elements they consume or produce.

[…]

Generic types can now be parameterized by integer parameters, declared using the syntax let <Name>: Int inside of the generic parameter angle brackets:

struct Vector<let count: Int, Element> {
    /*implementation TBD*/
}

[…]

On platforms where the vendor ships the Swift runtime with the operating system, there may be limitations on using integer generic parameters in programs that want to target earlier versions of those platforms that don’t have the necessary runtime support.

The Future directions section is interesting.

Previously:

Hypertextual Writing and Social Media

John Gruber (Mastodon):

It also brought to mind how social media has largely kneecapped true hypertextual writing by not enabling it. You can, of course, add links to web pages in social media posts on any of the various basically-the-same-concept-as-Twitter platforms like X, Threads, Bluesky, or Mastodon, but you do so by pasting raw URLs into posts. (Instagram, by far the world’s most popular such social network, doesn’t even let you paste hyperlinked URLs into the text of posts.) The only links that work like web links, where readers can just tap them and “go there” are @username mentions. On social media you write in plain un-styled text and just paste URLs after you describe them. It’s more like texting in public than writing for the real web. A few years ago these social networks (and private messaging platforms like iMessage and WhatsApp) started turning URLs into “preview cards”, which is much nicer than looking at an ugly raw URLs. But it’s not the web. It’s not writing — or reading — with the power of hyperlinks as an information-density multiplier. If anything, turning links into preview cards significantly decreases information density. That feels like a regression, not progress.

Nick Heer:

Writing on the web is not like print, where too many citations can feel interruptive. On the web, it is just part of the visual vocabulary. It encourages a more expansive tapestry where references can be used for more than just acknowledging source material. One can also point to definitions, tangential pages, or jokes. The hyperlink is among the singularly magical elements of the web.

Previously:

Tuesday, November 5, 2024

Sequoia No Longer Supports QuickLook Generator Plug-ins

Howard Oakley:

Prior to macOS 10.15 Catalina in 2019, the display of Thumbnails was supported by the QuickLook framework. From Catalina onwards, this is provided by a new framework named QuickLook Thumbnailing. The older framework is documented here, and had been deprecated for some years. Its replacement is documented here. To extend these, the older framework used QuickLook generators with the extension .qlgenerator, but in the newer framework this function is provided by QuickLook preview extensions, in particular Thumbnail Extensions, that were explained to developers at WWDC in 2019.

As with most deprecated features, eventually the time comes for Apple to remove support for the old, and for QuickLook generators that has occurred in macOS 15.0 Sequoia. From now on, QuickLook Generator plugins no longer work. Oddly, those provided by macOS in /System/Library/QuickLook are still named with the old extension of .qlgenerator, but all custom support now has to use the new framework in App Extensions.

Howard Oakley:

These are controlled in the Quick Look item in Login Items & Extensions in General settings.

That should list all third-party app extensions providing this service, and enabling the right one(s) could fix some of those problems. But it turns out this list isn’t complete, and doesn’t in any case tell you which app extension handles which file type. For those, you’d normally turn to qlmanage, but its -m option can only see the qlgenerators in macOS, and no third-party app extensions at all. In fact, qlmanage is now of little help for anything related to QuickLook.

[…]

As far as I can discover, Apple doesn’t provide any equivalent of qlmanage that can report on QuickLook app extensions. The closest it comes is in the pluginkit tool, that can list all app extensions known to macOS. With a bit of tweaking, its -m option can reveal which of those use the QuickLook SDKs for Thumbnails or Previews.

His Mints app makes it easier to view this information.

How to Highlight Text Fragments When Linking

Paul Kafasis:

In recent months, I’ve begun to notice that results from web searches often highlight specific text on the page to which they’re linking. The web page is also scrolled to the relevant content. It’s quite helpful!

A quick investigation showed this is accomplished by appending a bit of code, #:~:text= to the URL for a link. These are called Text Fragments, and they’ve been supported by Chrome since back in 2020. It took a couple more years for support to come to Safari, but at this point, the element is well-supported enough to be worth using.

[…]

By using this code in a bookmarklet, you can easily create links with helpful highlighting.

Ahmad Alfy:

This feature is complemented by the ::target-text CSS pseudo-element, which provides a way to style the highlighted text.

[…]

Here’s the basic syntax for a text fragment URL:

https://example.com/page.html#:~:text=[prefix-,]textStart[,textEnd][,-suffix]

Via Nick Heer:

As someone who writes essays containing citations, this is one of the nicest additions to the web that I wish was easier to use in Safari. What I, like Alfy, want to be able to do is highlight a specific phrase and copy a direct link.

Also, something I often forget is that you can link directly to specific pages of a PDF file by appending #page= and then the page number.

Avram Piltch:

Note that you should use the page number within the PDF (as seen in the page list), not whatever number it says on the top of the page itself.

Jeff Johnson:

StopTheMadness Pro 11.0 adds the ability to copy a text fragment link from selected text in Safari, using a contextual menu item on macOS or Show Menu on Tap on iOS.

Timothy Hatcher:

This is actually in Safari 18.2 beta now as well.

Jeff Johnson:

Sherlocked: The phenomenon of Apple releasing a feature that supplants or obviates third-party software

[…]

The good news is that this feature is available now in StopTheMadness Pro, whereas Safari 18.2 is not scheduled for release by Apple until December. Also, it’s available in StopTheMadness Pro to users of older versions of Safari. And from what I’ve seen, Apple’s feature is available only in macOS Safari, not in iOS Safari. So my efforts weren’t totally wasted.

Previously:

Update (2024-11-06): Vítor:

There’s also an Alfred workflow for this.

Update (2024-11-07): See also: Keyboard Maestro.

Exporting Kindle Highlights for Personal Documents

I’ve long used the Send to Kindle app to upload documents for reading on my Kindle Oasis. Unlike with books, I usually don’t care about saving notes and highlights for these, so I haven’t tried doing that in a while. However, I recently read a long document where I did make extensive highlights. Then I realized that there seems to be no way to export them (other than by taking screenshots).

The problem seems to be that Kindle’s feature for e-mailing annotations only works for documents that are stored in the Amazon cloud. I didn’t realize this and had Send to Kindle set not to do this because these were ephemeral documents that I didn’t want to have to clean up later. However, now that I know this is a one-way door, in the future I will upload them to the cloud just in case.

Secondly, I had thought that it was always possible to access the highlights by connecting the Kindle to my Mac via USB and opening the My Clippings.txt file. However, for whatever reason, my Kindle no longer has this file.

Lastly, even if I upload my document to the cloud, the Kindle itself can’t e-mail the annotations. That only works for books purchased from Amazon. However, because the document is in the cloud, it can sync the highlights to my other devices, and the Kindle app for Mac does let me export them. (Annoyingly, it can’t copy/paste or save a file; I have to e-mail them to myself.) The Mac app also supports larger window sizes, so it’s easier to take screenshots to save or OCR.

I thought the discontinued Kindle Classic app might have more options, but now it’s crashing a lot on my Mac and seems unable to download documents.

Anyway, the summary is that is possible to get your data out, if you’re aware of the roundabout process.

Previously:

Paddle’s Single-Click Apple Pay

Paddle writes:

Previously, to initiate Apple Pay, customers were redirected to a secondary page due to Apple constraints with top-level domains. But now, Apple has updated their framework, allowing us to provide a seamless, single-click Apple Pay experience, where the native payment dialogue is triggered instantly upon checkout—no redirects, no extra clicks!

[…]

To get started with single-click Apple Pay, follow these simple steps:

  1. Turn on Apple Pay in your checkout settings from the Paddle dashboard.
  2. Download and host the domain association file from our developer documentation​ on the pages where Paddle Checkout is used.
  3. Verify your domain automatically or manually through our dashboard.

This is a bit confusing because the above link doesn’t go to the help page that actually has the domain association file. Once you have the file, you just remove the .txt extension that Safari adds and upload it to your site at /.well-known/apple-developer-merchantid-domain-association. Sure enough, now my store has inline Apple Pay instead of popping up a separate window.

Lots of people seem to like and use Apple Pay, and it seems to work as promised to make purchasing easy. A potential downside is that, when combined with Hide My Email, I see some orders where the only information that we get from the customer is the auto-generated e-mail address. If they later lose their order info, we would not be able to help them find it unless they know which address was used.

Previously:

Update (2024-11-06): Rosyna Keller:

Along with iCloud settings on macOS and iOS, you can search for and view generated Hide My Email addresses for each domain on the iCloud+ website by following these instructions.

It seems like, if you unsubscribe from iCloud+, the e-mail forwarding continues but you lose access to this management interface.

Monday, November 4, 2024

How to Use Cursor for iOS Development

Thomas Ricouard:

Recently, there’s been much talk and fuss about AI, and whether or not it can improve your development workflow. I wanted to touch base about how AI and its implementation in Cursor have been significantly improving my speed and efficiency.

In short, Cursor is a fork of VSCode with many code editing AI-assisted features built in. If you’ve played with Copilot in VSCode, you might know what I’m talking about. Well, think Copilot, but ten times better and with many other useful features aimed at productivity.

This story is about how I’ve been using it and setting it up for my open-source project SwiftUI Mastodon client, Ice Cubes.

Previously:

Why Alexa Hasn’t Yet Become the Real Computer of the Future

Jennifer Pattison Tuohy:

Fast-forward to today, and there are over 40 million Echo smart speakers in US households, with Alexa processing billions of commands a week globally. But despite this proliferation of products and popularity, the “superhuman assistant who is there when you need it, disappears when you don’t, and is always working in the background on your behalf” that Amazon promised just isn’t here.

Alexa is still mainly doing what it’s always done: playing music, reporting the weather, and setting timers. Its capabilities have expanded — Alexa can now do useful things like control your lights, call your mom, and remind you to take out the trash. But despite a significant investment of time, money, and resources over the last decade, the voice assistant hasn’t become noticeably more intelligent. As one former Amazon employee said, “We worried we’ve hired 10,000 people and we’ve built a smart timer.”

Via Dan Moren:

There was a real feeling of breakthrough to that original product, but—not unlike Siri—it feels like it never really moved a base level of functionality, despite all of Amazon’s efforts.

I think a big part of what has stymied Amazon in particular is trying to figure out where the Echo fit into its overall strategy. If Apple’s business is selling hardware and Google’s is selling ads, Amazon’s biggest might be shopping? But the shopping experience from the Echo has always been weird and less than ideal.

I can see why Alexa could be viewed as a disappointment, but I’m happy to have a device that does the basics really well. We have both an Echo and a HomePod in our kitchen, and everyone defaults to asking Alexa instead of Siri. We even tend to use it for music, even though it sounds much worse. Even though we don’t subscribe to Amazon Music, it has a higher chance of actually playing the requested song. The HomePod is for more deliberate music playing via AirPlay and for getting a second opinion when looking up information.

Nick Heer:

Siri remains software I distrust. Like Federighi, I would struggle to list my usage beyond a handful of simple commands — timers, reminders, and the occasional message. Anything else, and it remains easier and more reliable to wash my hands if I am kneading pizza dough, or park the car if I am driving, and do things myself.

Previously:

Playing Purchased Music on HomePod

Ruffin Bailey:

I often buy from what at least used to be called the iTunes Music Store. The biggest advantage for me for doing so over, say, buying from Amazon or directly from the artist’s site (which I often do, or buy from Bandcamp if available), is that Apple Music will stream those songs for me even if I didn’t download them locally, so they’re accessible any time I have an Apple device (or Windows!) and a network connection.

Well, almost. It doesn’t work from my HomePod, you know, the device I spent a few hundred bucks on TO PLAY MUSIC.

As I’ve explained, this basic feature mostly doesn’t work for me, either.

On Apple’s HomePod feedback page, the most recent HomePod OS version you can select is 16.5. Mine, after searching the Home app for a while, is apparently on 17.6 and is downloading 18 now.

Music is no longer in Apple’s DNA. They just don’t care.

Previously:

Reddit Is Finally Profitable

Emma Roth (Slashdot):

Reddit just turned a profit for the first time. As part of its third quarter earnings results released on Tuesday, the company reported a profit of $29.9 million, along with $348.4 million in revenue — a 68 percent increase year over year.

[…]

Reddit’s advertising revenue grew to $315.1 million, while “other” revenue reached $33.2 million on account of “data licensing agreements signed earlier this year.” Both Google and OpenAI have cut deals with Reddit to train their AI models on its posts.

In a letter to shareholders, Reddit CEO Steve Huffman attributed the recent increase in users to the platform’s AI-powered translation feature. Reddit started letting users translate posts into French last year before expanding to Spanish, Portuguese, Italian, and German.

Dare Obasanjo:

Both Reddit and Netflix reaping massive financial benefits from user hostile moves like banning 3rd party apps and blocking password sharing is setting an interesting precedent.

Jack Raines:

Reddit’s daily users increased 47% year over year, and there was an interesting anecdote in their shareholder letter:

“Reddit” was the sixth most Googled word in the US. With AI slop increasingly prevalent, Reddit is largely seen as an source of human information and stories.

Previously:

Friday, November 1, 2024

Apple Acquires Pixelmator

Pixelmator (Hacker News):

Today we have some important news to share: the Pixelmator Team plans to join Apple.

[…]

Pixelmator has signed an agreement to be acquired by Apple, subject to regulatory approval. There will be no material changes to the Pixelmator Pro, Pixelmator for iOS, and Photomator apps at this time. Stay tuned for exciting updates to come.

Tim Hardwick (tweet):

Based in Vilnius, Lithuania, Pixelmator has developed a suite of well-regarded creative tools that compete with Adobe’s offerings while maintaining a focus on ease of use and performance. The company’s apps have been exclusively available on Apple’s platforms, including Mac, iPad, and iPhone.

[…]

Financial terms of the acquisition were not disclosed. The deal marks Apple’s latest investment in professional creative tools, following previous acquisitions in the space such as Logic Pro and Final Cut Pro.

My initial assumption is that this is an acqui-hire. It doesn’t seem like their stuff really fits into Photos.app. But I suppose it’s possible that Apple wants to add a new iWork/Pro app.

Jason Snell:

I don’t know what this means for the future of Apple’s apps—though I hope it means Photos is going to get a serious infusion of new talent and functionality!

If you’re a Pixelmator Pro or Photomator user, this has to be a bit of a bummer, but there’s some good news: It will probably take a few years for Apple to fully integrate the team into whatever is happening next, and the existing apps will probably still be around until then.

John Gruber (Mastodon):

Pixelmator and Photomator already look like Apple’s own “pro” apps. From the get-go, the Pixelmator team hasn’t just followed Apple’s own trends and guidelines for UI design, they’ve helped define those trends.

Does Apple want to fold these advanced features into Photos? Or do they once again see the need for separate consumer/professional first-party apps? Logic, for example, was an acquisition — but that was all the way back in 2002. If Apple keeps Photomator as an actively developed product, it would be a return to the same genre they walked away from when they discontinued Aperture in 2014. And if Apple keeps Pixelmator going, it would be the first time they go head-to-head against Photoshop itself.

Steve Troughton-Smith:

The calls for Apple to have its own Photoshop competitor date back to the early days of Mac OS X, and the heyday of the Final Cut Suite, when Apple had an entire lineup of pro software for various niches.

Today, this Pixelmator acquisition could have far-reaching implications for iPad and Vision Pro, who have not been as well-supported by third parties making pro apps like the Mac has.

I would very much welcome an Apple that cares as much about, and fights for, pro apps as it used to.

On the flip side, Apple has a graveyard of pro apps it acquired, extracted all the value from, and left to rot along with their legacy userbases 😅

Nick Lockwood:

I’m sorry if that seems cynical, but Apple’s track record with software acquisitions is abysmal. My guess is either they’ll kill it completely or replace it with something unrecognisable in a year or two.

Mario Guzmán:

Pixelmator Team could AppKit harder than Apple and I now feel like Apple is going to ruin this marvelous app. Damn it. Damn iiittttttt. Pixelmator Team makes Mac-ier apps than even Apple. Apple just ships even-more-stretched out iPad apps

Federico Viticci:

Welp.

Nick Heer:

I am also a touch worried. The first thing I thought of was Apple’s purchase of Workflow, now Shortcuts. In the past seven years, the capability of Shortcuts has been expanded tremendously, but it has also been routinely broken in iOS updates. There are frequent errors with syncing, actions stop working without warning, and compatibility does not always feel like a priority in new first-party software releases.

So, good for Pixelmator for attracting Apple’s attention and delivering quality software for years — software which can go toe-to-toe with offerings from companies far larger and richer. I hope this acquisition is great news for users, too, but I think it is fair to be apprehensive.

Eric Schwarz:

As someone who does all the graphics work on this site and others with Pixelmator, I’m a little nervous what the future will bring. The last big Apple acquisition of a beloved app was Dark Sky and that was eventually killed off and rolled into the Weather app. There may be some good news—Apple also acquired Workflow, improved it and renamed it Shortcuts. Looking back even further, Logic Pro was actually an acquisition, too.

Ryan Jones:

Ballpark Pixelmator acquisition math.

Chris Adamson:

Apropos of nothing surely, Acorn remains a great Core Image-based Mac app for working with images.

See also: Mac Power Users Talk, TidBITS Talk.

Previously:

Update (2024-11-05): Gus Mueller (Mastodon):

Acorn and Pixelmator came out 15 days apart from each other in 2007, and the target market between the two has always overlapped. But even with that I've always been on good terms with the Pixelmator folks. Any time we were both attending WWDC, we would meet up and complain about image APIs or just chat over lunch.

The other major player in this category is Affinity, was purchased by Canva in March of this year. So it feels strange that Acorn is now effectively the only independent Mac image editor from that era.

Fantastical 4 and Windows Version

Flexibits (MacRumors):

We’ve spent the last 4 years making Fantastical better than ever across Apple devices, and with version 4.0 we decided to go even bigger by finally bringing the world’s best calendar app to a Windows PC near you.

For the Mac and iOS versions, it adds a Control Center widget and support for Miro conference calls, but otherwise the release notes show bug fixes. The price has increased from $40/year to $57/year. They are still honoring old, non-subscription purchases with the old feature set.

Flexibits:

The short version is all of the core sync and business logic is shared with Mac (we reuse our Objective-C) and we leverage AppSDK + WinUI for the UI. Currently we don’t make use of Swift on Windows and don’t have plans at the moment to.

Nicholas Riley:

So far Fantastical for Windows is resource-hungry and unstable, despite its feature completeness. First time I tried to edit an event, it hung. Not sure if this resource usage is typical (memory usage is still climbing, up to about 1.2 GB now) but it’s more than I afford on my work machine, and way more than on the Mac; will try again in a bit I think!

They’re not using Electron, and it doesn’t seem like there would inherently be a lot of extra overhead from using Objective-C, so hopefully they can get the resource usage down.

Previously:

Update (2024-11-02): The subscription price was actually increased in 2023 and is unchanged since then.

Update (2024-11-04): John Gruber:

I’m trying to think of a similar app — a serious Mac-assed Mac app that eventually was ported to Windows — and I’m coming up empty. It just doesn’t happen. I might go all the way back to Apple bringing iTunes to Windows.

[…]

[The] reaction to Fantastical seems overwhelmingly positive from the PC media[…]

Kirk McElhearn:

@daringfireball Another example might be iA Writer for Windows and Android. It started as an iPad app before coming to Mac.

Michael B. Johnson:

scrivener.

It’s a short list.

Apple’s Q4 2024 Results

Apple (transcript, MacRumors, MacStories):

The Company posted quarterly revenue of $94.9 billion, up 6 percent year over year, and quarterly diluted earnings per share of $0.97. Diluted earnings per share was $1.64, up 12 percent year over year when excluding the one-time charge recognized during the fourth quarter of 2024 related to the impact of the reversal of the European General Court’s State Aid decision.

“Today Apple is reporting a new September quarter revenue record of $94.9 billion, up 6 percent from a year ago,” said Tim Cook, Apple’s CEO.

Jason Snell:

All in all, Apple’s business was relatively flat. iPhone sales were up 6% but flat for the fiscal year; Mac sales were up 2%, which is about how they’ve been all year; Services continues to have reliable double-digit growth, but the rate of growth slowed to 12% year-over-year.

Jordan Golson:

Gross margin for the quarter was 46.2 percent, compared to 45.2 percent in the year-ago quarter.

Juli Clover:

This is Apple’s final earnings call with Maestri, who is stepping down from his role on January 1, 2025 to lead the Corporate Services teams.

Previously:

Update (2024-11-14): Jason Snell:

It being the fiscal fourth quarter, of course, means it’s also the end of Apple’s fiscal year. That gives me the opportunity to cart out a separate set of charts, ones that take the longer view and show the changes in Apple’s business over an entire year.

Let’s dig into the charts, starting with the big one, overall Apple revenue for the last 26 years[…]

CoverSutra Is Back

Sophia Teutschler (Reddit):

Hello, it’s me again! 👋 Did you hear? CoverSutra 4.0.1 is now available on the Mac App Store!

Sophia Teutschler:

It is a free upgrade for Version 3 customers.

Previously:

Update (2024-11-05): Niléane Dorffer:

This new version was rewritten from the ground up with a different approach: instead of being a controller for Apple’s native Music app, CoverSutra is now a standalone client for Apple Music on the Mac. In practice, this means that you can search your Apple Music library, pick any album or playlist, and start listening without ever having to launch the Music app.

[…]

In its current shape, CoverSutra 4.0 is pretty basic. Apart from search, playback controls, and the ability to set your own global keyboard shortcuts, there are no additional features or settings. However, I’m hopeful that the app can start fresh from this new foundation.

Thursday, October 31, 2024

GitHub Copilot for Xcode

Frederic Lardinois (MacRumors, Hacker News):

Microsoft-owned GitHub is bringing Copilot to Apple’s Xcode environment for the first time. Now in public preview, this will allow developers who build apps in Apple’s IDE with the assistance of Copilot. For now, the focus here is on code completion, but Copilot Chat and its other features will likely make their way into Xcode over time.

Copilot already supports Apple’s preferred languages Swift and Objective-C, so there’s no surprise there. Copilot, like on other platforms, will offer multi-line suggestions when it can and users will be able to block suggestions that match public code.

[…]

All paying Copilot users on individual, business, and enterprise plans will have access to this public beta now. All they have to do to get started is install the Copilot extension for Xcode.

GitHub Copilot for Xcode:

GitHub Copilot is an AI pair programmer tool that helps you write code faster and smarter. Copilot for Xcode is an Xcode extension that provides inline coding suggestions as you type.

Matt Pfeiffer:

No way! I thought source editor extensions were too limited for an ai tool to be all that useful/efficient inside of the Xcode box.

Javi:

It also uses accessibility APIs

Which is why:

The installation instructions on this page make me sad for the state of macOS.

Mo Rajabi:

Github Copilot for Xcode overlays a window on top of the editor for completions as Xcode extensions can’t do it.

It’s like how SpamSieve officially has a Mail extension, but the most important stuff is all done via other APIs because extension support is so limited and buggy.

Thomas Ricouard:

I’ve tried it a bit on some sample code, and it’s better than Xcode’s new (local) predictive model. It’s faster, more accurate, and can generate more lines of code.

[…]

It seems to fall slightly short of the Copilot extension within VSCode and Cursor tab. I guess that it doesn’t index and embed your entire project, only the current file.

Jesse Squires:

Was the original author involved with the GH copy?

Marcin Krzyzanowski:

They made a deal with the original author (and paid for that).

See also: Alex Sidebar.

Samuel Axon:

The large language model-based coding assistant GitHub Copilot will switch from exclusively using OpenAI’s GPT models to a multi-model approach over the coming weeks, GitHub CEO Thomas Dohmke announced in a post on GitHub’s blog.

First, Anthropic’s Claude 3.5 Sonnet will roll out to Copilot Chat’s web and VS Code interfaces over the next few weeks. Google’s Gemini 1.5 Pro will come a bit later.

Hugh Langley (via Hacker News):

More than a quarter of new code created at Google is generated by AI, said CEO Sundar Pichai on Tuesday during the company’s Q3 earnings call.

Previously:

Xcode 16.1

Apple (downloads):

Xcode 16.1 includes SDKs for iOS 18.1, iPadOS 18.1, tvOS 18.1, watchOS 11.1, macOS Sequoia 15.1, and visionOS 2.1. The Xcode 16.1 release supports on-device debugging in iOS 15 and later, tvOS 15 and later, watchOS 7 and later, and visionOS. Xcode 16.1 requires a Mac running macOS Sonoma 14.5 or later.

I’m not sure why it’s reported in the macOS 15.1 release notes instead of in the Xcode release notes, but an important bug seems to be fixed:

Fixed: Back-deploying apps that link QuickLookUI to macOS 11 or earlier might crash. (133213738) (FB14667312)

Unfortunately, FB13820420, where Swift apps that use the Network framework crash at launch on macOS Ventura and earlier, was introduced in Xcode 15 and is still not fixed.

When I enabled Apple Intelligence and launched Xcode 16.1 on macOS 15.1, it offered to download an AI model, and I see that there’s an Editor ‣ Show Swift Assist menu command. However, Swift Assist does not seem to be available yet, only the predictive code completion feature.

Previously:

iOS Apple Intelligence in EU in April 2025

Romain Dillet (Hacker News, MacRumors):

Remember when Apple blamed EU tech rules — and more specifically the Digital Markets Act — to justify the fact that Apple Intelligence wouldn’t be available in the European Union? Maybe that was just an attempt to turn EU users against their regulators as Apple Intelligence is coming to the EU in April 2025 along with local language support.

[…]

While Apple Intelligence is technically out of beta, you have to set your iPhone or Mac to U.S. English. On the iPhone, Apple also checks if your Apple account is associated with a European address. If that’s the case, you can’t enable Apple Intelligence on your iPhone at all, even if you set your iPhone to U.S. English.

On the Mac, it’s a different story, as European users can try out Apple Intelligence features starting Monday.

I don’t think this is quite accurate: Apple Intelligence no longer requires a beta version of the OS, but the feature itself is still marked as in beta.

Max von Thun:

So in the end, Europeans only need to wait five extra months for Apple’s new AI features, while presumably getting a better and safer experience due to compliance with EU laws on privacy and fair competition. So much for all the hysteria about Europe being “left behind”.

So far I have not heard any specifics about what will be “better and safer.” It just seems like a combination of Apple not being ready with other languages and not having had the time to report to EU regulators what it’s doing.

Previously:

Update (2024-10-31): Holger Eilhard:

This is also incorrect: “On the iPhone, Apple also checks if your Apple account is associated with a European address.” I have a European address on my iPhone (along with my german credit cards). I happen to be in the US and can use Apple Intelligence just fine – with the device set to US English and all that.

Update (2024-11-04): Nick Heer:

All we know right now is that Apple’s E.U. rollout of Apple Intelligence coincides with the availability of a bunch of European languages. The April language pack notably also adds support for two other English languages — Indian and Singaporean — plus Chinese, Japanese, Korean, and Vietnamese. No word on availability in China, but Tim Cook is working on it.