Douglas Hill’s posts in 2018

10 January 2018

London people: want to hang out with digital nomads and remote workers this evening? »

23 January 2018

“Since older people often have dry hands, the screen doesn’t always recognize their touch so I didn’t include any swipe gestures.” »

24 January 2018

Amazon buys interesting ads on @DuckDuckGo. One of many examples I’ve seen.


27 January 2018

URLs/NSURLs to the same resource might not be equal.


31 January 2018

London ✈️ Innsbruck 🏔 »

2nd time this week a UIKit header became empty. Restored from other platform (iPhoneOS/iPhoneSimulator). Wondering if it’s not user error. »

2 February 2018

In the past I tried using my iPad Pro as an external screen for my Mac. Now that seems like a terrible waste. I’d much rather use iOS apps. »

18 February 2018

Innsbruck 🚊 Vienna. It’s that awesome time of year when we get the whole @PSPDFKit team together in Vienna for a week of work and fun. »

25 February 2018

I’ve updated my fork of GitUp, fixing SSH connections to GitHub. »

27 February 2018

Good turnout at @NSLondonMeetup at Google this evening. Very smart and spacious venue.


I set up a simple Swift build script to get compiler checking and auto-completion for localised string keys. »

1 March 2018

In theory you can scan a PDF train ticket from your phone in the Netherlands, but the reader activates Apple Pay when the phone is near. Doh »

3 March 2018

People really are skating on the frozen canals in the Netherlands.


The importance of kerning. »

5 March 2018

Does anyone know a software solution to use a Mac’s internal mic while output is though headphones that have a built-in mic? »

Heads up: @albertheijn (largest supermarket in the Netherlands) doesn’t accept @n26 Euro debit MasterCard (at least for me). Needs cash 🙄 »

10 March 2018

Bought my ticket for App Builders Switzerland. I’ll be in Lugano the day before and after too. »

13 March 2018

Londoners looking at flights to WWDC: don’t forget the Q2 @NSLondonMeetup is planned for 31 May. »

16 March 2018

Gagat by @Boerworz is an easy-to-integrate component for two finger swipe transitions between light and dark themes. »

Me too »

23 March 2018

Might check out 3rd party iOS email apps just so I can write in plain text. »

Looks like an exiting role but I’m not ready. @PSPDFKit is too awesome a place to work, as I’ve said before: »

WWDC ticket get! »

24 March 2018

Go Cambridge 🚣‍♂️ »

25 March 2018

TIL you can fix UIButtons in UIScrollViews blocking scrolling by overriding touchesShouldCancelInContentView. »

27 March 2018

London ✈️ Oslo »

28 March 2018

First impressions: Oslo is nice. People here seem to like burgers, Mexican food, headphones that keep your ears warm, and Teslas. So many Teslas. »

The latest episode of Timetable resonated with me as I’m trying to name my new read later app. Currently at about 50 name ideas but it sounds like I should try way more.


30 March 2018

UITextView draws images on the CPU. Big performance improvement switching to overlaying UIImageViews. Next: reimplement user interaction. »

31 March 2018

Yes yes yes! Flexible schedule works so well for me. »

6 April 2018

Kulturhuset is a good place to work. On Friday evening it’s lively with people in for drinks but there’re still laptops out in quieter rooms »

Currently charging Mac, iPhone, router and Switch from a single mains outlet using all the cables I travel with. No dongles: all USB-C. »

11 April 2018

You can do a lot of stuff in PDFs, including having conversations to give feedback on a document. »

13 April 2018

If anyone’s interested in work in Cambridge UK on an iOS/Android app using machine learning to prevent strokes and heart attacks, I know someone who’s looking. »

14 April 2018

Wow, Working Copy just keeps getting more powerful. »

🗻 Trysil 🚌 OSL ✈️ CPH ✈️ MXP 🚌 Lugano 😰 »

End of a fun week skiing in Norway, with both kinds of weather. It’s a different kind of beauty to the Alps.


15 April 2018

Already met lots of awesome people on the evening before @appbuilders_ch. Looks like this will be an excellent conference. »

16 April 2018

Didn’t expect chocolate in the welcome bag at #appbuilders18 💙💚


18 April 2018

Great idea! Like doing the UIKonf social activities, but for a whole conference. »

Wondering how often people use portrait iPad split screen. Seems like landscape iPhone: iOS wants apps to support this size but it’s usually a less good UX.

