[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