Apple’s incomplete pronoun fields

In iOS 17, you are now able to add pronouns to contacts, including your own contact card. This is a good thing, but at least one important pronoun case is missing from the “English” options.

The cases included are:

  1. Subjective (“Yesterday, she went outside.”)
  2. Objective (“I went with her.”)
  3. Possessive pronoun (“The idea was hers.”)

These three cases mirror the common “she/her/hers” structure used to communicate pronouns on social platforms like Twitter and Zoom; as such, they may seem complete, but they aren’t.

The missing case is the possessive adjective: “It was her idea.”

This may seem redundant, because in the declension of feminine pronouns, the possessive adjective is the same as the objective: “her.”

But in masculine pronouns, the possessive adjective is the same as the possessive pronoun: “his” (as in, “It was his idea”).

CaseFeminineMasculine
SubjectiveSheHe
ObjectiveHerHim
Possessive pronounHersHis
Possessive adjectiveHerHis

This isn’t a problem when interacting with people — we know how to decline the common feminine and masculine pronouns, so we know which form to use for the possessive adjective.

But because the iOS 17 UI doesn’t have a field for the possessive adjective, the OS and apps that have access to these fields — which have to behave programmatically — can’t know what to use for that case.

If I’m writing an app and I want the UI to say, “Would you like to call her?” in reference to some contact of yours, I can use the objective pronoun field. But if I want the UI to say “Her birthday is coming up” (the possessive adjective), I don’t have the necessary information.

I can try to guess, based on what I know about the declension of these common pronouns. But what about uncommon ones, like Ze or Xe? Anything I want to use will have to be hard-coded.

This is not even to mention the reflexive case — “She was proud of herself” — which is entirely absent.

Leave a Comment

MDN’s rogue definitions of <b> and <i>

From 1993 through roughly 2008, the <b> and <i> tags in HTML meant “bold” and “italic,” respectively. Using those tags will still, in 2023, cause most (all?) browsers to render text with either a bold font weight or an italic font style, but the tags no longer “mean” that. It’s now more correct to consider it a coincidence that browsers represent <b> as Bold and <i> as Italic; they may just as well be <y> and <r>.

The emphasis on both (a) semantic HTML and (b) backwards compatibility means that, as stated by the W3C themselves:

The b and i elements are widely used — it is better to give them good default rendering for various media including aural than to try to ban them.

So: What to do with those letters? <b> can’t mean “bold,” and <i> can’t mean “italic.” What do they mean?

Continue reading

Leave a Comment

How to get Jetpack’s “Writing Prompts” in WordPress

The WordPress Jetpack plugin recently (and experimentally) added “Writing Prompts” like those seen on WordPress.com-hosted sites since…I wanna say 2020?

I’ve been thinking about getting more into “Personal Blogging” elsewhere, and I figured these would be useful in getting words out.

In order to get these prompts on a self-hosted WordPress site, you need to do three things:

  1. Upgrade to JetPack 11.7 or higher
  2. Add the following line of code to your wp-config.php file:
    define( 'JETPACK_EXPERIMENTAL_BLOCKS', true );
  3. Go to “Settings > Writing” in WordPress admin, and check the box labeled “Show a writing prompt when starting a new post.”

I don’t know when this is supposed to become available without Step (2), but at that point it might be a good idea to turn off Experimental Blocks by removing that line.

Leave a Comment

“The Moon” Is Wrong

Three years ago, in December 2019, a tweet went viral posting a link to a YouTube video in which all the lyrics to Paul McCartney’s “Wonderful Christmastime” had been changed to “The moon is right.”

Two days later, another, far more viral tweet joked that the lyrics can be read as the interruption of an act of witchcraft. (This joke has been cribbed in countless subsequent social media posts.)

I was immediately skeptical at the hearing of the lyric as “moon” rather than “mood,” but it was helpfully pointed out to me that the official @PaulMcCartney Twitter account had indeed posted the lyrics as “moon.” (Original tweet link, Wayback archive)

Last year, in December 2021, @PaulMcCartney again tweeted the opening lyrics (backup link), but this time with “mood” rather than “moon.”

I began to hunt more seriously for answers.

That same winter I bought both physical and digital copies of the expanded edition of McCartney II. This album does include the song, but turns out not to have the song’s lyrics in its liner notes.

Unhelpfully, the song was originally released as a 45RPM single, with no printed lyrics.

I discovered that the official Paul McCartney YouTube channel had posted the music video in 2019, and its captions read “The mood is right.”

Liveright published “Paul McCartney: The Lyrics,” a massive two-volume box set of printed lyrics for “154 of his most meaningful songs.” Evidently “Wonderful Christmastime” is not meaningful, as it is not included in this set.

Nevertheless, due to its making much more sense, I had personally concluded that it is, in fact, “mood” (though I never seriously doubted it).


Then, earlier this week, the author of the witchcraft tweet followed up with a notice that @PaulMcCartney has since deleted its 2019 “moon” tweet, and that McCartney himself has addressed the controversy in a recent interview:

No, it’s ‘the mood’. And you know what, I’m thinking about Liverpool Christmas parties, that’s really all I’m doing with that song. “The mood is right, let’s raise a glass, the spirit’s up” – you know, all the stuff you do at Christmas.

Thanks, Paul.

Leave a Comment

Generating editor snippets from SassDoc

I’ve always loved SassDoc, and I’ve always loved editor snippets, but as a Vim and Neosnippets user, (a) other people’s (VSCode) snippets weren’t useful to me, and (b) my (Neosnippet) snippets weren’t useful to anybody else.

