📍Warsaw, Poland
So far the only missing piece for me is permissions, e.g. some private feed of posts that can be read only by my friends. Where do they sit in terms of this files metaphor? Password-protected files? Can other people see such files? Sometimes file-name can already be treated as a leak
So far the only missing piece for me is permissions, e.g. some private feed of posts that can be read only by my friends. Where do they sit in terms of this files metaphor? Password-protected files? Can other people see such files? Sometimes file-name can already be treated as a leak
t.co/uXObPMsvWq
t.co/uXObPMsvWq
t.co/lMXdgcVGFb
t.co/lMXdgcVGFb
And getting feedback like:
"I heavily rely on timelines, and it’s crucial they function optimally. This is a key selling point for me in Fibery."
...just feels nice
And getting feedback like:
"I heavily rely on timelines, and it’s crucial they function optimally. This is a key selling point for me in Fibery."
...just feels nice
– Always test hypotheses in practice.
– If you have an M4 Pro/Max MacBook, your UI must run smooth with x4 CPU throttling 🙈
– If you want a polished UI, dogfooding+boyscouting are very important pieces of dev. culture, imo. I doubt we’d fix it if we didn’t suffer from it ourselves.🫠
– Always test hypotheses in practice.
– If you have an M4 Pro/Max MacBook, your UI must run smooth with x4 CPU throttling 🙈
– If you want a polished UI, dogfooding+boyscouting are very important pieces of dev. culture, imo. I doubt we’d fix it if we didn’t suffer from it ourselves.🫠
– Once you add a library to your project, its code becomes your responsibility. Don’t treat it as a black box. You can learn a lot by reading and patching it
– Compete with your competitors. We’re lucky to have great ones like Linear,Notion. If they can make smth fast, why can't we?
– Once you add a library to your project, its code becomes your responsibility. Don’t treat it as a black box. You can learn a lot by reading and patching it
– Compete with your competitors. We’re lucky to have great ones like Linear,Notion. If they can make smth fast, why can't we?
I was sure browser APIs would outperform any JS solution so I relied heavily on IntersectionObserver and CSS vars to update UI on collisions.
Turns out, frequent CSS var updates on large DOMs can be costly. Sometimes plain old state subscriptions just win.
I was sure browser APIs would outperform any JS solution so I relied heavily on IntersectionObserver and CSS vars to update UI on collisions.
Turns out, frequent CSS var updates on large DOMs can be costly. Sometimes plain old state subscriptions just win.
For some unknown reason we were scaling the entire timeline area when resizing a panel.
That meant recalculating headers, visible cards, collisions…
Sounds expensive? It was.
Was it useful? I don't think so.
I doubt anyone will miss it. 🔪
For some unknown reason we were scaling the entire timeline area when resizing a panel.
That meant recalculating headers, visible cards, collisions…
Sounds expensive? It was.
Was it useful? I don't think so.
I doubt anyone will miss it. 🔪
OSS lib we used rendered headers and body in separate scroll containers.
And afaik it's impossible to get rid of that scroll-sync delay completely.
Even on empty timelines - nausea from wobbly UI was real.
Fix: put everything in one scroll container. Small markup tweak = big UX win
OSS lib we used rendered headers and body in separate scroll containers.
And afaik it's impossible to get rid of that scroll-sync delay completely.
Even on empty timelines - nausea from wobbly UI was real.
Fix: put everything in one scroll container. Small markup tweak = big UX win