• Weeks 321-322

    4 March 2019

    I’m sat in a hotel bar in Manchester. I’m teaching at Hyper Island for the next two days, and for a handful of days across March. The same course as before, but with the full-time students (in Manchester) rather than the part-time students (who come into London once a month). Looking forward to it. I’ve just revised a pile of talks, and a new workshop on programming, and I think we’re good to go.

    Another couple of weeks on Lambrigg: reading documentation, writing code, having meetings, moving office, inching software closer to deployment.

    I sent off the SAMD21-based circuit board to America for fabrication – that should be back in a few weeks’ time, to bash together, and see if I can make a micro-USB port work on it. But for now, waiting for factories to do their thing.

    Otherwise, I spent the days between Lambrigg prepping for teaching, and having some impromptu meetings: I caught up with Charlie from Museum In A Box to talk audio, electronics, acoustics, and fabrication; I also spent some time with a few friends talking about sound and augmented reality, and have been continuing to think on that ever since.

    And now: bedtime, before an intense couple of days.

  • Week 320

    17 February 2019

    Weeknotes are quite (deliberately) simple this week.

    Over at Highrigg I did a little writing, a lot of talking – some meetings, and one meaty design chat that got us to a good place – and a moderate amount of programming. That code took a project to some much better places: it’s now working off live data, which is easily replaced over time. To do that I had to wrap my head around Knex’s approach to migrations and querying (which turned out to be largely sensible). I also discovered that whilst I still flail a little in lots of deeply nested React, Typescript on the backend is working out OK for me. I still miss Ruby, though.

    And then, not on Highrigg, I:

    • finished bagging a bunch of kits and posted them to Thonk (after having my bacon saved by Clerkenwell Screws – what a shop!
    • nearly wrapped the design of this SAMD21-based circuit board, and ordered the rest of the parts for bringing it up.
    • kicked the tires on some ideas for a programming workshop I’ll be running next month. Nothing massive – 1-2 hours – but using some visual programming tools to explore some key ideas around programming, whilst telling a meaningful story about it at the same time. We’re going to be doing a bunch of logo-ish work in a Scratch-like language, and hopefully go from ‘driving the turtle’ to ‘making programs that make sense to other people’. I think some of the pillars of the session are emerging. I should be writing that late next week.

    And look: I did my Weeknotes on time, too.

  • Weeks 313-316

    20 January 2019

    Let’s do this again.

    Weeks 313-314

    …were Christmas. No news, as a result.

    Weeks 315-316

    … and we’re back in the saddle.

    First up: prepping and delivering a second weekend of teaching on Hyper Island MA. I like the second weekend; the students are deep into the brief, we can deliver some more challenging (and unusual) talks and content, and push them a little more in general. Again, loads of great questions and discussions; some great guests, with a workshop from Ultra IOT and a talk from Wesley; and then, at the end, some excellent presentations. So pleased to see how they’d all developed. Every project had at least one straight up “quiet-round-of-applause” from me: some new insight, or technique for presenting material I’d not seen, or an idea for interaction. It was highly satisfying, and I was wiped out by the end of the three intensive days (after a full week of client work).

    Somewhere in week 314, before I went back into work proper, I wrapped up the work necessary to launch 16n – an abstract music controller. It’s sixteen faders, that output information in a variety of ways, and it’s up to musicians as to how to integrate it into their setups. Here, have a picture:

    Faderbank

    Rather than shipping this as a product, I’ve instead made the entire thing open source. The electronics schematics and board designs are CC-BY-SA, as are the panel designs; the firmware is MIT licensed. It means I can still bring them to market in a way, if I’d like, in due course – but for now, the community that’s eager to have them (because this has been in progress for a long while) can get on with making their own. Or, indeed, making them for each other; it’s very much fanufacture made flesh. There’s certainly been a nicely positive response so far – and we made Mouser sell out of the faders, for the time being…

    Around that, I’ve been settling into the gig at Bulb Labs: making contacts, meeting people, and thinking by writing and listening. The team is coming together, as are the inklings of the first few projects there. It’s going to be a difficult gig to write about even in my slightly obtuse manner, but perhaps there’ll be a way into it in due course. We’ll make the path by writing, so to speak.

    Hello, 2019. Let’s get on with this.

  • 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.

  • Weeks 290-292

    29 July 2018

    I took week 290 off from Lambrigg whilst the team regrouped, based on our presentation at the end of Week 289. But come 291, I was back into it, and we were really diving into a period of thinking-through-making: ideating again, but this time with our hands, rather than via deskthinking.

    And as a result, just right now, I’m a bit in the weeds. Which is to say: in this period of thinking-through-making, the thinking and the making are both proving equally hard.

    The hot weather hasn’t helped with the former – I just haven’t had enough brain on tap some days. But the latter has become very fine-grained: I’m exploring techniques and materials by working with them, and it turns out that they are difficult materials to work with. So the progress is slow, as I try to bring my knowledge – no, my understanding – of what’s going on up to speed. Trying to get good enough at something for my sense of smell to kick in. I’d hoped that’d have happened by now, but it hasn’t quite. But I got some good steers from Tim at the end of week 292, so have a few things to try in 293.

    Still, a busy few weeks, jumping around a big stack: writing some OpenFrameworks, waiting for said C++ to compile, spending some time collaborating on CAD via Fusion 360, designing prototype circuit boards (and CAD models of them), and getting those fabbed up. But the hard stuff is the programming – right now, anyway.

    Selworthy marches on – a successful end to an initial R&D spike there (namely: we want to take it forward, and continue our QA tests on it) – and then back into some file format hexadecimal fun.

    I’ve spent some time catching up with colleagues and peers in the past few weeks, and that’s been really useful. A long lunch with Nick from Playdeo; some good chats with Jim; and a long-overdue catchup with Mike. Lots of different perspectives to apply to the world and chat about – technologies and teams; narrative and design; objects and design processes. Really good for the brain, and lovely folks one and all.

    I also spent some time meeting some Interim CTOs and talking about that particular role. I’m thinking a little about what broader shapes of work might look like in the future, and testing my appetites. This certainly helped put some of my own other work in perspective – understanding what I’ve grown at and where I’m going to have to get over some of my own tendencies or preferences if I want to move into a particular direction.

    And all this after Matt W wrote a prehistory of weeknotes over on the Job Garden medium. I would apologise for the whiplash perspective shifts in my notes – from nice high-level progress down to a surprising amount of detail about chips or code or whatever – but I’ll be honest and say it’s semi-deliberate: a whole bunch of my work is about thought and abstraction and applying a long history of knowledge… but there’s also a lot that’s still about thinking with my hands, about developing skills and understanding through doing, and some weeks, I’m just stuck in the doing, so that’s what you’re getting in my notes. If you get whiplash… well, so do I, some days! But it’s some of the fun of the work, too.

    Let’s get back on the wagon, though, because weeknotes become less useful at a distance: monthnotes have such a different feel. The point of this isn’t just sharing progress; it’s also for me, and being able to keep a closer eye on the shape of my weeks. If that means making the time to do them faster… that might be the way they get done for now.

    Anyhow. That’s enough to catch up on these three weeks. Good progress all around, but it’s all making my head feel very full right now. Onwards!

  • Weeks 286-289

    8 July 2018

    It’s been a while without notes. That’s mainly because I have a lot on: Lambrigg has been fair motoring, and multiple clients filling an entire working week means notes and admin get pushed to the weekends, and some days, that means weeknotes just don’t happen. My bad.

    Fortunately, things are in a loosely steady state:

    • Lots of work on Lambrigg over at Sensible Object to get through the first main phase of the project. That’s mainly mean I’ve been in a research mode – lots of searching, reading, thinking, writing, and also conducting a lot of interviews in person and on the phone. We got to a good place at the end of Week 289 to present our research to the team, and I’m very pleased with how that turned out. We’re regrouping, and then working out what comes next.
    • Selworthy is moving apace: the team made some chunky infrastructure changes that all went very smoothly, and I continued some spelunking on more experimental work. The tech team is really solid – and growing – and my very limited time there is now down to advisory work or ‘special projects’. Which, at the moment, are proving to be challenging (the good kind) and challenging (the bad kind) in equal measure.
    • I made a small but useful MIDI controller for Richard, which was a nice way to use some CAD work to push out a simple tool for a friend to control virtual instruments with.
    • The other musical tool I’m working on, 16n, has moved forward a little, and in week 290 I should be building up the latest prototypes. More to report before the month is out, I hope!
    • And finally, in other Sensible Object news, the team there launched When in Rome, their travel trivia boardgame for Amazon Alexa. I had a very small part to play in this – Selside was a piece of back-end tooling around content management and production for this game. It’s exciting to see it in the world and in the hands of strangers – who seem to be enjoying it. Congratulations to the whole team; it was a hectic final month and they pulled off something good.

    And that’s everything. Let’s see if I can’t get these notes into something more regular for next week.

  • Weeks 282-285

    10 June 2018

    Four weeks to write about.

    Since returning from holiday, existing projects have motored forward, and a notable large one has emerged to take me through to the autumn.

    First, my own work – Longcrag prototypes arrived, and I assembled them and flashed them. Excitingly, they worked entirely first time. So that’s really positive: no bugs on the software, no bugs on the hardware. The only question now is to refine the BOM, address any oversights in the hardware, and prototype a front panel. Then I have to consider if I want to manufacture the object.

    I spoke to Emma about decomissioning our art project – we came up with a process we’re happy with.

    I fettled some issues that emerged on Selside, dealing with feedback, and looking into moving it into production infrastructure. It appears to have continued to be a useful tool, so I’m pleased with that.

    Selworthy motors as ever. I wrapped work on a feature that’s had me deep in Hex Fiend and building an internal library, which ended up using Braid to manage the dependency, and that turned out to be a tool I’ll use again in future.

    Finally, a new project emerges: it’s called Lambrigg, and it’s a longer project with Sensible Object. It’s going to be several months of R&D in a space that combines lots of my interests and expertise – games, toys, interaction design, connected objects, embedded hardware. As an R&D project, I’m going to have to be fairly obtuse about it here, but it’s going to be a good few months of work, hopefully going from exploration through to prototyping. I’m excited.

    And that means I’m pretty busy for the next few months, in lots of nice spaces: a little web and software work on Selworthy, my own music/electronics projects, and my main focus on Lambrigg for a few months. Good stuff.