97 lines
4.6 KiB
Plaintext
97 lines
4.6 KiB
Plaintext
[1]Tom MacWright
|
||
|
||
tom@macwright.com
|
||
|
||
[2]Tom MacWright
|
||
|
||
• [3]Writing
|
||
• [4]Reading
|
||
• [5]Photos
|
||
• [6]Projects
|
||
• [7]Drawings
|
||
• [8]Micro⇠
|
||
• [9]About
|
||
|
||
Is there really a way to push back on the complexity of the web?
|
||
|
||
2024-11-16
|
||
|
||
I found myself browsing through [10]flamework, a Flickr-style framework
|
||
developed by some of the developers who developed Flickr, including the
|
||
legendary [11]Aaron Straup Cope and [12]Cal Henderson, who went on to co-found
|
||
Slack and presumably make a billion dollars. And I was reading [13]Mu-An’s
|
||
thing about JavaScript. She is legendary as one of the brains behind GitHub and
|
||
tasteful and clever uses of HTML, JavaScript, and Web Components. And following
|
||
along with [14]Alex Russell critiquing Bluesky’s frontend.
|
||
|
||
I’ve been overall [15]bad, because I, like you am living through a bad era and
|
||
throwing yet another take onto the pile is cringe for both of us - [16]who am I
|
||
to speak, who are you to listen? Anyway:
|
||
|
||
• React, on a daily basis, is livable but annoying. The level of complexity
|
||
is sky-high, even when I spend a lot of energy trying to limit that
|
||
complexity.
|
||
• On the other hand, the level of complexity of web applications is pretty
|
||
high. User expectations are different, I keep saying. Flickr was fantastic,
|
||
but it was not a realtime-updating website that optimized for the browsing
|
||
habits of the youth, who spend a half-second on most content. I love
|
||
GitHub, but there is a reason why people are using Linear more and more:
|
||
Linear feels like a realtime desktop application while GitHub feels like a
|
||
website.
|
||
• I just can’t summon the clarity or oomph required to critique this stuff
|
||
anymore. Everything is, like, a trickle-down consequence of requirements
|
||
and culture and history, man! Pointing fingers at some software developer
|
||
or whatever, is neither all that accurate nor that effective. What’s the
|
||
point? To make people feel bad? Most people are trapped in their technical
|
||
decisions by several layers of management anyway. And people already feel
|
||
bad!
|
||
• Man, the web platform is not that great. I keep wanting it to be great, but
|
||
half the time when I think that knowing about some HTML element will save
|
||
me from having to use a React thingamabob that adds 50kb to my bundle… that
|
||
HTML element just isn’t it, man! I need to style those select elements, or
|
||
lazy-load that details element, or implement some implementation-wise
|
||
horrible but essential-for-the-product scroll or focus or style experience
|
||
which is just a little too much to implement with just CSS hacks.
|
||
• Honestly, the parts of GitHub that have moved from Ruby on Rails to React
|
||
are mostly, in my experience, worse now. GitHub issues might be slightly
|
||
fancier with a few extra features, but there are noticeable loading
|
||
flickers and plenty of new bugs, like hovercards that don’t go away.
|
||
• That said, and I have to keep repeating this, user expectations are
|
||
changing. People are used to apps, not websites. They are surprised if
|
||
every view that they see is not realtime-updating. Linear and [17]Pierre
|
||
see this and [18]are making modern-style alternatives with realtime
|
||
subscriptions and local-first stuff and heavy client apps.
|
||
• I don’t think everything should be a React app! I want more things to be
|
||
like Flickr used to be, and GitHub used to be. But at the same time, I
|
||
don’t see an obvious way out of the current dynamics. Yelling is popular
|
||
but the track record isn’t very good. Being quietly annoyed about the web’s
|
||
descent into complexity, my preferred approach, doesn’t work very well
|
||
either. A few organizations are bucking the trend - [19]Kagi, for example,
|
||
has good JavaScript-lite frontends. [20]Reddit has [21]gone web components
|
||
and it seems like an improvement.
|
||
|
||
|
||
References:
|
||
|
||
[1] https://macwright.com/
|
||
[2] https://macwright.com/
|
||
[3] https://macwright.com/writing/
|
||
[4] https://macwright.com/reading/
|
||
[5] https://macwright.com/photos/
|
||
[6] https://macwright.com/projects/
|
||
[7] https://macwright.com/drawings/
|
||
[8] https://macwright.com/micro/
|
||
[9] https://macwright.com/about/
|
||
[10] https://github.com/exflickr/flamework
|
||
[11] https://www.aaronstraupcope.com/
|
||
[12] https://www.iamcal.com/
|
||
[13] https://muan.co/posts/javascript
|
||
[14] https://bsky.app/profile/infrequently.org/post/3lay2jro2i22a
|
||
[15] https://www.are.na/block/23792815
|
||
[16] https://youtu.be/zpVC2hmejko?si=iZGN0UphiOSU2NUU&t=63
|
||
[17] https://pierre.co/
|
||
[18] https://docs.pierre.co/changelog/local-first
|
||
[19] https://kagi.com/
|
||
[20] https://www.reddit.com/
|
||
[21] https://macwright.com/2024/10/19/reddit-is-my-wc-reference-point
|