• The case studies on this website were getting a little stale. No more! I’ve just published lots of new case studies of individual projects over the past three years.

    The big headline that I’m most keen to talk about is a long, detailed writeup of my work on CaptionHub - a project I worked on for 3.5 years, known in this feed as Selworthy. CaptionHub is an online tool for collaboratively captioning and subtitling video. I served as technical lead and pathfinder, taking the initial idea - the “what if?” - to a prototype and beyond into a shipping product, whilst the team grew and the product acquired clients. The write-up is detailed not just because of the length time I worked on the project, but because of the way the product changed as it developed and grew in scale. It’s a project that shows the breadth of my capabilities well, and the finished product is something I’m very proud of.

    But there’s lots more in there too. Highlights include: an open source tool for musicians; teaching on the Hyper Island MA; building a digital musicbox; creating a Twitter bot for an installation at the Wellcome Collection.

    The write-ups all include extended thought on process, and, of course, link back to the relevant weeknotes that I wrote during the process.

    You can find out more at the updated projects list.

    I’m currently looking for new projects to work on: technical leadership, early stage exploration, communication of ideas, are all areas I’m keen to continue in. Topic areas I’m particularly interested in include building tools for creatives and professionals, the bridge between the physical and digital, and audio and video. I’ve written more about my capabilities here.

  • Week 317

    27 January 2019

    Finally, a week with the regular number of days in that began on a Monday! (From my perspective).

    Over at Bulb Labs, there was a good groove of thinking, writing, and talking. Sounds so vague, doesn’t it? I worked on a pile of research and writing, where synthesis – writing – was as key as the research itself, so that felt good. I’m looking forward to seeing how that went down next week. I also spent some time just talking to colleagues on Slack as a way of building work-relationships; there were some fire-emojis by the end of the week, so perhaps I was doing something right.

    Thursday, I went back to CaptionhubSelworthy – for a day I owed them prior to Christmas, that illness got in the way of. Nice to see the gang again – I managed to wrap the feature I was working on end-to-end, leaving it in a good place to get to deployment. I also helped debug a slightly strange feature in code relating to a file format I’m reasonably expert in now – turned out the bug was just some naive code I’d written a long while ago, and the fix wasn’t too hard to roll out. Exciting to see lots of other developments there, too – so nice to drop by.

    I paid my taxes. Boring, slightly stressful, but out of the way. And now there’s some time in the coming week to sort out some accountancy. Admin has been a bit of an overhead recently: there’s not been too much, but finding space in the week to do it has been more challenging than normal. Hoping to get back on top of that fast enough.

    16n got featured on Hackaday, which was pretty nice!

    And finally, at the end of the week, I went along to Parallel Worlds at the V&A. I had a great day out, and it did what I hope conferences will do: blow some cobwebs out of my brain and open up some new ideas. My notes are reminders of small projects to pick up and continue with, alongside things I learned from the sessions. It was also great to catch up with friends across the London games scene, and hear what they’re up to. A good end to a good week.

  • Weeks 312-313

    21 December 2018

    The final two working weeks of the year. In the midst of kicking off at Bulb, wrapping up at CaptionHub, and Christmas party season… I got a truly horrendous cold and spent several days in bed. Yuck.

    So there’s not a vast amount to report. My personal Trello account tells me I spent much of those two weeks when not at clients mainly just doing admin. Otherwise, I tried to wrap up one last feature at CaptionHub – as well as a bit of troubleshooting around STL file formats – and started getting my handle on the role at Bulb in the few days I had there. So far, there’s been a lot to take in, but the little team in Labs is great, and I’m looking forward to getting underway a little more next year.

    When I wondered why I was ill, it turned out that moving house, a long weekend of teaching, and a new gig all at once is a lot to take on board, and I think my body just said ‘no’. Endoftermitis is real: it’s like technical debt for your body, where you can no longer stave things off and it all comes crashing down. The only thing to do is to roll with it: accept you don’t want to get colleagues ill, do what you need to recover, remember that’s what the rainy-day funds are precisely for.

    A quieter end to the year than perhaps I envisaged, then, but an end nontheless. Next up: two weeks out of the studio and the office, resting up, getting ready for 2019. And then we start again.

    Onwards!

  • Week 311

    8 December 2018

    A busy week, especially after the disruption of moving house.

    I spent one day at CaptionHub on Selworthy, finishing up some the smart-quotes work and moving on to refining the design of downloading data.

    On Wednesday, I finally finished some prototype builds of 16n, and they’ve come out beautifully. I’m hoping to open-source the whole thing before Christmas, and get those prototypes to the musicians I’m making them for.

    Otherwise, I spent Thursday-to-Saturday teaching with Hyper Island: the first campus days of the Digital Technologies module of the Digital Management MA. I spent time earlier in the week refining and revising the course materials I’d be teaching – on Invention, AI and Machine Learning, and Data. The students were, as ever, a great bunch: engaged, sharp, and full of insightful discussion and questions. The best kind of classes.

    I get Sunday off, and then on Monday, I go to Bulb for Highrigg. It’s going to be a busy end to the year.

  • Week 310

    2 December 2018

    Busy week, in and out of the studio.

    On Selworthy, I spent some time wrapping up work on a new ingest format, and then spending time staring into the maw of character encoding – and, in particular, working out what our policy on ‘smart quotes’ is – and coming to the conclusion that rather than doing something automatically, we should offer up an option to end-users as to what they want the default to be. And so there’s some more work to wrap up next week on the UI for that.

    I continued with a bunch of work for next week’s teaching at Hyper Island – overhauling another talk, refining the brief with our pretend-client, going over what our guests would be doing. It’s going to be a bit nip and tuck to get things into place for next week, but it’s all going well, so that’s a relief.

    As I hoped, the metal panels for 16n arrived – and they’re beautiful. Perfect fits, really gorgeous objects, ties the thing together. Good to know all my CAD worked out. Had to order some 1mm longer standoffs to fit the underside screws into, and so come week 311 I’ll have a final thing for myself.

    And that was all there was time for: I moved house at the end of the week, which took me out of the studio. Hopefully we’ll return to normal service quickly.

  • Weeks 306-309

    25 November 2018

    Time is elided at the moment: I’m having a deliberately quiet period between projects and whilst lots of non-work life is all rather busy. So weeknotes are a bit more spread-out. But still worth doing.

    I’ve also started work on a new piece of personal process to perhaps make this – and a few other things – easier to manage. (Nothing magic: just using Trello to treat ‘myself’ as a project). We’ll see how that works out.

    Sharphaw didn’t end up happening – at least, not in the planned format. There might still be some work there in the future, but for now, that codename and work is on ice.

    I’ve been dealing with some metal suppliers from Germany and Poland, who are making prototype panels for 16n. It looks like the panels will be arriving in week 310, which is exciting for that project (and also to determine if my CAD work has come out correct).

    In week 309, I spent the afternoon at After The Flood, taking part in a quick workshop. Always good to work with the teams they put together, and I think we got to some useful places in it.

    I’m gearing up for the Digital Technologies module on the Hyper Island MA I’ll be teaching on at the end of the year. Some of the work has needed minor touch-ups, although there’s one talk that’ll get more of a rewrite in week 310. I’ve also been securing final guests, and nailing down the project brief for the students.

    Longer-term plans are emerging, too. My time on Selworthy is winding down. I’m going to wrap up there by the end of the year. And I should really explain it properly, after 3.5 years! I’ll write it up in depth soon, I hope. Great ride.

    And, in the meantime: dotted the _i_s on Highrigg: a part-time contract that’ll kick off at the end of the year, and we’ll see how we go from there. Meaty, a new set of challenges for me: exciting and scary at once. Sounds like a good thing to go into 2019 with.

  • Weeks 298-305

    29 October 2018

    Lots of time without weeknotes. Oops. But: lots has been going on.

    Notably, Lambrigg wrapped up. The final weeks weren’t too crunchy, thankfully: just somesome busy, intense days to get to the finish line. In the final week we designed and wrote a new demo, re-coded both demos so that they could be more easily shared with colleagues, finalised two hardware prototypes, wrote our report and presentation deck, and got the whole thing into a shippable state. Phew.

    It’s been a really nice shape of project. A research and development piece beginning – about three months ago – with background research, interviews, design reporting, a bit of strategy, and helping colleagues in the management team develop strategy further. Then, we moved into prototyping some preferred approaches in a manner that could be taken further if needed.

    Across the project, I’ve conducted research interviews, done desk research into design and technology, explored possible technical approaches, designed some game prototypes, built software and firmware in Python, Ruby, Java/Processing, and C++. I’ve designed, fabricated and built up two different custom circuit boards that interface with one another, and built end-to-end prototypes that interface with a computer. I’ve produced CAD models for those boards for Tim to design around. By the end, we had turned all that into coherent physical prototypes with working demos.

    That feels like a lot. Meaty work.

    And then, I promptly got ill with endoftermitis: the come-down after pushing perhaps a wee bit hard. So I was off for a bit, and I think that threw my weeknotes muscle.

    Since then, I’ve been working on a few things.

    Firstly, decommissioning Holmfell – Erica Scourti’s _Empathy Deck_ – now that the Twitter API no longer supports, well, doing anything fun. We’ve said goodbye, and now we’re working out how best to properly archive a web project. That’s entailed not just taking dumps, but writing documentation for future users on what they are and how to interact with them. For instance, I’ve been turning some of the most significant Postgres tables into CSV – after all, as I say a lot, Excel is the prototyping tool everybody has on their desk, so it’s good to leave things in a state that doesn’t require me.

    It also turns out the project generated around 17gb of images in its lifespan, so I’ve been trying to archive that in the most space- and time-efficient way possible. Unsurprisingly, it turns out that a little rsync goes a long way.

    Over on Selworthy, we’ve been thinking a bit about infrastructure and operations, and choosing our next focus for incremental, ongoing improvement. I’ve also been prototyping some new interactions, which are going to be much easier to integrate with the existing front-end after the overhaul the team made to our front-end stack more recently.

    I’ve started the work around preparing for this year’s Hyper Island Digital Technologies module. This year, it’s more of an incremental overhaul on last year, but it’s been good to start thinking about the structure and narrative of the module up-front. There’ll be more work on that in the weeks to come!

    I’ve started conversations about a small R&D project called Sharphaw, which ties together some of my experience and expertise to help a company explore taking the objects they make and connecting them to internet services – a bit of IOT prototyping, a bit of thinking about service design, and fabricating a few things.

    And, over on the music technology side: a small production run of kits for Thonk, and wrapping up an open-source community project I’ve been working on for a good while. I’m hoping to release that in week 306!

    Phew. That’s a lot. Let’s try to do this more often.

  • Weeks 296-297

    3 September 2018

    Fortnightnotes, owing to a long weekend away over the bank holiday.

    At the end of week 296, Lambrigg had its own internal demo; Tim and I were cranking fairly hard to get that done – three days of code, audio recording, hasty art direction and game design.

    The demo went very well: really well received, clearly understood, and loads of good questions (which is always a good sign). Initially I was relieved – everything worked, we met our goals – but I also left the demo highly satisifed with the positive response and enthusiastic feedback: I thought we’d done a fair pile of work to get it to where it was, and the team communicated that they could see that. So that’s great. Tim and I regrouped at the beginning of week 297 to set direction for the final phase of the project, and that’s now underway.

    Only one day on Selworthy this fortnight. I sat down with Erik and we went over his first spike of some heavy front-end replacement work he’s been doing. This ended up being a great day of remote pairing, with two notable successes. Firstly, the brief feedback I had so far was resolved easily and by the pair of us, and this proved that the new code was much more maintainable. We could add features and develop atop it easily – one of the things we hoped would be true already proving itself. And secondly, I managed to transfer a lot of knowledge to Erik about the next steps for that code – not just what would need doing, but how the systems he was replacing would work. Lots of things trapped in tangly Javascript and my head now out and shared in the world. I’m really looking forward to seeing the team’s progress with this pile of code in week 298.

    The bank holiday weekend extended a few days either side for family obligations, and then, just as I got back to work in week 297, I had a day sick at home with a brief headcold. Annoying! I recovered over the weekend, so week 298 begins on Monday (with these notes).

  • Weeks 294-295

    20 August 2018

    Weeknotes are quiet at the moment, mainly because I’m fairly head-down and there’s just not a lot to see or show.

    Over on Selworthy, I’ve been fettling some issues that involve interfacing remotely with other people’s tools and workflows. That makes the feedback loop a little slow, but we’re getting there, and I’m pleased with the route we’ve taken. More excitingly, we’re working at overhauling some front-end code I wrote a long while ago and bringing it in line with our more modern tooling – notably, better data-binding and more efficient DOM interactions. It’s the last really large piece of legacy code: a significant chunk of the app we’ve just left alone for a while, and now’s a good opportunity to rework it – not just for rewritings’ sake, but also for performance optimisations, and importantly – from my perspective – passing on this large chunk of knowledge to the team. Like much genuine technical debt, it’s been worth holding onto for a while, and now it’s the right time to pay it off.

    Lambrigg marches on to an interim deadline towards the end of the month. There’s been lots of fabrication and prototyping – this week, I’ve been wrangling Python, C++, and the finer details of I2C busses to bring things closer to life. I made a decent breakthrough at the end of week 294 that turned week 295 into a week of good pace and functionality development. I even finally taught myself to write C++ classes, which, it turn out, I should have done long ago: they work exactly like classes do in my head, and they’re making things a lot tidier. Hopefully my embedded code in future will become tidier!

    And finally, in the minutes between things, I wrapped up a few prototype components for Musuem in a Box; I’m hoping to deliver those for week 296. Some time evaluating specific ICs was well spent, and I think they’ve come together well.

  • Week 293

    5 August 2018

    What the stacks I’m working across currently contain:

    • Ruby, Rails
    • Javascript
    • HTML/CSS
    • the depths of AWS infrastructure(s)
    • C++ / Openframeworks
    • Java / Processing
    • Python
    • Embedded C
    • CAD/CAM
    • PCB EDA and manufacture

    and, of course, they all join together: breadboards turn into schematics and circuitboards, which get exported to CAD tools for colleagues to design around; firmware for those boards gets written and ends up talking to Processing demo harnesses on my desktop. Software written on the laptop turns into code hosted on more complex, automated AWS infrastructures.

    Some days, it feels like a lot to wrap my head around. When I write it out, I’m reminded that it is.

    The week’s work took in some dives into performance work on Selworthy, going over some quite old code of mine and working out how to either improve it or mothball it – and if so, how to do so most efficiently.

    Over on Lambrigg, I spent some time working up microcontroller code and hardware prototypes, exploring a new-to-me technology that we hoped would prove fruitful. So far, things are going well: a quick mechanical prototype and code demo works how I hoped, the simple circuit boards I ordered up for it have all gone together smoothly, and I’m hoping to carry on that work next week.

    I also spent a lot of time just thinking on Lambrigg: moving jigsaw pieces around in my head. Frustrating, in that there wasn’t a lot to show for it, but I’m slowly understanding how pieces might fit together in future.

    In other words: a busy week that’s quiet from the outside and fairly complex from the inside – not helped by the heat, which is making the act of thought truly challenging at times.