Profile avatar
douglashill.co
iOS team lead at Nutrient (previously known as PSPDFKit) and an organiser of NSLondon. I travel overland, work on iPad, and go wakeboarding, ice skating, and skiing. European. he/him
252 posts 1,393 followers 54 following
Prolific Poster

Very excited to be taking trains from London to the Norwegian fjords around Bergen next month for hiking and kayaking. I’ll stop in Copenhagen and Oslo on the way up. This will be my first time in Denmark and Sweden. 🇬🇧🇧🇪🇩🇪🇩🇰🇸🇪🇳🇴

Never thought this day would come: installed the native WhatsApp app on my iPad. Since their web app worked pretty well the last few months and Apple doesn’t allow web apps to live only in App Library, the biggest practical change with the native app is removing WhatsApp from my iPad dock.

And that’s WWDC labs wrapped up. Putting Webex away for another year. Only did 5 labs this year, but very useful as always. Thank you Apple people for the help!

Apple Battersea is hosting a #WWDC25 recap later this month! developer.apple.com/events/view/...

Apple are running an in-person session in London covering their WWDC highlights. It’s only just over a week away. I applied.

Looks like registration for WWDC labs tomorrow already closed, presumably at 10pm BST since I submitted one fine at 9:57pm. The submissions for today’s labs were still open after midnight. How can I know when the submissions close each day?

Highly sceptical of this new windowing system on iPad. Looks messy. I'd use a Mac if I want a Mac. But we'll see. I think Stage Manager is a pretty good design, just very buggy.

This looks interesting for our PDF Viewer app.

What I want in macOS are more stunning aerial photographs as backgrounds like we had for Catalina and Big Sur.

How is liquid glass going to look with reduce transparency enabled (which I use)?

Hopefully they‘re saving the best until last for iPad. (Based on the order in the list of platforms shown near the start.)

There was always a question of whether the ‘slides’ in WWDC keynotes were real or added digitally, but now it’s clear these are secretly visionOS windows.

Is it just for me that typing into a Shortcuts “Ask for Input” action no longer works on Mac? Key events always go to the main Shortcuts window, so the only way to enter text is by pasting from the context menu.

Gah just booked an unchangeable train ticket an hour too early because of time zones like an absolute novice. You wouldn’t guess I work with a team where everyone is in a different time zone. At least it’s the first train of the day so I just have to be up a bit earlier.

Since I might want real-time posting during Apple’s keynote tomorrow, I made my site build a bit quicker on GitHub Actions. My key finding is that calling swift has a high startup cost here. Even swift --version can take 9 seconds. I went with caching the compiled Swift build script.

Here’s a written version of my impromptu lightning talk at Swift Craft 2025 about the available options for codebases that work across Apple platforms.

Mac pro tip: Use option + shift + brightness up/down to change the brightness in smaller increments. The increments seem different on the 2024 MacBook Pro compared to the 2021 model, so indoors I often find 6 bars too dim but 7 bars too bright. 6.25 bars is about right.

It’s one decade since I started at Nutrient/PSPDFKit! We’ve grown, and a lot has changed, but not everything: same remote lifestyle, open communication, and drive to improve. After 45k messages and 2554 pull requests from me, we’re still happily using Slack, GitHub and Google Workspace.

Registration for our NSLondon WWDC25 keynote viewing party at Ford opens at 13:00 today. I expect it will fill up quickly. Note: With Meetup, there’s a two step process of first requesting to join the NSLondon group and then RSVPing (registering) for the particular event.

Before yesterday, the Apple developer website wasn’t using the word keynote in reference to the video at the start of WWDC week. The calendar event called it a kickoff. This has been updated so it’s now called a keynote like in previous years.

Heading off to the Swift Craft conference. Now I have 24 hours to work out my lightning talk about developing across Apple platforms.

My reading app will become unavailable on Apple’s app store in five days, because I’m letting my paid Apple Developer membership expire. As I understand things, if you “Get” the app now, you’ll still be able to download it after that point.

Here’s a quick roundup of upcoming iOS conferences in Europe. I’ll be at Swift Craft next month and hopefully at least one more in the autumn.

Thank you superstars at Apple for iOS 15.8.4. Great to see security fixes for products released nearly a decade ago. I’m still living the one-handed phone life with the 1st-gen iPhone SE.

