You are reading content from Scuttlebutt
@mix %K6aVsB24T2GMsHlH0NAchiHatSdWnOLRsG3nVpDAm7o=.sha256
Re: %WO7WjRFL6

kyoto_temple_garden_mix.jpg

Closing the Grant

As part of closing this grant, I'm going to pause and reflect about the journey - where it intended to go, where I got to, and what learning there is to share

I fucking loved doing this grant. I was able to produce code I was proud of, improve the ecosystem around things I touched, and improve on patterns I'd previously explored.
It's been interesting to contrast this with my 1st grant (Mix helps you build it), which was much more open ended, which I feel like I've been doing good work on in many small ways, but is way less tangible from the outside. I felt (and feel) insecure about that one. This one felt clear, acheivable, most of the hard design was already done, and there was the right balance of known delivery + unknown exploration.

I really enjoyed stopping and planning next steps at save points during the grant. While I didn't build every features I would have love to, I feel like I nailed the core, and these pauses and course corrections helped a lot. For example I decided to not polish features and instead make sure I could get this tool into as many peoples hands as possible by making a standalone app. This is a going to be an interesting side experiment in itself. It was motivated by experience with ssb-loomio grant, where we found getting UI into all the clients really hard. It's also an investment in mainstreaming soapy and cryptix' work with scuttle-shell. I've done some prototyping and intend to continue this work after the grant.

Things I had trouble with in this grant were some changes in the stack which made making installers and even stable installs from the repo shaky. One was a minor change to ssb-ref which led to an uncaught and fatal change in schemas. Easy fix happily. The other was upgrades in scuttlebot (I think) leading to hours of slow testing of setups across 3 OSes. This was tedious and demoralising because I'm not confident I got all the bugs... and I'm no confident people won't have problems I (or someone) will have to spend more time trying to fix. Around this I could have asked for more help, and I definitely could have done some more mindfulness or walks in the sunshine to help ground me more (rather than beating my head against it)

Time tracked

Selection_165.jpg

I was aiming for 128 hours on this grant (~ equivalent of a month of 5 day a weeks @ 6 hours billable work a day). At 144 hours I went over this a little but some of the goals of the later work bled into deliverables for #dark-crystal work, so I feel good with that.

The two dips in productivity are a 2 week flue :disappointed: and a conference in melbourne (yeah a 10 day trip knocked a 2-3 week sized hole in our family pattern)

Learning to share ?

I'm particularly happy with some patterns I explored in scuttle-gathering - I managed to divide the code into really delightful to test parts, like seperating building and publishing. I also introduced permitted-params (stolen from experince in ruby) and found it made code really tidy.

Another pattern that's worked well, is a strategy for live updating. TL;DR is :

  • all getters are async
  • there's a live-stream which triggers refreshes using the async getters to reload whole sections if necessary
    This is really sweet because it's a pattern which is mutant or yo-yo or preact friendly. It's based on the observation that generally lookups are really cheap for a particular view, and it's easier to reason about the things you want to trigger a reload than it is to make everythng live everywhere. Also everything live everywhere can be quite jarring

Schemas / validators make building so much easier. Use them!

Where to next

While this grant period is formally closed, these are tools I'm using on a regular basis now and will want to continue to improve.

Some of the things I'm itching to do are:

  • scry
    • make private an option
    • allow picking of different times on different days
    • better setting (and adjustment) for closing of scry
    • an option for marking scrys which let any participant resolve it
    • collapse time options which >= 3 people can't make
    • show you started the scry
  • gatherings
    • better time printing (more human time, e.g. in 2 days)
    • better gathering card dessign
  • infinite game
    • fold over scuttle-shell
    • get a better symbol for 'scry' icon than ? :disappointed:
    • make an icon for the app
    • update to use patchcore-2 and other performance improvements
  • calendar
    • extract as a module
    • offer week or day views
    • add filters for just events you / friends are going to

If you're passionate about any of these I'd love to help you build any of them

Questions

if you've got any questions about the grant, my learnings, or things I've made, please feel free to ask

:pray:

Join Scuttlebutt now