Posts tagged as gisborough
Weeks 236-239
24 July 2017Travel and holidays mean weeknotes were pushed to the wayside. So let’s get back on top:
My focus on Selworthy shifted to beginning to prototype the major back-end change I’d been planning for a while. So far, a quick spike reveals it’s a definite improvement, but there are lots of curious issues that are challenging to debug because of all the places issues could lie – many of which are effectively sealed boxes. Lots of arithmetic, programming, and staring at video specs going on over here.
I kicked off some work for Good Night Lamp addressing some feedback on the tooling I’d worked on for them, now that it was in the wild and they’d had some experience with it. A few new features, a few refactorings, and lots of polish and quality-of-life improvements for the team that use the tooling. That’ll probably wrap up in week 240.
I wrapped up the last patch of work on Gisborough by bringing it all up-to-date with the new Doteveryone branding.
In week 239, I finalised some details around a month-long course I’m planning to run in October – more on that shortly, I hope.
And the launch of Foxfield Instruments went well, largely. One teething snag: I’d shipped an incorrect component in one of the kits. I fixed this by sending replacements down to Thonk, and then getting in touch with the keen customers who’d already bought the affected kits. That’s helped me discover the spread of them – even though I was fixing a problem, exciting to learn that Foxfield kits are in the US, Russia, Switzerland, and beyond.
I spent a lot of week 236 putting together a lot of prototypes of potential new Foxfield modules to take to Brighton Modular – they arrived whilst I was away in week 235. You can see many of them in the central row of the case above. The exciting news is that all of them worked, and several of them turn out to be Rather Good Ideas. So hopefully we can bring more of those to life in due course.
And finally: Week 238 was another week off – one that, unlike week 235, had been planned in a while.
Back to our regular schedule for a bit, now.
Weeks 229-232
5 June 2017Gosh. Fell off the weeknotes wagon again, eh?
It’s been a very busy month, and yet most of its focus has been fairly linear: pushing forward on a variety of projects.
Selworthy is in a moderate motoring phase. We’ve got a new tech lead that I’m slowly handing over to, and he’s taking on a lot of the day-to-day responsibliities. I’m focusing a bit on some R&D and that means I’m up to my neck in browser and encoders and the horrors of discovering what turn out to be bugs in infrastructure.
Gisborough wrapped up in week 232: we had a final few weeks of writing, rewriting, and rewriting some more – and then fettling all our content architecture before deciding to add more writing in the final week. But we shipped on time, and it was a great team – and hopefully I’ll be able to link to more about it in due course.
Longcrag has taken longer than planned, owing to the fullness of my calendar. Lots of sticking tiny components in bags, repeatedly; writing and rewriting copy; slowly getting on top of build documents; making films and editing said films whilst video software crashes all around you; the final 10% taking way too longer. Nearly there: nearly there with product in the world. Terrifying/exciting all at once.
Along the way, I’ve done some minor Wapley fettling with Richard, getting it into a testable state and battling the limitations of mobile browsers.
And I’ve done a bit more invention on the next phase of Longcrag – breadboarding up one new product and sketching up another, and leaving them to percolate whilst I work out if they’re any good or not.
When I’m deep in client work, weeknotes can be a bit fractal: a month can look the same as a week, from far enough away. In some ways, that’s a good sign – it means the work has scaled a bit – but it also means that some of the blow-by-blow is more challenging to write about. It also often means that I tend to leave admin to the weekends, and that means it tends to get forgotten. I think I should be aiming to do the admin, but make it simpler. Perhaps, for this shape of work, weeknotes aren’t super effective. I think we’ll try to stick with them for a bit.
And hopefully I’m about to hit cruise control for a little: some projects are winding up and I’m going to leave a bit of slack in the schedule for serendipity, prototyping, and so forth. (I’m also in New York for a week from the 19th – get in touch if you’d like to sya hello). But for now: a couple more weeks of getting Longcrag out and wrapping up Wapley.
Week 228
8 May 2017Quick notes, but notes nontheless:
- On Selworthy, I wrapped up work on our latest export format and got that deployed to production. I also did battle with handling video with non-square pixels correctly. That was an adventure – and a pile of learning to do – but we got somewhere good in the end.
- On Gisborough, we committed our final content changes before a second round of testing. I also spent some time porting the application from “a directory full of PHP files” to a self-hosting Sinatra application, mainly to make it easier to host on PAASes like Heroku. This didn’t take very long, but gosh, Apache and
mod_php
is a pretty handy prototyping environment and some days I miss its easy availability. - On Longcrag, my correct set of front panels arrived from Eurocircuits, and I built up the remaining test boards. So far, so good: I identified two mistakes on the boards (simple component values) that can be solved through corrections in the build document. I ordered the replacement parts, and next week, kitting up begins in earnest.
Week 227
3 May 2017The notes continue to be brief in proportion to the busyness of the week!
I spent most of my time on Selworthy writing export tools for another broadcast subtitle format; challenging, but making lots of headway and understanding the format better the longer I spend with it.
On Gisborough, we wrapped up a second pass of the content, started to brief an animator, and planned the final push on the project.
Longcrag is paused whilst I wait for the replacement panels to arrive from Eurocircuits. However, two prototypes for future Longcrag projects arrived, so I built them up. One was an entirely new board – albeit based on two other existing products – and it worked first time, and also confirmed that the idea for the product was a good one. So that’s something that might move up the production schedule depending on how the first batch of products go.
The other was a second iteration of something I’d made earlier – now ported entirely to surface-mount technology, and fixing a bug in the layout that meant the output voltages weren’t high enough. It works entirely correctly, and is quite exciting – unlike the other Longcrag products, which are my own take on existing ideas or concepts, this one is an invention, and it seems to work well. I built up two of them, and have sent one to a pianist for beta-testing, and to see how another musician responds to it.
Fair motoring, and rolling reasonable well through all the inevitable context-switching.
Week 226
25 April 2017Once again, in haste:
Over on Selworthy my colleague and I licked lots of small tickets into shape, ready for a new deployment shortly. I also broke ground on another challenging binary export format, which is going to be my focus for the next few weeks.
I took the Twine protoype we’d made on Gisborough and unrolled it into a stack of HTML pages – easier to make accessible, and customise. Twine had still been useful in prodding the interactivity and seeing how to chunk up the writing, though. We’re gearing up for a second round of testing soon on this.
I spent some time on the Empathy Deck, fine-tuning some of the algorithms and prepping a bunch of new content for a spring clean. That should go live shortly.
And finally, I had a very busy day on Longcrag. I knocked a bit more of the website into shape, for starters. Then, I spent some time practicing kitting up one of the products: working out how to label the interior bags, how many bags it would need, what should go in each bag to not be confusing, and confirming the documentation was correct for this. I made a set of packing documents for each kit, which would make it much easier to make up these bags. I also bought a set of paper espresso cups to put each bag’s contents into. Lay out 25, fill ‘em up all up, tip them all into matching bags, do the next set. Excitingly, the big order from EuroCircuits arrived: all the PCBs and front panels. The front panels were great quality, but two whole sets of them had a serious defect. I mentioned this to the company, and got on with test builds of two of the kits – both of which were very successful.
EuroCircuits called me the next day, and we talked over the issue. In the end, it looks like it’s an issue their end, and they’re going to re-make the boards; a huge relief, but also made me feel happier about my decision to go with them. They’re pricier than the Chinese alternative, but the quality of product was great, the turnaround time fast – about 8 days from order to 400 boards (50 each of 8 designs) arriving; the software tools they supply are very reassuring, and the customer service was great. This means that next week I can kit up the two complete kits, and prep for the other two to arrive. Nearly there.
And that’s a wrap. Next week: continuing with binary formats, hopefully wrapping up a second pass at some Gisborough content, and continuing to get Longcrag closer to being out the door.
Week 224
9 April 2017A few breakthroughs on a few projects today.
Over on Selworthy, I wrapped up our support for exporting to SCC – a closed captioning format that’s particular common in broadcast and DVD environments. It’s been a challenging project: the specification is hard to obtain and decipher; when you’ve done that, the format is obtuse and not designed to be human readable, meaning it can’t be eyeball tested; various implementations to use as references we’ve found vary wildly in terms of quality; and, because it is designed around broadcast devices, a caption takes a varying amount of time to ‘buffer’ dependent on its length. This documentation has been my yardstick, if you’d like some glimpse into my brain for the past few weeks.
Anyhow: we’ve got an end-to-end solution, and I’m pleased with that. Gnarly, character-based programming.
I also spent some time fettling some customer issues, and the dev team spent a little while setting ourselves up with a Continuous Integration server. To wrap up the week, I diagnosed the source of most of our issues with IE11 support – though it’s going to be a little while before that will be entirely resolved.
On Gisborough, I spent some time pulling together some illustration and motion graphics. It’s not my strong point, but at the very least we have something testable, and something that could act as an animatic for an animator to work from. We also finished up a first pass at the third of the three documents we’re creating. This one turned out to be somewhat necessarily long, and also a little tangly – so I prototyped a quick pass of it in Twine, breaking it down into its fundamentals and making the links within it more obvious. This was a hit with our writer, who tidied it up in its interactive form, and we’ve got that to show the team as an alternative next week.
And finally: I wrapped up all the ordering on Longcrag with a slightly large order from Eurocircuits. Large because, though we’re ordering a decent number of boards, it’s actually a small number each of eight different items. Still, that’s in place, and should be here in a week or so. Then all that remains is making up the kits… and then triple-checking the documentation, finishing up the website, taking press shots, etcetera. Busy busy. But exciting! To cap it all, some rather nice marketing collateral arrived, and I did a quick quality-control run on all the knobs to check they had their set-screws.
And that, I think, was enough for Week 224.
Week 223
4 April 2017In haste:
- Gisborough marched on: we finished up a set of revisions to the previous week’s work, and started thinking about how best to illustrate it all.
- I spent some time on Selworthy cranking on a finishing up a particularly challenging file exporter. Despite an initial working prototype, I spent some time tidying up the code and making it much more compartmentalised: easier to test, and also easier to extend in future. I also spent some time trying to fix some strange import errors from other tools, when we tried to load these files into them. I compared ‘golden’ output from another tool with our own, and comparing notes as to what might lead to the issues we’re seeing. By the end of the week, I’d tidied up a lot of my own output and had improved our export files no end – but the inexplicable import errors were still to be dealt with
- With all the components for the first of the Longcrag products here, I fixed them up in their production packaging. The good news is the packaging works well and looks good. With the first 20 products packaged, I spent some time starting work on building a website about the products, and ordering various pieces of merchandise and collateral. The final few components arrived from various distributors, so once the final PCBs arrive, we’re into packaging up some kits – the products are self-assembly – and making sure our documentation is good to go. Exciting, and a little nerve-wracking, to see it all coming to life!
Week 222
29 March 2017Another busy week, so time for more codename confetti:
- Over on Gisborough I cranked out some HTML prototypes ready to be tested, as well as taking a quick second check at the language in the second prototype. Later in the week, I went over those tests with the team and we began to plan what would be coming next and taking stock a bit.
- On Selworthy, I spent some time remembering how useful integration tests are for testing complex workflow; Capybara really does make life a lot easier. This helped test some of the new code I’d been writing around sending alerts to our Slack channel when specific criteria are met. I also spent some time working with our new tech lead who’ll be taking over from me in due course.
- Components started arriving for Longcrag, some with attendant customs bills – I’ve learned a few lessons about shipping companies this week. I laser-cut some panels for a new prototype, and ordered the first production PCBs for one of the products.
- Finally, I tightened a few screws on Walbury all ready for a second round of tests.
And we’re out!
Week 221
20 March 2017Lots going on, so more bullet-point weeknotes:
- Gisborough begins to take shape. Alex, our content designer, has been working with me on picking some topics and then asking me questions to find both the stories we want to tell, and the way we want to tell them. That’s been challenging in all the best ways, and by the end of the week, she’d found an angle and an arc, and we were shaping up for our first prototype and test.
- Over on Selworthy, I finished up rebuilding our developer tools. I also spent some time working on our internal administration tools: adding some more detailed metrics and notifications for administrative users, and starting to touch on the beginnings of some Slack integration.
- The first of two deliveries from China for Longcrag arrived – 200 cables with a male end and a female end – and I cut them all in half. The packaging also arrived, and a quick packaging test felt and looked good. Onwards.
- I spent an afternoon with Erica fettling the Empathy Deck – aka Holmfell – and discussing some new features I’d add in due course.
- And finally, Wapley had its first test in the wild. It sounded from Richard like it went well; as a result of that, I wrote some quick additions to improve the user experience and make debugging it in the field easier.
Week 220
12 March 2017A short week, after returning from a short vacation, but lots of progress in a few areas.
- Some work on developer provisioning on Selworthy – wrapped up the work of using our existing Ansible scripts, with minor modifications, to provision a development environment inside Vagrant. Should make it much easier for new developers to come on board. Oh, and we shipped a small, useful addition to the internal metrics tools.
- Started working with our content designer on Gisborough; this ended up with me trying to narrate the journey through the OSI Stack when you
POST
a form, to work out how to explain this more plainly. That was a deep dive of “remembering all the stuff that’s really going on”! - Longcrag started its journey into reality, with ordering packaging and also some key parts from overseas; I also spent some time filling out forms and paying customs invoices, wearing a learning smile throughout.
- Finally, I broke ground proper on Wapley, a new tiny project with Richard that takes some of the work we explored in Rubato and pivots it into an interesting direction. After some simple prototypes in earlier weeks, a few hours of staring down some node code got us an exciting alpha.
No wonder I feel a little like I have whiplash. Aaaand breath out.
Week 218-219
6 March 2017Week 218
Week 218 began with a Chinese PCB manufacturer sending me a picture of boards about to be DHLed to London. I was testing out overseas manufacture for Longcrag, and seeing what the process would be like.
They arrived later in the week. I’ll be honest and admit I was disappointed, but my disappointment was behind a learning smile: the manufacturer had made everything to the tolerances they specified. What I hadn’t twigged is that they were much lower than the tolerances of my US prototype manufacturer. It turns out that OSHpark boards are ridiculously high-quality, in terms of the precision of the silkscreen. Given these boards are for DIY assembly, and the silkscreen needs to be clear, they weren’t going to be good enough.
So that led to two conclusions: firstly, spending a bit more on the boards, and manufacturing them in Europe, at a supplier friends have had good experiences with; and secondly, reading each manufacturers’ tolerances better. I redesigned the silkscreen on all the Longcrag products to be much more legible, and within tolerance. Fingers crossed!
Over on Selworthy, I continued wrestling the SCC format to the ground; it’s a difficult challenge compounded by the challenge of testing it. At some point, I should possibly write this up, or extract it to a library. But for now, just getting the output files right is the correct challenge.
And Gisborough metamorphosed into a slightly different project, that should begin in earnest in week 219.
Week 219
A short week this week.
Selworthy saw me spending the afternoon with a new colleague to start the process of handing the project over to a new lead. That’s right: after nearly two years, of the little-five-week-project-that-could, I’m planning to move on.
I really should write the whole thing up.
Anyhow, we spent the afternoon trying to build up a development environment, and this time around, decided to make use of all our Ansible collateral, rather than building a complex environment by hand. This was perhaps not the pace that was expected, but I’m sticking to my guns that it’ll be good in the long run. Sometimes, communicating the dreariest kind of technical debt – things that are only going to be debt if we have to do them again. When that’s unlikely, but not impossible, it doesn’t always feel like the most obvious investment, so you have to hold fast to the knowledge that all it takes is one unknown in the future to change your perspective. I’m hopefully going to wrap up this process in Week 220 and then we can get back to the land of features and fixes.
Gisborough mk2 kicked off, with some thinking and writing and talking and it feels like it’s moved to a reasonably natural place; next week, I start talking to a content designer about heavily involving them in the concept and giving them what they need to start thinking through it.
And Longcrag saw some big developments. Firstly, I spent some timing costing up production runs over on Eurocircuits. Eurocircuits are good value, though more expensive than the Chinese manufacturers I looked at; they primarily manufacture in Hungary and Germany. However, their tooling for uploading, configuring, and pricing boards is excellent, and hugely confidence-inspiring; it’ll make it easier to order repeats in the future. So I’m thinking of going with them, if only for the quality and speed of service; it’ll impact my costs a little, but better than the risk of longer turnarounds and more unknowns in the process.
A new prototype under the Longcrag umbreall arrived this week, and I quickly built it up – to be pleasantly surprised that it all worked as expected first time. Which felt like a big deal: a custom PCB containing a microcontroller chip alongside other circuitry, and an in-system programming header, flashed with my own code, and all behaving itself. And more importantly – it wasn’t just working, it was exciting – the possibilities for it as an instrument revealed themselves quite quickly. I’m going to try to get a couple of prototypes to other musicians soon, to see how they feel about it, but this one feels good.
And finally: I received an order for some Longcrag kits. A small order to begin with, but it’s going to entail kits for 5 different products going on sale from a retailer, and means I’m putting this stuff into the world. Shipping (unassembled) hardware! Blimey. Long list of things to do around all the other projects. It’s going to be a busy few weeks.
But for now: week 219 ended early, and I headed out for a long weekend; a small break to top up the energy reserves, before heading into a crunchy month or two. It’s going to be exciting.
Weeks 216-217
20 February 2017A busy couple of weeks, which is why I appear to be writing them for two weeks, not one. Ah well.
Selworthy saw a deployment that integrated and released a pile of new features – that was good to get out, and thorny, given it involved changing some of how we stored data on it. I also started working on a new export format for the application, which is probably the most painfully difficult file format I’ve ever worked with. We’ve certainly had an ‘interesting’ time testing it – it turns out the edge cases are very badly documented, so that’s been a lot of publish/test/fix going on.
menting it; it turns out the edge cases are very badly documented.
Over on Longcrag, I made another spreadsheet. Not a BOM this time: instead, a burndown chart of all the products in the range and what’s left to do on all of them. It’s… only moderately intimidating. I’m concerned some of the later tickboxes actually hide a lot of work, but for now, the goal is to get BOMs, PCBs and panels all completed so that I’m ready to send a large order to Elecrow.
That is, if they prove satisfactory. So to test them, I ordered a set of prototype boards from Elecrow: a baby step towards manufacturing in Asia. We’ll see how they turn out. Finally, I sent some emails inquiring about wholesaling the products, which is the other big GO/NO GO step for the project – hopefully we’ll hear about that soon. But a GO from a wholesaler and a quality board from manufacture means three or four products are probably ready to go.
I also took the sketch I made the previous weekend and built it up on a breadboard and microcontroller. The MCU code I wrote on the sofa worked first time, and led to a huge grin as I realised quite what this thing could be. So I continued to bash out a first pass at a front panel and get to a circuit board that could be made. A slight digression from the products I should be focusing on, but it’s very exciting, and good to have things in the pipeline. By the end of Week 217, a prototype of this was ordered up, and a few friends I showed initial footage to seemed excited by it.
Gisborough hit a bit of a speed bump; some things that felt clearly defined turned out not to be, which has led to me taking a step back briefly whilst the project refocuses itself – more to come in the near future, I’m sure.
And to cap it all, I failed to do weeknotes last week. So a fortnight’s worth this week, and let’s get back on the wagon next week.
Week 215
6 February 2017Continuing the theme of doing weeknotes for a single week almost on-time:
A few days on Gisborough with dotEveryone, carrying out some research trips, sharing our findings, and trying to creep up on the project from a variety of angles. I’ve been reminded that when I get stuck, I probably need to make things, even if all I’m making is words. Writing-to-explain has been one way out of holes, as has making hypothetical posters. Better to have something to disagree with than nothing at all.
On Selworthy, I liased with another developer about merging our two strands of work, and also about changes to the data we’re storing that’ll require transforming everything in the system. It’ll enable a nice chunk of new functionality, but definitely something to measure several times and cut once. Also lots of UI finessing and research, although my time on this was curtailed at the end of the week by slight illness.
On Longcrag, I revised the two prototypes with minor bugs from the week before. One took a good half hour of prodding and staring at the oscilloscope until I found the glaringly obvious problem: an output connection normalised to ground that shouldn’t be. When the normalised connection was broken, everything behaved itself. So a single change to the schematic and board, and that one’s good to go. The other board needed a more comprehensive redesign, it turned out, which I breadboarded up and confirmed worked well; I quickly laid the thing out and ordered a second pass of it from OSHPark.
And finally, at the weekend, I sketched out some code for a new Longcrag idea that came to me in the shower at the weekend. It should be a really interesting device – I can see lots of fun applications for it.
Friday finished early as head-cold and winter lurgy did for me, so a largely quiet weekend in order to prepare for another busy week. Onwards!
Week 214
1 February 2017I’m into some crunchy, busy weeks now, so keeping weeknotes brief:
- The project I’m working on with dotEveryone got underway. We set out some framing for the first patch of work, and I went on a quick research visit. Next week, we’ll kick off working in the office proper and try to wrestle the brief to the ground a bit. (I’m calling this project Gisborough, for reference).
- Selworthy – I continued work on making some the UI slicker and simpler (at least from the end-user’s perspective). I also spent some time with another developer planning out how best to attack a new feature, and doing Just Enough Ops to help our sysadmin on the side.
- Longcrag – more prototypes arrived this week. I spent some time putting them together, and whilst they’re largely successful – they’re about 90% correct in terms of electrics – there are a few bugs that need understanding and then ironing out. These two were on their first ‘pressing’ – I’d not built them up before – but there’s always the hope they won’t need a second revision. In addition, the prototypes confirmed two fixes to the panels for the whole range of products – good – and revealed a mistake in my understanding of the silkscreening that would need to be revised across the range – bad. Still, progress.
Week 213
23 January 2017Continuing the trend of brief weeknotes that are at least on time:
- My time on Selworthy was spent working on overhauling some commonly-used UI, to make it feel slicker and more app-like without losing some of its webby nature. That’s nearly done – we’ve been testing it on the staging server – and otherwise, I worked on some bugfixes and planning.
- I’ve nearly wrapped up my time working for Good Night Lamp – I spent some time this week integrating feature requests from the team based on their workflows and feedback, and also integrating a final API method. The tool is nearly good to go, I think.
- Had a quick meeting about Gisborough and we decided to reconvene in week 214 – it looked like the team needed to do some more internal clarification on what this might be.
- Met up with Erica to talk about some forthcoming maintenance work on the Empathy Deck which looks like it might have its life extended a little.
- My main work on Longcrag involved staring at some spreadsheets to try to work out wholesale and end-user pricing (and understand what margins on the whole endeavour to plan for). I think the pricing is reasonable. Next on the list: emailing some people about the project before it goes any further.
In non-project-related news, I tidied up the studio a bit, rearranging the desk with a new shelf for test gear and better, colour-balanced lighting. The new lamp is having a good effect on mood and workspace already. And to cap it all: I finished – and paid – my tax return. Admin!