Because Just Having One Side Project Wasn’t Enough!
I was playing around with something this weekend, and decided that a semi-generic “User Onboarding” framework would be an interesting project to play with. It’s a part of user experience that’s often ignored, and I like the idea of moving a lot of the logic for authorizing with Apple’s frameworks to a centralized location so that when they make breaking changes it’s all in one place. Core Location in iOS 8 is a great example of that.
As an added bonus, it let me unify how all of the auth types I request behave, because right now different frameworks behave differently, which increases the learning curve for working with each one of them.
As a side note, since it’s a framework I’m assuming any application using this is using iOS 8 and so I’m free from having to build legacy support. For future revisions I’ll be considering that.
It’s interesting how sitting down with a project like this I had to re-think how I structured several segments of it as I contemplated how to make it useful as a “generic” framework. This also helped me decide what edges to sand off, because I assume that anything that can be misused probably will.
Because it was a short experimental project I already put the repository online. I plan to sit down and fill out the number of authentication types, and probably make it usable with Carthage and possibly Cocoapods. If I’m feeling particularly productive I’ll figure out how to write a decent unit testing suite for it.
Assuming that trying to unit test permissions doesn’t just fail spectacularly, which I have a sinking feeling it will.