When I go from landscape iPad split screen to portrait I almost always switch to one app full screen. »

19 April 2018

MXP ✈️ LGW after a wonderful time at #appbuilders18. Apparently it’s even warmer in the UK than Milan ☀️☀️☀️ »

20 April 2018

Using Slack on iPad without hardware keyboard, and was missing the back/forward key commands. Thought it would be cool if you could do this by swiping with two fingers. Turn out you can! »

Nope, me too. »

26 April 2018

If you’ve ever noticed tapping a UIPageControl seems unreliable, the reason is the dots block taps.


1 May 2018

Does a good iOS hex editor exist that uses the standard document browser? »

13 May 2018

On my way to Berlin for #uikonf and beyond. Looking forward to running around Tempelhofer Feld. »

20 May 2018

Anyone want to go to Yosemite for a few days after WWDC? »

22 May 2018

I’m very excited to be speaking at #AltConf2018, and it’s really soon! »

25 May 2018

Cool: @duolingo accepted my suggestion for “No I am not from China” as a translation from Japanese “いいえ、中国人ではありません。” »

28 May 2018

My #AltConf2018 talk is all about Apple Pencil, covering how best to use the Pencil in your apps.


31 May 2018

At @NSLondonMeetup, @johnsundell is taking us through the magic of UI testing. sleep(1) all the things, maybe…


Next at @NSLondonMeetup, @de_velopment just spoke about expanding our community by mentoring at @codebar. »

Last talk at @NSLondonMeetup: we’re going on a tour of machine learning on iOS with @meghafon.


1 June 2018

LGW ✈️ OAK. On my way to San Jose for #WWDC18 and #AltConf2018. »

2 June 2018

Arrived in San Jose. Loads of work going on getting the convention centre set up for #WWDC. »

I’m at Social Policy working on my #AltConf2018 talk. Will probably be here a while so come and say hi if you’re around. #WWDC18 »

4 June 2018

From the #WWDC18 keynote I’m most excited by Safari’s further strides to prevent tracking, and the share sheet being faster to appear. »

AR still baffles me. The company that told us they won’t do touch screen Macs because of arm ache telling us to hold an iPad up to play a video game. »

7 June 2018

Improving user experience with Apple Pencil

Talk at AltConf San Jose 2018.

Slides (19 MB, PDF) »

Come and talk to us about anything from how we operate as a remote team, to fun with UIKit and PDFs. »

9 June 2018

Nice to relax a bit after such a busy and incredibly fun week. Visited Apple Park. Now getting all my inboxes empty and projects reviewed. »

Am I missing something or is there no way to disable sounds for iCloud Photo Sharing notifications? Not in Settings > Sounds either.


10 June 2018

I’m aiming to make it to this. »

14 June 2018

Arrived in NYC after two relaxing offline days in Yosemite. Such contrast. »

UIKit enhancement request: should be possible to show same action sheet for links as UITextView


15 June 2018

From what I’ve seen so far, AppKit. But there’s still time to improve UIKit. »

This recommendation seems poorly timed: AppKit-based apps will surely break next year when the canImport condition becomes true.


Apple Maps routing is down for me too. reports green. »

16 June 2018

Cheesecake ice cream sandwich. Inspired by New York. Have to make this. »

17 June 2018

This is incredible work. Can’t wait to try it. Would be even better if Apple does this with compilation on the iPad. »

19 June 2018

New York ✈️ London

Bye bye USA; it’s been fun. »

Looking for a way to watch YouTube videos meeting these requirements. I suppose I’m being unreasonable.

20 June 2018

I remember when iPhones wouldn’t rotate the screen while walking. You had to stop for a second for the accelerometer to work it out. »

23 June 2018

Good post on neurodiversity (differences in brain function). Not something I’ve seen brought up much in iOS dev circles. »

29 June 2018

A day into using iOS 12’s fluid redirectable app switching gestures on iPad, the Mac’s spaces and Mission Control gestures feel so clunky. »

Autocorrection randomly capitalising words mid-sentence is not Fixed in iOS 12. »

30 June 2018

Very annoying iOS 12 change on iPhone SE is it vibrates on every unlock. Vrrrrrrrrrrr! Have to reduce safety to fix.


1 July 2018

