Author Archives: Joel Kin

About Joel Kin

Developing on Apple platforms for, holy shit, like twenty years now. Find me on linkedin and twitter. My personal website is

Web Open Font Format (WOFF) and UIFont

A few months ago I tweeted this: iOS PSA: as of at least iOS 14, apps support the compressed .woff font format. This isn’t documented anywhere as far as I know. Shave some kb off your installed app size! … Continue reading

Posted in Uncategorized | Leave a comment

Handling Empty Lists with Realm’s Property Wrappers

At work we recently updated from a pretty old version of Realm (10.8) to a pretty new version (10.20). Despite being just a point release, there have been some significant changes. I was very excited that the library is taking … Continue reading

Posted in Code | Tagged , , | Leave a comment

User Language Preferences

Here’s a quick one. Google has a neat library for (among lots of other things) on-device translation, called ML Kit. I’m trying to implement it for a hackathon. Turns out (no surprise?) it’s written in Objective-C, and doesn’t really have … Continue reading

Posted in Code | Leave a comment


I’ve been lazy about blogging for the past, oh, five years or so, but I just published a new post about GraphQL over at my company’s blog. Check it out if you want to know why Apollo is bad and … Continue reading

Posted in Uncategorized | Tagged , | Leave a comment

Mistakes Were Made: A Brief Note on Keyboard Full Access

If you’re like me, you just spent several days refactoring a framework shared between a host app and its app extension–say, a keyboard extension–into its own project and repository. You finally got everything building again, resolving all the broken framework … Continue reading

Posted in Explanation | Tagged , , , , | Leave a comment

DYJ4U on iOS Autocomplete: a Response

Jason Clauß, self-described “UX Renegade,” recently published an article on the iOS keyboard’s suggestion bar: Doing Your Job For You: The iOS autocomplete. I have some thoughts. I strongly disagree with the conclusions Clauß draws. They’re based on his own “cursory … Continue reading

Posted in Philosophy | Tagged , , , , , , | Leave a comment

Recursive Property Observation in Swift

Over the last couple of years, I’ve been writing almost exclusively Swift. It’s been quite a roller coaster. I still don’t feel as though I’m an expert in the language, but I am getting to the point where I quickly … Continue reading

Posted in Code | Tagged , , | Leave a comment


Hi folks. Joel here. It’s been a while since this blog has been up to much, hasn’t it? Well, after a lot of privately-owned work about which I was not meant to blog, I’ve got something I can talk publicly … Continue reading

Posted in Code, Software | Tagged , , | Leave a comment


Spaceman Labs was founded on one principle: that we are two extremely debonair individuals capable of making extremely excellent iOS apps. Today we advance this hypothesis by introducing our flagship app, Repartee. In truth, Repartee is the app we created … Continue reading

Posted in Software | Tagged , , | Leave a comment

Custom View Controller Transitions in Landscape

Recently, Jerry wrote about a really cool view controller transition we put together, SMLBookshelfTransition. As you can tell from that post, we’re really excited about all the possibilities this new API provides. You might have noticed though that Jerry made … Continue reading

Posted in Explanation | Tagged , , , , | 5 Comments