I’ve uploaded some slides I put together recently for a couple of events. I’ve also posted my speaker notes below.
Many thanks to Leisa Reichelt and Emma Gasson for giving me some useful tips and links this week, to Alice for the slide template (and, spoilers, for the finale) and to Padma Gillen for letting me steal his construction metaphor. Huge thank yous to the dozens of people whose work I mention below and the hundreds of people who have taught me and influenced me over the past few years.
I realised last year that I have two very different reactions to stress.
The first one – the most common and obvious reaction – is to become visibly and obviously agitated. I start speaking about twice as fast, my voice goes up the best part of an octave, and I become flustered and flushed. Visibly and unmistakably stressed. You know what stress looks like. It’s not nice to feel it and it’s not fun to be around.
My second stress reaction is quite different. I disengage. I mentally withdraw from things that are getting to me.
I was asked to give a short talk to some colleagues about product management. I opted to share some brief attempts to define it. This is hard, so I pointed to other people’s attempts. Next I shared what I think are the characteristics of good product management. This bit, since it was just my current opinions, was both easy and fun.
Here are the slides.
Here’s my list:
Digital not IT
Git more than SVN
JSON more than XML
Python more than PHP
Ruby even more than Rails
German more than French
Mandarin more than German
Kano more than Moscow
Kanban more than Scrum
Kaizen more than perfection
Agile much more than PRINCE2
In fact, agile rather than any specific methodology
Inquisitiveness rather than idealism
Curating more than collecting
Content design more than SEO
User needs not requirements
User research not instinct
Making more than writing
Doing more than talking
Cloud more than tin
Data not patents
Open not closed
While there’s value in (some of) the things on the right, I value the things on the left more.
Suggestions from other lovely people:
- @fantasticlife: fiddling more than meeting, data more than software, people more than machines
- @jukesie: agile not Agile
- @msaunby: GPU more than CPU
- @frankieroberto: PostGres not MySQL, offline-first not native app
- Matt Edgar has a list
- John Willshire has an entire book about Making Things People Want > Making People Want Things
It starts off with the central front LEDs lit up bright white, and pressing the button on the BlinkyTape switches between steads/left/right indicator modes.
The PowerMonkey is a simple little 5v rechargeable battery, with a variety of adaptors for charging various phones etc. It makes an ideal portable power source for the BlinkyTape.
Here’s a video of it in action.
And I’ve put the source code online too.
I’ve also been experimenting with using the BlinkyTape PatternPaint app to do some light painting.
Lots more fun to have here.
I finally found a way to make Secret less boring.
I spent a week posting and responding to comments using carefully selected quotes from Holden Caulfield.
I gave each one the same background (crimson denim) and I dropped the initial capital on each one in an effort to make the quotes slightly less formal.
Catcher in the Rye is a classic, and full of brilliant angst ridden quotes that are indistinguishable from most of what’s on Secret anyway.
Finding relevant quotes to use in replies was fun.
Sometimes it worked better than others.
Some that I expected to work really well didn’t get any replies at all. I expect I need more friends using Secret to make this work really well.
I gradually started to use more obvious quotes and eventually got spotted.
I had lots of replies from people who seemed to take them at face value though. And unless you knew the book well, why wouldn’t you?
One anonymous friend was horrified at Holden’s use of English.
Holden’s attitude to women and sex isn’t all that great, let’s be honest.
I’m glad someone called him on it in the comments.
Here’s my custom controller and display for Kerbal Space Program.
Last year, after seeing this custom controller, I was suitably inspired. I wanted to build a simple physical device to control launch/stage, throttle, landing gear, lights, and maybe some custom stages. I knocked up a quick hack just to get a feel for how well it worked, using cardboard, a handful of switches I already had lying around, and a Teensy development board which can act as a USB keyboard.
Using a simple controller with physical switches and buttons as alternatives to keyboard keys was fun to use, but I was soon annoyed every time my hands had to go across to the keyboard – and especially the mouse – when checking things like radar altimeter, periapsis, time to apoapsis etc.
I soon wanted not just switches but screens and dials I could glance at. I especially knew I needed a physical radar altimeter. (Landing safely is hard!) What I needed was a way to get the data out of KSP.
Ideally, I thought, someone would have written a KSP plugin to give me easy access to live data about velocity, altitude, fuel levels, periapsis apoapsis, time to periapsis and apoapsis, height from terrain, velocity, surface speed, vertical speed, sensor data etc. Ideally something simple, lightweight, readable by a hacky little program that could pass the data on through USB serial to the controller.
I was really looking for a CSV or JSON plugin for KSP. It took a bit of digging to find it, and I feared I might have to write it, but I was delighted to find the Telemachus plugin which adds a nice simple JSON API to KSP and has a fully featured web interface built on that API. I don’t use the web interface but the JSON API is great. Getting live data out of KSP and into Ruby was a nice moment.
Now I had an approach that I knew would work, I started putting together a wishlist of parts and putting together a simple paper prototype; a rough sketch of what components I wanted where.
Having seen various voltmeter clock projects I knew I wanted to use an analog output on an Arduino to have it display live data about altitude, fuel, velocity etc.
So I started playing with LCD screens and voltmeters to work out how to display different things simultaneously.
Next I went shopping for a good range of switches
A higher fidelity prototype came next, with holes punched in the cardboard where I thought the switches screens and meters needed to be. At this stage, I learned a lot about what felt comfortable, and moved a few things around.
Starting to put it all together.
The displays all go in to the base
Feels satisfying already
Testing the displays
Preparing to drill the holes
Drilled and Dremelled
Everything in place
- Teensy code for creating key presses from switches
- Simple Arduino code for controlling LCD screen and voltmeters
- Beginnings of a Ruby script for passing values from the Telemachus plugin to the Arduino
- Telemachus plugin – forum post and github page
- Teensy USB development board – the Teensy 3.0 is rather cute. Lots of helpful docs here. NB: uses 3.3v rather than 5v, making it unable to control the LCD screen or voltmeters I used. I ended up using both a Teensy and an Arduino but there are lots of alternative approaches.
- Small volt panel meters – these ones are quite widely available, fairly cheap, and and are only 44mm2. Plus are compatible with this lovely blank faceplate template from Hipsterlogic.
- LCD screen – I went for this one from SainSmart and found these pointers rather helpful
- Large toggle switch with cover guard – there are a few out there, but I tried this one which has an LED in the switch and has a pleasingly chunky feel. It’s slightly counterintuitive to wire up though, and these comments on Sparkfun were really helpful.
- Key switch – this one is a bit flimsy. I’d like something a bit more satisfying. (Incidentally, I also badly want to build something War Games like with two that have to be turned simultaneously.)
- Switch with LED ring – these are rather cute. Two contacts closed when pushed, two contacts for the LED.
- Red mushroom emergency switch – I went for this fairly small one which I use to kill the throttle
- Coloured momentary push switches – I like these ones from Brimal available in a few colours
- Small momentary (on)-off-(on) toggle switches – these are ok
- One large momentary (on)-off-(on) toggle switch with waterproof boot
- WiiMote Nunchuck I had lying around
- This WiiChuck adaptor which works nicely on the 3.3v Teensy and apparently the Arduino too.
I’ve subsequently seen this astonishing mission control desk which I now very badly want to make for my son / self.
Here’s how I used to carry my pen:
Here’s how I do it now:
So much better. I really love this thing.
And here are all of my tags and their shortcuts.
Mark Twain suggested that we “eat a live frog in the morning and nothing worse will happen to you for the rest of the day.” During my daily review I try to pick out the one thing I really don’t want to do but really should do first.
Of the priority tags, the only one I use a lot is the high priority tag (the little red circle) to help me spot the urgent/important stuff.
Although I spent far too long making this look pretty, it was really just whittling while I was thinking about contexts. Rather than tagging things according to the project (which Things handles anyway) or type of activity (which isn’t very helpful), I’m finding it useful to be able to pick out actions according to the situation and tools I have to hand. What can I do while I’m on the train? If I’m in the mood to make some phone calls, what do I need to do? What can I do that will only take 5 minutes? That sort of thing.
Tagging be people and agendas is useful too. In preparing for regular meetings, or time with certain people, it’s great to be able to quickly pull out relevant things that I need to cover.
There are some ‘Waiting for…’ tags too, useful when something has been delegated but still needs to be kept an eye on. Having different flavours means I can check the ‘chase’ ones daily and the others less frequently (usually weekly, at the moment).
You’ll also notice that absolutely everything has a keyboard shortcut. When I’m using a computer, and I mean really using a computer, I don’t like to switch between using keyboard and trackpad and I always want to be able to everything I can with keyboard shortcuts. For example: tagging actions without having to skip a beat.
I’ve been using the Things app for a while for tracking projects and next actions with the goal of Getting Things Done. I wanted something to help me pay attention to the things I need to get done, and decided that a physical representation of daily progress would be an interesting thing to try.
The hardware build was really easy. More of a bodging together of components than anything. I dremelled out the back of the voltmeter to create a bit more room, fitted it to a small enclosure box, and squeezed the dev board into the remaining space, with the ground pin and an analog output connected to the voltmeter.
The code is pretty straightforward. The Teensy runs a small program that listens for lines of text via the USB serial port and simply sets the output of the voltmeter to whatever percentage value arrives. At this stage I’ve got a simple multi-purpose percentage meter controlled trivially over USB.
Next is a Ruby script that listens for changes to the Things app, works out how many of the tasks in the ‘Today’ screen have been marked as completed today, and sends that percentage to the USB serial port. It’s like a physical progress bar for things I want to get done today. A done dial for life.
I’m going to try it for a while and see how it works. There are probably lots of other things that a progress meter would help with too.