Maybe I’m missing it, but I can’t find a way to configure iOS 12’s Screen Time notifications. I don’t want a Sunday morning alarm clock. »

3 July 2018

How PSPDFKit is smart about choosing thumbnail sizes. Read more »

It was a mystery why Apple Maps offline caching is unreliable. Seems to be licensing restrictions. »

Our thumbnail grid looks great at any size. In this post I show how we calculate the optimum grid size. I love adding details like this to polish the UX. »

9 July 2018

Tip if you use Arq for backup: prevent it from destroying system performance by disabling object cleanup. 2 seconds of beachball on every click is no fun.


18 July 2018

Even more infuriating is when you can’t open your development environment because the music player is auto-updating. »

Or an iOS app. It’s difficult for anyone to use a dark app in sunlight.

Maybe this is the real reason Transmit on iOS didn’t catch on. »

12 August 2018

Why do Apple’s framework teams come up with alternative, less appropriate words for ‘provide’? First we ‘vend’ view controllers, and now ‘donate’ shortcuts. »

13 August 2018

This is why I still have Xcode 8 around. »

20 August 2018

Heading to Berlin Wednesday to Tuesday. »

24 August 2018

Anyone in Berlin want to meet up with me and @dantoml on Monday evening? @meghafon @dtorres @_alexaubry @a2 »

28 August 2018

New location: Athens. Back to summer. This trip to Berlin was too short though. »

30 August 2018

Yesterday @NomadList chat worked as designed as I spontaneously found nomads at a rooftop bar in Athens. Pretty cool. »

7 September 2018

Enabled HTTPS on Long overdue. Refreshing design and content is still to do »

We put out a big update to our @cambugs suite of education apps for teaching children to read out loud in en-GB. These apps were firmly designed for 768 × 1024 in 2012 and now support landscape and Split View — and hopefully any future iOS screen sizes. »

9 September 2018

We also added Messages stickers in the latest @cambugs update. Strange to make as it’s entirely build scripts generating the app icon, and copying images and writing JSON to where the Asset Catalog requires.


17 September 2018

End of a few weeks in Greece ending with the @PSPDFKit summer retreat. A rare chance for in-person pair-programming and code reviews; decisions made in the pool; lots of tasty food; ancient ruins; a unicorn in the sea; and even Greek dancing. »

19 September 2018

I see it as wasteful that iPhones come with a charger, cable, and headphones — none of which I use. This is incongruous with Apple’s usual environmental stance. » redirects to the iPhone XS page with the slogan “Welcome to the big screens”. Maybe unintended, but it comes across as cheeky, if not insulting. »

20 September 2018

Yes, exactly. Most checkouts make it easy to add related items. »

22 September 2018

Ordered a new iPhone. Just £350! »

24 September 2018

I solved this by never using DND and instead turning off sounds for all apps and setting the ringtone to a silent audio file. Very happy with this so far. »

We’re looking for speakers for @NSLondonMeetup. It’s a wonderful place to share interesting stuff you’ve learned with like-minded app-makers: »

28 September 2018

I had a nice afternoon at the @todo_london conference. Lots of inspiring and interesting talks. »

Recruiters use lots of tricks like monitoring Twitter bios, LinkedIn and company employee counts to target people who might be less content at their jobs. »

Fantastic final talk about teams operating effectively. »

29 September 2018

Is there an iPad email app that does plain text composing? I’m happy with Apple’s Mail app except that pasted text comes out larger than surrounding text. »

20 October 2018

Make sure an iOS share/action extension doesn’t call completeRequest before its view appears. Otherwise UIKit will try to dismiss the extension view controller before presenting it, leaving the host app unresponsive.

33 minutes later: UIKit should detect if extension completes before view appears »

21 October 2018

It’s so easy to go back to the previous app on modern iOS I like links to open Safari for real. »

Here’s a UIScrollView subclass that honours the reduce motion accessibility setting by animating with a cross dissolve

Inspired by »

25 October 2018

Picked up my 2016 MacBook Pro from its 2nd top case replacement today. Maybe it can get another couple in before the keyboard repair programme ends. »

You can use Shortcuts to start new conversations in WhatsApp without giving it access to your contacts. »

28 October 2018

Clocks went back in Europe last night. Two days ago Morocco decided to drop the clock change. Apple hasn’t updated in response, so iPhones are displaying the wrong time in Morocco. »

30 October 2018

