Douglas Hill’s posts in 2023

11 January 2023

Just testing my micro blog. Here’s some recent baking.


12 January 2023

How I used JavaScriptCore to add a JavaScript dependency to my iOS app to remove tracking parameters from URLs. Read more »

Using JavaScript in a Swift app: »

18 January 2023

Recently I was working with NSPredicate, and a situation that looked fairly basic wasn’t working as I expected. I wrote about a new surprise with this old API. Read more »

NSPredicate: an old API with new surprises: »

19 January 2023

⚡️🚙 London ➡️ Innsbruck, over two days. It’s time for mountains and skiing. »

21 January 2023

I just found iOS 16 added viewing/copying the password of a known Wi-Fi network. Go to Settings > Wi-Fi > tap the (i) by the network > Password > auth with Face/Touch ID.

I used to use Keychain Access on my Mac to copy a password to Nintendo Switch. Much nicer from iOS. »

App Store ads are still keeping it classy. (To be fair, “meetup” could be interpreted this way, but the difference in tone is jarring between the ad and Meetup, the event management platform I’m looking for.)


22 January 2023

Mixed conditions in the Zillertal to start my ski season. I understand it’s been dry until recently so this a huge improvement.


There’s something up with the language model in iOS dictation that resulted in it transcribing “strawberry moose” instead of “strawberry mousse”. I guess homophone resolution is still tricky. 🍓🦌 »

23 January 2023

We have a app user who updates their 1 star review after most updates to express disappointment we don’t translate our release notes into German. It’s amazing having such dedicated users. »

26 January 2023

I didn’t notice this Reload Organizer command before. You can use to force Xcode to fetch new crash reports etc. from App Store Connect.


27 January 2023

Realised a couple of recent articles showed up on and Twitter but not in feeds. For the record:

28 January 2023

A bit icy but otherwise great conditions in Ischgl/Samnaun today. AKA Expensive Swiss Lunch Day.


29 January 2023

Ostensibly proving I’m not a robot, but actually practising my French vocab.


30 January 2023

An update to my @_readingapp is out that adds Shortcuts actions to automate and integrate with other apps. You can filter/sort based on many properties, including word count. There are also new lists for “Short Articles” and “Long Articles”.


1 February 2023

I’m intrigued how Pages on iOS displays localised font styles. I guess it might have an adjective parser (e.g. to know that “Ultra Light Italic” is two terms) and a long list of translations for common adjectives (regular, book, roman, italic, oblique, etc).


5 February 2023

Switching my Safari search engine from @ecosia back to @DuckDuckGo. Number and size of ads with Ecosia reached the point where I often don’t see any results without scrolling. »

9 February 2023

Naming an ActivityPub server (mostly Mastodon) with “social” in the domain name is missing a trick by not going for “pub” instead:

10 February 2023

Rotating an iPad home screen without widgets is the worst of both worlds: icon spacing is uneven AND the number of icons per row changes. Adding a widget magically fixes the first problem, and by strategically positioning widgets, you can fix the second problem too.


In around 48 hours, I’ll change my ActivityPub (Mastodon) address from to Unfortunately the transfer won’t be automatic so if you’re following already you’ll need to follow again. »

We have a review of @pdfviewerapp for Android comparing the precise temperature their phone gets when running our app vs. a competing app. I appreciate learning new ways to see the world. »

11 February 2023

I’ll switch my ActivityPub (Mastodon) address from to in ~8 hours. Not changing host; just a better name. The new name won’t work until I switch, and then the old name will disappear. Couldn’t think of a better way. »

12 February 2023

Switch over to ActivityPub/Mastodon name is complete. I want to write more about the new setup soon, but now it’s time to hit the slopes. ⛷ »

13 February 2023

Fantastical subscription just renewed after a 54% price increase. It’s a terrific app (one of the best) but to be honest I wouldn’t mind splitting this with someone. 😅


15 February 2023

An annoying little thing since Xcode 14 is sometimes the editor loses keyboard focus when jumping between files. The insertion point can end up in the find navigator search field. I’m getting good at instinctively pressing cmd-J to re-focus the editor. »

16 February 2023

I set up a basic help page for my reading app, linked from the top-level nav in the app. It’s odd having an app that displays webpages and then jumping to the browser, but I want to be able to update this easily. »

