One month of developing in the opendeveloping in the open
I decided to begin developing in the open because I couldn't tolerate my awful pattern of starting things and never shipping. Developing in the open is a tech term for not giving a crap about quality while you build your website. Shipping is a tech term for finishing something you started.
Here are some of the insights and accomplishments that have blessed me after only one month of this process.
- I published five posts if you count this one
- Rabbit holes still exist, and I am still diving down them, but there is a certain point where I am turning back. In my graveyard of previous
sideprojects, the rabbit holes led to dead ends and often led me to abandon the project.
- My writing quality is very poor in these posts, I plan on going back to them and adding an updated date. As someone who was a writing major before learning web development, I feel shame at the lack of focus, concision, and narrative flow.
- The posts have been more helpful to me than I had thought they would.
- They are revealing aspects of why I haven't shipped as many side projects as I wanted to. I have always needed to negotiate with my tendency to procrastinate. For better or worse, I have come to value many of the things that procrastination has provided me, including perfectionism and the general value of doing nothing. Keeping this reality up front has been helpful so that I can honor the need to understand the problem space deeply, without becoming paralyzed.
- They are reminding me of the amount of work I have done. Each post doesn't even cover all the research, thinking, and coding I have done. It is truly surprising to me how much I am doing, but at the same time it is understandable - because all those dead-end rabbit holes actually left me with useful knowledge and sometimes code that I can use in this project.
- Even with no real audience (I've only told a couple of people. And maybe one post on Twitter where I have almost not followers), I am motivated by the idea of publishing for them. Thank you audience. It is your support that keeps me going.
- It is just generally satisfying to publish. Seeing stuff you made at an actual URL on the world wide web doesn't seem to get old.
- I need a better editorial process, but one that doesn't slow me down too much.
- I have much more to say than I imagined. Just documenting the rabbit holes is enough to keep me in posts forever.
- I am providing myself some evidence that I really do know how to make a website and that I'm actually pretty amazing at it. Impostor syndrome is real and it seems ridiculous that it still effects me 12 years in. This process is a really good counter to those "not good enough" thoughts and feelings.
Release notes #
- Continued development of a color system. Initial development of some programmatic generation of shades from initial colors.
- Rabbit holes on how tokens should be structured. Took another look at style-dictionary. I had decided not to take on dependencies easily. I understand that complexity exists, but I don't want to introduce anything that causes more pain that it solves. I've structured the tokens in a really weird way, mainly to provide hue,saturation, and lightness values separately.
- Bike-shedding on where color functions should go, where calculations should be made.
- A recognition that although Nunjucks and server side templating is working, the code is a little unorganized. Without a better system, things could become painful to manage.
- Nunjucks is generating CSS variables and utilities out of tokens. This is ok as long as I can set it and forget it. Otherwise, it is a little unwieldy because the .njk file doesn't provide the syntax highlighting, intellisense, or auto-completion it would if it were in a .css or .scss.
- Nunjucks is setting the styles on the swatches for the color tool in the kitchen sink.
- Nunjucks has partials, but not a robust component system. Even Zach Leatherman and Netlify integrated Vue with 11ty to deal with these shortcomings.
- CSS organization, related to the component story, is something I am coming up against. Thus far, I've been editing the index.css file and generating utilities and variables in theme.njk.
- Previous: Imperfectionism