With the flat sides, a new iPad Pro and my iPhone SE will make a matching pair. »

On it »

At £150, the iPad cellular upgrade is still more expensive than a pocket router, which is easier and more reliable than Personal Hotspot for sharing the connection with other devices. For example £60 for »

1 November 2018

Looking forward to seeing everyone soon! »

6 November 2018

When there are user reports that iOS’s palm rejection is letting touches through when using Apple Pencil it’s really hard to avoid saying “just don’t hold it that way”. »

There are some buttons we can’t make accessible in @pdfviewerapp. Radar: UIDocumentBrowserViewController additional navigation bar button items ignore accessibility label. »

7 November 2018

Is there a way to prevent Xcode from creating a complete set of iOS simulators after an update? Or a way to quickly delete them without deleting my manually created simulators? Can’t even multi-select. »

12 November 2018

London ✈️ Hong Kong. Sooo excited! »

17 November 2018

Seeing people sending and receiving audio messages in messaging apps all the time here in Hong Kong. Looks awkward to me but it’s really popular. »

19 November 2018

I didn’t think about it before, but these do the same thing in Objective-C:

let string1 = @"hello" @"world";
let string2 = @"hello" "world";


23 November 2018

Watching the Hong Kong scenes from The Dark Knight while looking out my window was a good idea. Love this view.


24 November 2018

Occasionally I manage to get YouTube videos into the native full screen player on iPad (which uses PiP automatically) if I pinch just right. »

26 November 2018

Been meaning to write this Radar up for a while. Constraints to UITableViewCell layoutMarginsGuide do not work.


Radar from 2015 was silently closed because ‘much has changed’. Ran the sample project and it reproduced immediately. Refiled: SKPhysicsContactDelegate method arguments are of unexpected class »

30 November 2018

I didn’t come across an airline that doesn’t allow you to consume your own food and drink on board before. Air Asia. »

Finally made it to the fabled digital nomad hotspot Chiang Mai. The $ difference to Hong Kong is wow. »

This would be a vocational software development course. Not doubting that could be useful, but it’s distinct from computer science, which is an academic subject. »

2 December 2018

First time opening the Mac App Store on Mojave. The text size is enormous (top) compared to what I use in Xcode (bottom). Dynamic Type on the Mac is long overdue.


Interesting that Siri:


3 December 2018

Bought a ticket for @tryswiftconf in Tokyo in March! Strongly considering skiing that famous Japanese powder before the conf. Let me know if you’re interested. ⛷ »

5 December 2018

Reported another inaccurate location in Apple Maps a few days ago and they just notified me its fixed. Good job. »

6 December 2018

I’m very excited to share this side project I’ve been working on for a while: it’s a beautiful, modern read-later app designed primarily for iPad Pro. Join the TestFlight alpha at and let me know what you think.

I’ve been struggling coming up with a name for the app, which has been putting me off sharing it. But I love the reading experience so much it’s selfish to keep this to myself. »

9 December 2018

You can follow @_readingapp for updates on my side project. »

Booked! They have a good refund policy so get an early bird ticket and decide later. »

Given the timing of UIKonf it’s unfortunate there don’t seem to be flights directly from Berlin to San Jose. »

16 December 2018

The batter is the same as Yorkshire pudding plus vanilla sugar. And it’s incredibly delicious. »

Chiang Mai was pleasant: a fine place to get on with work, and good value living. Back in Hong Kong now and it’s much more alive. Might be tiring for too long: it’s like ‘how much city can you handle’. »

19 December 2018

A look at self-sizing table view cells for apps supporting iOS 10, 11, and 12, covering three implementation approaches and some pitfalls I encountered supporting these across our UI in PSPDFKit. Read more »

21 December 2018

Not bad considering I’m not really at work today and was just finishing some stuff off over breakfast before going hiking.


As far as I can tell there is no API to make an NSColor that adapts to dark mode: you have to use asset catalogs. Therefore I am writing code to generate asset catalogs :( »

22 December 2018

My fork of GitUp now supports dark mode! A perfect match for the darkness of winter in the northern hemisphere.


Hong Kong ✈️ London

Please no more drones. »

24 December 2018

This talk is a great complement to my recent blog post on self-sizing cells. »

28 December 2018

The black Magic Mouse comes with a black USB-to-Lightning cable. That’s so cool… except it’s USB-A so I don’t have anything to plug it into :( »