Feed
Thinking69 posts

Expressive tools for thought

I'm excited for all the energy around tools for thought. Some notes on my current thoughts (probably to be revised in future entries).

Blocks as the basic unit

Blocks as a basic, contained, and usually addressable unit feels to me "right". You can see it in Notion and Roam and many others.

Read more

Brush as interaction

How do you change things?

I'm interested in users having the ability to personalize websites. I've mainly thought about it as a case for UI that lets you choose different options, probably powered by CSS (see components.ai's CSS.GUI).

My CSS Paint project lets you use a brush. It's interesting to use a brush. Should we let people style their website using a brush to paint styles on to divs?

Read more

CSS: end-user styling possibilities

I'm excited about CSS again. After experimenting with making layout-from-scratch apps with WebGL/Three.js in an attempt to avoid the sprawl (and creating my own mini-sprawl in the process) I'm rethinking approaches.

I'm interested in making applications where users customize with their own CSS. My bet is that if we get the initial primitives right, this could allow users to truly customize and feel at home in their spaces.

Benefits

Read more

Towards more manageable pointer events

Working with mouse and touch events is one of the biggest challenges for me in making interactive web apps. The availability of pointer events helps a lot, but I still pretty quickly end up with a mess of conditionals that are hard to reason about. I'm working on some new strategies and abstractions to help with this.

PointerOne, PointerTwo, PointerThree

The pointer event API provides events for pointerDown, pointerMove, and pointerUp. Using the pointerId provided you can link those events together into a continuous Pointer object that contains the whole lifecycle. I put this together into a SubPointer class.

Read more

State of mind: scattered thoughts on Typescript, three.js, and class-based architecture

I'm possibly in the midst of revising a bunch of my assumptions about how I like to code projects, so I wanted to write down my current thoughts. I'm probably in a honeymoon phase with the new set-up, so it's possible as I work longer I'll run into a bunch of walls and complications and end up re-revising.

Typescript

I have been avoiding trying Typescript, but I've now seen too much work from people working on involved interfaces (mainly Steve Ruiz's work and the Excalidraw project) to justify not at least trying it. So I've been trying it on the new prototype and I think I like it. Barring running into some tremendous catch, I think I'll use it from here on out.

Read more

I wrote about the trade-offs involved in using Vim-style navigation for the https://constraint.systems projects.

From: https://scrawl.grantcuster.com/2020-057-42.html


Rough music purchasing plan.

From: https://scrawl.grantcuster.com/2020-003-40.html


Writing about using a tiling window manager.

From: https://scrawl.grantcuster.com/2019-350-79.html


Writing about switching to Linux.

From: https://scrawl.grantcuster.com/2019-340-36.html