Douglas Hill’s posts in 2015

1 June 2015

Really excited to join the incredible team at @PSPDFKit today. »

8 June 2015

Going to watch the WWDC Keynote at Yoyo Wallet »

Safari Shared Link extensions sound intriguing. The new way to make RSS apps? »

News looks like a kid’s pop up book. »

9 June 2015

Objective-C __kindof is nice: +NSEntityDescription insertNewObject… and +UITableView dequeueReusableCell… no longer return id. »

Now I can scrap — it’s built in. »

23 June 2015

We just released Cambugs First Words to help children become fluent, confident readers »

2 July 2015

I had a quick look at variance with Objective-C generics. Covariance and contravariance are supported. »

6 July 2015

Typing in @SlackHQ is much easier after turning on correction and replacement from the contextual or Edit menu.


15 July 2015

iOS 9’s UICollectionView interactive movement is astonishingly easy to implement and ‘just works’. »

22 July 2015

Reasonable to not expect a nullability conversion warning for this?


30 July 2015

It isn’t immediately obvious how to enable secure decoding with NSKeyedUnarchiver »

Another lively evening at @NSLondonMeetup. Flattered to be ID checked going into the bar. »

Key takeaways:

13 August 2015

Apple bug: UIPresentationController lets you initialise it incorrectly »

Another iOS 9 bug: the new back button results in apps in the wrong order in multitasking »

One more: I really like swiping from right-to-left to go forward in Safari; iOS 9 Slide Over breaks that. »

24 August 2015

Specific bugs with Apple’s UIPresentationController:

More general problems with UIPresentationController:

Of all these UIPresentationController problems, the important one is that adaptivity is limited »

Tumblr had a similar problem combining a custom presentation with a popover »

I fixed @steipete’s presentation controller hack »

Still a hack »

25 August 2015

It’s nice when an old question on Stack Overflow is trivial to solve with new API. Progress! »

28 August 2015

Had a fantastic time seeing great people at @NSLondonMeetup yesterday. Good times! »

29 August 2015

3D Gunstar Heroes: buy buy buy! »

4 September 2015

Bugs with iOS using the wrong view controller for the status bar:

Wouldn’t it be nice to coordinate two view controller transitions? »

7 September 2015

UIPageViewController needs to learn some adaptivity. »

This is Xcode’s Page-Based Application template using two pages because it’s in ‘landscape’.


9 September 2015

Looking forward to running iPad Pro and Apple TV simulators on my 11″ Macbook Air. »

App Store submissions don’t seem to be open yet for apps built with the iOS 9 SDK. »

Still no UIUserInterfaceSizeClassLarge »

Marketing came in too late


My favourite feature on the iPad Pro is the four speakers: stereo now works in landscape. »