Looks like Xcode 16.3 has introduced new (incorrect) upload warnings: Your app, or a library that’s included in your app, uses Apple Push Notification service (APNs) registration APIs, but the APS Environment Entitlement isn’t included in the app signature’s entitlements."

Reminder that calendrical calculations are hard, so you should always use Foundation’s Calendar and DateComponents APIs.

With European summer times starting this weekend, I’m tactically moving from France to England today to (except for a few hours) go straight from Central European (Winter) Time to British Summer Time, which are both UTC+1. Take that silly clock changes.

The Xcode 16.3 release notes list some interestingly named C++26 features, including Poison Pills are Too Toxic, The Mothership has Landed, and Symmetry for spaceship.

After reviewing five job applications in a row with the phrase “perfectly aligns”, I updated my Life on the iOS team at Nutrient post to use plainer language to set the tone better. We don’t need to achieve, align on, thrive on, and foster when we can have, talk about, enjoy, and provide.

Given that multiple stores for apps exist and Apple chose to name theirs in a generic way, I’ve changed all posts on my website saying “the App Store” to “Apple‘s app store”. (While doing this, the earliest post I found regarding the lack of competition in this space is from 15 years ago.)

Most of my career making software with Apple’s SDKs has prioritised iPad over iPhone, which was always a bit of a niche. It doesn’t bring me any joy to say this since I love the polish and consistency native apps can theoretically provide, but I increasingly feel like the web is the way forward.

Federico Viticci writes about how desktop-class experiences are found in web apps rather than native iPad apps. I’ve had a similar experience: I spend much of my work time in Slack, GitHub, Jira, Notion, and Google Docs. These all have iPad apps, but I use the websites on my iPad instead.

🏔️ Innsbruck 🚄 Vienna 🏙️ for a few days

Our newest release, Nutrient iOS SDK 14.6, adds AI Assistant. Another thing I like in this update is that we’re following my recent advice to prefer mailto links to MFMailComposeViewController (by default — it’s an SDK so of course we made this configurable). Also our changelog has an RSS feed.

I’m (partially) sorry about the negative tone of my posts recently. Text autocompletion with advanced models is relatively new, and will improve with iteration. I wish I was as confident about improvements to encryption laws and software distribution on iOS (and global cooperation/peace etc).

With this example, it’s hard to believe the iOS/macOS text autocompletion uses a transformer language model or whatever given that if you take a correct English sentence containing “in” and replace “in” with “interviews” you most likely don’t end up with a correct sentence.

Apple’s aggressive text autocompletion cleared a new bar. After spending most of this week doing interviews for our open job (which is great but it’s a lot!) I was texting friends about weekend plans and when I typed “in” it was replaced by “interviews”. Not cool.

Update on Apple’s “Turn On Reactions” nag: Turning off Notifications for FaceTime then restarting my Mac made these popups stop when using Zoom. This makes little sense given these aren’t notifications, and I’ve never used FaceTime on a Mac. Found in this Reddit thread thanks to Caesar Wirth.

Notion added a feature to their website on iPad where placing the mouse pointer near the top or bottom of the page scrolls up or down. Great if you struggle with scrolling on other websites. It’s a nice companion to their formatting bar that covers up the text you’re trying to edit.

Is there a trick to getting iPad app screenshots to not show rotated on Apple’s anticompetitive store? Looks fine on App Store Connect. I guess maybe because one screenshot is portrait it breaks the others, but the only way to know is to release a new app version and see.

It’s very easy if you‘d like to join me making a donation to the Ukrainian government. (Or call it an investment in security and democracy if you prefer.) Weird making donations to a government, but here we are. 🇺🇦

At first, I thought it was a Zoom programming error that this popup appears every time I start a video call on my Mac, but it looks like this is a system feature that boring Zoom users like me should be constantly nagged about. Clicking the × doesn’t do anything.

Reminds me of growing up playing two Pokémon games at once so I could choose moves in one while the attack animations happened in the other. Those Pokémon weren’t going to train themselves.

My weird way to speed up six App Store Connect submissions (iOS/Mac/Vision × App Store/TestFlight) is to open two browser windows so I can click buttons in one while the other is waiting on the server. (It would probably be sensible to automate this.)

I’m late posting this, but Swift Connection has published the recording of my talk on zoom transitions in Paris last September. I also put up a page linking to the relevant resources.