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