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 am mostly near London or Innsbruck. When I’m not doing computers, you’ll usually 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
- 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