22 February 2023

Amazing to see the team effort that went into adding editing PDF text to our SDK. Uses UITextInput + UITextInteraction for native inline editing while using our own renderer. PSPDFKit 12.1 for iOS Adds Content Editor »

26 February 2023

Today marks four years since my last flight within Europe. I have no intention to change this. Coincidently that flight was Vienna to London, which I would have thought was too far to do in one day on trains, but nope: I can confirm it’s possible. »

28 February 2023

On iOS 16 UIColorPickerViewController can leave its dropper on screen, blocking touches across the system until you force restart by holding two buttons. We’re considering reverting to our custom colour picker. FB12017635 »

Skiing last Sunday in Kitzbühel. Discovered the delightful run 55.

Snow covered small trees with nothing but pure white clouds behind.

Ski run arrow marker with nothing else but pure white visible.

Distant view of skiing gondola fading in the clouds, with snow covered trees in foreground.

View of the snowy valley with mixed clouds and blue sky. »

17 May 2023

With Apple’s updates ahead, I wrote how we keep our code compiling with both old and new Xcode June–October. Especially important for Mac Catalyst apps where the SDK is likely to be reverted in September. Read more »

4 July 2023

My past tweets are now available on my website. No sign in required. In the URL, replace “” with “”. Read more »

6 July 2023

Added the missing tweets in threads/tweetstorms on my website. The best examples are my open source advent, an iPad mini comparison and this train journey. »

13 July 2023

I believe Vision Pro is a huge deal for the future of computing, entertainment, and how we interact with the world. I wrote a post exploring how this new platform fits in. Read more »

25 November 2023

Added Bluesky as another way to follow my posts (not that there have been many recently). This is set up a mirror of what’s on ActivityPub/ I’m »

Link to Bluesky profile in Bluesky app => Potentially Misleading Link. You couldn’t make this up.

Screenshot of Bluesky app showing alert: Potentially Misleading Link; This link is taking you to the following website:;; Make sure this is where you intend to go; Visit Site; Cancel »

30 November 2023

Started a long weekend with a day at cookery school making ramen and gyoza. Learned a lot, and it was very tasty. Went as not vegetarian for the day.

Photo of ramen bowl with chicken, eggs, spring onions, daikon and nori

Photo of eight gyoza with dipping source »

1 December 2023

Second day off work. Almost all the day was taken up with some errands in town, a misty and frosty run in the woods, and putting yesterday’s course into practice making ramen and gyoza at home.

Photo of frosted trees in bracken with a very misty sunset view beyond »

2 December 2023

Photo from hilltop with trees in foreground and mist illuminated by the sunset covering the distance. The sun is low and orange on the right.

Photo from hilltop with trees in foreground and grey mist covering the distance.

Dreamy views over the mist on my extra frosty run today. »

17 December 2023

Close-up photo of mince pies with star shaped pastry top on a cooling rack.

Christmas baking commences! Made these for the local “mince pie run” this weekend. »

19 December 2023

App review is working quickly to get through everything this week. Managed to get a PDF Viewer update built and released on the same day. »

20 December 2023

Great team effort wrapping up the year at PSPDFKit with one last release. We overhauled how we digitally signing documents, ending up with an API that’s simpler and more flexible.

We’ve also been iterating on our public preview for visionOS that we announced in September. »

21 December 2023

I added Tumblr as another way to follow my posts. Perhaps not the best place for my mostly tech-related posts, but it’s a checkbox on, and if someone prefers Tumblr to other options that’s fine by me. I’m douglashill. »

22 December 2023

It’s a shame macOS Sonoma dropped the smooth animated transition between the phases of Dynamic Wallpapers. I still use the wonderful Big Sur coastline photos, and it’s jarring when the photo suddenly changes time of day. »

Imagine if you were having a quiet Friday at work just before Christmas… and then at 6pm you discover the live version of your app is crashing at launch on older iOS versions. Read more »

26 December 2023

Added a privacy manifest for my KeyboardKit project. Nothing to declare. »

31 December 2023

With instructions for the party tonight of “most surprising party snack”, I made miso-walnut onigiri.

Photo of ten rice balls, each wrapped in a band of nori seaweed. »