At some point it would be great to build a tool that can convert snippets of one format to any other format (IntelliJ? Atom?), but in the meantime I thought, “Where do we get snippets from to begin with?” Authoring them in the first place is a pain.

So after encountering a massive (massive) Sass library last week, one that was thoroughly marked up with comprehensive SassDoc comments, I realized the machine-readability of SassDoc makes it perfect for generating Sass snippets from.

So I made sassdoc-to-snippets, a command-line (or Gulp-compatible) tool for taking a directory or file of SassDoc-commented Sass and turning it into snippets files, for either VSCode or Neosnippet (and with other syntaces easily added).

Please try it out! Test it, bang on it, kick it, see what breaks it or how it could be improved and please let me know in a PR or Issue on GitHub.

Leave a Comment

Third-party gyroscopic head tracking is not “Spatial Audio”: the Anker soundcore Liberty 4

From a credulous 9to5Mac review of some new Anker earbuds:

Arriving with active noise cancellation, Anker also backs its Liberty 4 with Spatial Audio support, thanks to the internal gyroscope that helps immerse you in the sound.

From the description on the Amazon product page, titled “soundcore by Anker Liberty 4, Noise Cancelling Earbuds, True Wireless Earbuds with ACAA 3.0, Dual Dynamic Drivers for Hi-Res Premium Sound, Spatial Audio with Dual Modes, All-New Heart Rate Sensor”:

360° Immersive Spatial Audio: As you listen to music and watch movies, the built-in gyroscope and spatial audio algorithm track your head movements to always keep you at the heart of the sound for a completely immersive experience.

From the FAQ on Anker’s product website:

How do I enable Spatial Audio?

  1. Wear the earbuds.
  2. Enter the soundcore app and connect Liberty 4.
  3. Select Spatial Audio. 
  4. Spatial Audio cannot be turned on while sound effects are turned on. 
  5. Select Movie or Music mode to adjust the sense of distance while listening to different types of audio content.

Spatial Audio — the Apple feature — is an OS-level capability for taking true many-channel audio and “shaping” it to mimic the effect that the contours of your ears have on physical sound waves when they reach your head. Thus a sound in a movie that would be directed to the rear right speaker in a theater or surround sound system will sound like it is coming from behind and to the right of you when you are wearing compatible headphone hardware.

In other words, if you wear the Anker soundcore Liberty 4 earbuds, connect them to your iPhone, iPad, Mac, or Apple TV, and watch a movie that contains Dolby Atmos audio — you will not be hearing that movie in Spatial Audio. You will be hearing it in stereo, with the Liberty earbuds (on platforms where the app is available) shaping the waveforms so that they sound like they are originating from a space in front of you rather than the center of your head. No sounds will appear to come from behind you with this technology, as they can with true Spatial Audio.

Dynamic Head Tracking — the Apple feature — is a joining of hardware and software, whereby the source of your audio (your iPhone or iPad) is “aware” of its spatial relation to your headphones. Thus if you turn your head, the audio will continue to sound as though it’s coming from the device, rather than in the direction you’re facing; similarly, if you move the device around your head, the perceived locus of the audio will follow the device.

If you wear the Anker soundcore Liberty 4 earbuds and listen to music on your iPhone or iPad, even with the soundcore app, the experience is less clear to me. I believe that the app may ask permission to read your device’s motion sensors, giving it enough data to cause the audio to always follow the device, but I can’t be sure. In any case, this will not be the system-level Dynamic Head Tracking that is only possible with iOS 15+ and compatible Apple headphones.

It bears repeating that Spatial Audio and Dynamic Head Tracking are two separate things, but now it seems necessary to add that there is no Spatial Audio without Apple hardware, period.

There’s no technical reason that Apple couldn’t make this kind of third-party Spatial Audio compatibility possible, as far as I can tell, but as of yet, they haven’t done so.

Leave a Comment

Peanuts holiday specials absent from broadcast TV in 2022

When it was announced in 2020 that Apple would obtain the rights to the Peanuts TV holiday specials, I was relieved to read that they agreed to allow PBS to broadcast the films over the air. Previously, A Charlie Brown Christmas had been broadcast every year by CBS (1965-2000) and ABC (2001-2019).

This year, however, it appears that that won’t be the case, based on this tweet from PBS Kids:

Regretfully, PBS does not have the rights to distribute the Peanuts specials this year. We’ll all have to watch for the Great Pumpkin in a different pumpkin patch this Halloween.

@pbskids

I suppose it’s silly of me to think that there are many people left who watch TV over the air at all anymore, or on cable. As long as you own a TV, it’s likely to be a smart TV, and likely to be able to run the Apple TV app (where the specials will air for free, even to non-subscribers, thankfully). Barring that, you likely have a smartphone, tablet, or computer where you consume all your content anyway. Practically speaking, this does not introduce a great barrier to watching the specials, even an economic one; in fact, if the specials were only available at a specific time over a legacy network, they would have a far smaller reach.

On the other hand, why am I a grown man writing about 60-year-old cartoons? Sentimentality. And aren’t the holidays largely about sentimentality and tradition to begin with? The airing of these specials at a specific time on a specific date on a specific channel at least provided the illusion that they are something we are experiencing together, simultaneously, as we have since before I was born.

What will be gone is the “eventness” of it, the specific annual televisual demarcation of the peak of Christmas season. It’s a loss.

Leave a Comment