Week 2615 April 2013
A relatively unremarkable week. A day at PAN, working on Playable City and chatting with Ben and Sam – and the rest of the week spent working on Detling for Caper.
I finished hacking up a prototype for the Playable City chatbot, to expose a few things – how fast the feedback loop was; what SMS affords; what sort of language we need to stick to; how natural it feels to use. Something for Ben and Sam to play with whilst I’m wrapping up Detling. I got there, though there’s a big architectural shift I need to make as soon as possible – something I discovered through the making. (Namely, that my domain model wasn’t quite right. Good to catch this now. When I get back to the project, it’s the first thing on the list.
The Detling work was primarily infrastructural: setting up lots of outbound emails, shifting the sending of email onto a background queue.
This was not that hard at all – partly down to the maturity of the Rails ecosystem in 2013, and partly down to the maturity of service platforms. I’m using Sidekiq on top of Redis as my background queue, and it’s pretty much install-and-go. devise-async moves all the signup mailers onto that queue, and it didn’t take much work in the codebase to move the blocking mailers onto queued tasks. Sidekiq also gives us scheduled tasks for free – ideal for the reminders that the site is going to send out.
Then it was just a case of setting up outbound email. I’m using Postmark for this. I’m a big fan of their service: inbound and outbound email simplified down to POST requests. Best of all, they handle things like whitelisting, meaning I don’t have to worry about my outbound email being blocked. I’m happy to pay the small cost for that.
There’s still a skill to gluing these pieces together appropriately, but it’s the quality of libraries and services like these that let me focus on the domain-specific problems of the project, rather than reinventing the wheel; it lets us get a lot done for relatively little effort, and it’s this approach that’s helped Detling motor along.
Beyond the infrastructure, I spent the rest of the week focusing on unknown unknowns and new edges that were arising: simplifying URLs, refining the ingest process, beginning to integrate Dean’s design work, thinking about editorial content, and working with the team to really line up the burndown for next week – our final full week of build.
And that was it: no meetings, no strategy, just head down at the codeface.