Over the past few years I’ve enjoyed the benefits of iOS URL schemes. Apple opened a tiny crack and iOS developers built impressive machinery in that space. Entire new applications evolved to do little more than interact with these URL schemes, shuttling data back and forth.
While I love what can be done with URL schemes, I also see their misuse. URL schemes can become excuses for an incomplete or inefficient app UI.1 When I see URL schemes like the recently released Things 3, I’m both awed and disappointed. The Things 3 URL scheme is extremely impressive. It has support for simple functions like search but also supports an entirely new JSON model for programmatically creating complex projects. It’s quite the wonder.
The alternative perspective is that Things 3 is lacking a lot of what the URL scheme is aimed at providing. Saved searches, shortcuts, and project templates can all be had if you just write a URL. I’d rather have those features with proper UI that doesn’t require me to look up the URL scheme.2
The URL scheme dependency isn’t unique to Things 3. Many apps support core features only through URL schemes. I used Drafts as my primary input to OmniFocus and many other apps because their interface was lacking. If an app is solving a core use case through a URL scheme, that’s a problem.
I’ve pulled way back from writing complex URL scheme driven workflows on iOS. Their often too much work to maintain as the OS ages and apps are updated. I’m also aging and forget the clever little tricks required to make the magic happen. When I need notes to understand how a URL works, I feel like I’ve gone too far.
Kudos to app developers that build URL schemes for all of us edge cases. But, I’m wary of apps that rely too much on URLs as a sales pitch.
This isn’t to say that it’s not hard work to build a URL scheme into an app. It is. It can be a long complicated project to make a good URL scheme that supports features people want to use. ↩︎
If it seems like I’m picking on Culture Code, I am. Just a little. Things is a great app with some baffling gaps. Just like OmniFocus. Both of which have impressive URL schemes if you are willing to use them.] ↩︎