Douglas Hill
I make software to help people learn and achieve more. I’m the iOS team lead at Nutrient (previously known as PSPDFKit) and an organiser of NSLondon.
I’ve worked fully remotely since 2015 and spent time as a digital nomad, but these days I don’t fly and spend most of my time near London or Innsbruck. When I’m not doing computers, you’ll find me ice skating, wakeboarding, kitesurfing, skiing or snowboarding.
You can see my recent posts and archive. If you like, you can follow me.
Featured articles
- NSCopying in a Swift World
- Zoom transitions
- Conditional compilation for Apple’s yearly updates
- Using JavaScript in a Swift app
- The case for lists in
UICollectionView
- Level up your trackpad support using
UIInteraction
- Localisation using Apple’s glossaries
- Open links in Safari, not Safari view controller
- Presentation controllers and adaptive presentations
Talks
- Beyond iPhone: Developing across Apple platforms
Swift Craft 2025 - Zoom transitions: A comprehensive guide
iOSDevUK 2024 and Swift Connection 2024 - Keyboard control in UIKit apps
NSLondon Q1 2019, AltConf San Jose 2019 and iOS Conf SG 2020 - Beyond size classes: Making better use of large screens
iOSDevUK 2019 - Improving user experience with Apple Pencil
AltConf San Jose 2018
Apps
PDF Viewer: A powerful app to read, search, and annotate PDF documents, made with my teammates at Nutrient.
Reading app: This was my simple iPad and iPhone app for reading web articles, text snippets and ebooks.
Magic Spell: My handy Mac app to check spelling in many files at once. Not actively maintained.
Cambugs: When I was fresh out of university, I worked with educational psychologists to develop this suite of apps to help teach children to become fluent readers.
Code
KeyboardKit: The easiest way to add comprehensive hardware keyboard control to an iPad or Mac Catalyst app. Read more: The creation of KeyboardKit, What’s new in KeyboardKit for iOS 14? and Migrating KeyboardKit to Swift 6 language mode.
DynamicButtonStack: A UIKit view that lays out buttons in either a column or a row to suit the available space. Read more: Motivation and design details.
Updates and contact
- Follow/subscribe
- he/him