Oh man. This post feels good to write — like crossing the finish line of a race I should have signed up for a while ago.
Before I dive into stuff, I want to lead with the notes I’m submitting to the App Store:
Wow y'all! So much cool stuff in this update as we take ourselves to ~~ 3.0 ~~!
- New look. New design. New... font. Everything looks better now.
- Speaking of things looking better -- diagrams for recipes and ingredients! Because sometimes visual cues are important. Plus, it just looks nifty.
- A bunch of boring random performance and architectural changes that should mean things work quicker and with less crashes. (If you're a tech nerd: we migrated to Swift 2 and from Core Data to Realm.)
- You can now sort your recipes by name, complexity, or ABV.
- Searching is a lot better, too! You can search via ingredient or recipe -- by name, description, or even emoji (!)
- Speaking of recipes -- we've added like fifty of them! They are all very tasty and refreshing.
- Still speaking of recipes -- we continue to add more metadata and information about existing recipes!
- Can't decide what you wanna make? Ask the Bartender: give us a base liquor, a flavor, and a fun adjective and we'll recommend a recipe.
- Bug fixes out the wazoo.
Barback 3.0 works best while sipping either a barrel-aged Manhattan or something involving an herbal gin. I'm getting really into Mezcal, though, so email me if you have any great mezcal recipes. (Email me if you have any great recipes period. Email me if you have any ideas or bugs or whatever. I love hearing from y'all.)
I submitted version 2.3.1 on March 26, which was around six months ago. The app looked — both internally and internally — a lot different back then. It’s seen quite a bit of damage, but also quite a bit of growth.
The big symbolism of this release is that it’s not the (aborted) 2.4 release, but a whole new major version. I think that’s apt: while it might not be a literally new codebase (as 2.0 was, with the rewrite and migration from Objective C to Swift), so much has changed that it was worth it.
There’s a lot of technical stuff that I want to talk about:
- Migration from Core Data to Parse to Realm (sigh)
- Jumping full-heartedly into Swift’s protocol-oriented programming schemae
- Programmatically generating recipe diagrams
- A super-dope YAML-based datashaping stack using Python
- Adopting TDD after I already have a monstrous rats’ nest of untested code
And that’s just scratching the surface.
And posts about this stuff will come (probably, hopefully, eventually).
But instead, an apologia for going radio silent (well, with the vocal exception of @getbarback) — spending two months moving the data store to Parse was, while a great learning experience, super exhausting and demoralizing. The whole reason I was doing that was because I had a vision of shifting the pricing model from a paid app to free with IAP (in this case, recipe packs).
Turns out, I didn’t want to do that. Honestly, I still think it’s the profitable move. But it’s not the fun one. I’d have to spend time and effort working on things like IAP integration and API integration and handling a sane sync mechanism and all of this stuff that is just gross when I want to make an elegant app that shows you recipes of tasty drinks, you know?
So I ditched all that work and effort, and moved to Realm. I’ve decided to try and make my money back by increasing the base cost instead, allowing me to invest in making the app better instead of making it more profitable.
(This is me burying the lede: Barback now costs $5.99. It’s worth that much. If you’re reading this and haven’t bought it — seriously, it’s worth that much, but email me and I’ll give you a free code.)
And I’ll probably write much more about the sequence of thoughts that lead to that decision, too. But in the mean time: I shipped something that isn’t quite yet perfect, but it’s something I’m enormously proud of. And that’s great.
Anyway, stuff that’s coming in 3.1 (probably, hopefully, eventually):
- 100% recipe metadata coverage for
- Support for iPad, Multitasking, and 3D touches
- Emoji support for ingredients
- Probably like a shitton of bug fixes because, let’s be honest, I’m not the best programmer in the world
And that’s it! Hope you enjoy using Barback 3.0 as much as I enjoyed making it