My least favourite addition to the iPad Pro is the crap filling in spaces on the keyboard: \ | ^ ` and worst of all caps lock. »

Software keyboard can do better. We can have different characters available for programming and for prose. »

10 September 2015

watchOS for Watch, tvOS for TV, iOS for i »

About 750 APIs are __TVOS_PROHIBITED

grep -r __TVOS_PROHIBITED /path/to/TV/SDK/frameworks


Force/3D touch in not available on the iPhone 6S simulator. Trait collections’ forceTouchCapability is Unavailable. »

11 September 2015

iOS 9 SDK/Xcode 7 App Store submissions are open. @cambugs is in. »

14 September 2015

Undo and cancel are both translated into French as annuler. And this happens:


2 October 2015

Apple rereleases Xcode 3 for nostalgic Mac OS X Leopard and iPhone OS 2.0 development.


On my Mac the Movies folder contains videos; on my iPad I go to the Videos app to see films. I search for the wrong thing every time. »

I fell in love with Shovel Knight all over again playing thought Plague of Shadows. Really challenging, but so much fun. »

Just found Plague Knight can fly indefinitely by mapping two attack buttons and charging while throwing midair. Feels godlike. »

4 October 2015

The Martian was great, just like everyone said. I don’t think I’m made for space travel. »

Made a parts of speech highlighter at @sideprojectlon today. Might be useful for foreign language reading.


My test article about water on Mars: »

5 October 2015

Nice to see improvements to WWDC video search — — but I still see vastly better results from »

Ah, Apple’s search inside WWDC videos only covers WWDC 2015. That’s why I see zero results »

27 October 2015

It’s bug time. First, back button truncation


UIKit bug: status bar inset can be applied twice


UIKit bug: form sheets underneath status bar on iPad in compact widths


Not interfering with adaptive presentation — an acceptable use case for respondsToSelector:? »

It’s hard to make a minimal UISearchBar look good on a dark background »

Presentation controllers do not know their future container traits. Makes adaptive presentation controllers harder. »

UIPageViewController uses orientation. Very broken in this age of adaptivity.


Last UIKit bug for now. Why do we have separate methods for trait and size changes? »

28 October 2015

Hmm, Facebook is showing an event time inconsistently. On some screens it’s an hour earlier than it should be. Daylight savings bug? »

29 October 2015

It doesn’t seem advertised or confirmed anywhere, but OS X El Capitan Disk Utility can resize Core Storage volumes. Free space reclaimed! »

2 November 2015

Spectre was quite exciting, although seemed lacking cohesiveness. Great action scenes. »

Spectre’s north Africa scenes were especially gratifying since I recently went to Morocco. Train wasn’t as luxurious in real life. »

4 November 2015

OS X Photos with Optimize Mac Storage uses more space than I expected: it downloaded 32 GB of a 46 GB library. »

8 November 2015

With Halloween over, what do you do with the leftover half-mouldy pumpkin? »

Pumpkin: final smash »

State of video on Twitter:

9 November 2015

I somehow only just realised @1Password 5 is available, after it’s been out for a year. Not sure why it didn’t autoupdate. »

10 November 2015

There’s talk of a sequel to Radiant Historia: the smartest time travel game I’ve played. Yes please! #rh_atlus »

11 November 2015

I’m pretty pleased how this photo of Saturday’s Guy Fawkes fireworks turned out. New iPad wallpaper.


12 November 2015

I agree with everything here. Fix the root cause and make iOS self sufficient. »

13 November 2015

iOS Keychain programming guide is very misleading. This post from five years ago is helpful. »

Switching Bank branch -> Charing Cross branch on the southbound @northernline at Euston is not pleasant. Like a maze. »

15 November 2015

It’s @sideprojectlon today from 12. Bring something cool to work on. »

Just learned about @JetSmarter from @mostgood. Turns out ‘accessible private jet travel’ is a thing. »

There shouldn’t be spelling mistakes in your source code. I’m making tools to help with this. »

I’m looking for beta testers for my Mac spell checking tools. Email me if you want to get involved: hello at »

Apple Pencil has high latency offset by excellent prediction: when implemented properly it feels great. »

Just found the iOS Short Name setting and fixed the horribly formal ‘D Hill’ labelling in Messages. »

16 November 2015

Going to @SwiftLDN for the first time tonight. I’m the lost Objective-C developer using using key-value coding in Swift. »

17 November 2015

Great talks and people at @SwiftLDN. I wonder if @radexp’s could work in Objective-C. »

The red dot in the 7 Up logo is a character called Cool Spot. What? »

A shame I missed games in the early ’90s. This is so surreal: Cool Spot SNES Gameplay »

18 November 2015

The German word for cotton is Baumwolle: tree wool. So logical. »

20 November 2015

Xenoblade Chronicles X comes out in two weeks. It’s been a while coming. Hype crescendo time. »

Your Apple TV Tech Talks Status. »

25 November 2015

I wrote about our problems with UIPresentationController and adaptive presentations at PSPDFKit. Read more »

26 November 2015

Good point by @kharrison: with iPad Split View, all scroll views should be ready to avoid the keyboard. »

I have a class for avoiding the keyboard. No subclassing necessary. »

And UIKeyboardDidChangeFrameNotification works better than watching for showing and hiding notifications. Simpler too. »

28 November 2015

Wii U ordered. Too many great games to not buy it; not enough time to play them. I don’t know how this will work. »

This weekend @cambugs Phonics is free. Get your children reading confidently. »

Cambugs First Words is also on sale this weekend: the next step on a child’s journey to fluent reading. »

4 December 2015

Back from seeing the PSPDF home team in Vienna; Christmas coming up; Swift open source; Xenoblade Chronicles X out. Good times. »

5 December 2015

The @Nintendo_NWR 2015 charity telethon starts in a couple of hours. It’s always a good laugh. »

8 December 2015

It sucks that @ThreeUK blocks iPads on pay as you go. I pay per MB; why does it matter what device I use? #makeitright »

12 December 2015

Apple Pencil really calls for a higher level API. UIDrawView would be even better than example code. »

13 December 2015

Tried out the iOS update Install Tonight feature and it didn’t work: device is still not updated this morning. »

15 December 2015

I’m down for any game featuring riding motorbikes up launching space rockets. Bayonetta is intense fun. »

I find iPad two finger cursor positioning not useful at all. It seems optimised for large adjustments, which were never a problem. »

16 December 2015

Covent Garden Apple Store had 100 Apple Pencils in this morning. Gone by lunchtime. »

19 December 2015

All my OS X text replacements have disappeared. That’s really not cool.


I heard signing out and in to iCloud might help, but will that hose my Photos library and need to download everything again? »

29 December 2015

The iOS shift key is still broken »

I’ve been very frustrated by iCloud email’s false unread badges »

30 December 2015

Current status: fast