▲ | derefr 3 days ago | |
> And because people forget, it is not too far off to say that would be like trying to deliver the internet of 2020 on machines with specs comparable to a Nintendo Wii. I mean, we could totally have done that. There's nothing stopping you from delivering an experience like modern Amazon or Facebook or whatever in server-rendered HTML4. CSS3 and React get you fancy graphics and animations, and fast, no-repaint page transitions, but that's pretty much all they get you; we had everything else 25 years ago in MSIE6. You could have built a dynamically-computed product listing grid + shopping cart, or a dynamically-computed network-propagated news feed with multimedia post types + attached comment threads (save for video, which would have been impractical back then), on top of Perl CGI-bin scripts — or if you liked, a custom Apache module in C. And, in fact, some people did! There existed web services even in 1998 that did [various fragments of] these things! Most of them built in ASP or ColdFusion, mind you, and so limited to a very specific stack; but still, it was happening! It was just that the results were all incredibly jank, with no UX polish... but not because UX polish would have been impossible with the tools available at the time. (As I said, HTML4 was quite capable!) Rather, it was because all the professional HCI people were still mostly focused on native apps (with the few rare corporate UX vanguards "doing web stuff", working on siloed enterprise products like the MSDN docs); while the new and growing body of art-school "web design" types were all instead being trained mainly on the application of vertically-integrated design tools (ActiveX, Flash, maybe web layout via Photoshop 9-way slice export). | ||
▲ | lstamour 3 days ago | parent [-] | |
I agree with most of this post, except the part where you could actually do it. I’ll be the first to admit that I was not in server rooms back then but I’ve heard from those who were. The biggest advantage Amazon had, for many years, over their competitors, is that they would take your order and tell you it was completed and wait to charge your card until it shipped because it was cheaper to write your order down than to spend expensive session compute waiting for the payment to go through. That kind of optimization was necessary because all the networks were slower or flaky then, including payment processing, and often relied on batch processing overnight that has become less visible today. Meanwhile on the client side, web technologies had a lot of implicit defaults assuming pages on sites rather than apps and experiences. For example, we didn’t originally have a way for JS to preserve back/forward buttons functionality when navigating in a SPA without using hash tags in the URL. Without CSS features for it, support for RTL and LTR on the same website was basically nonexistent. I won’t even get started on charset, poorer support for dates that persists to this day, limited offline modes in a time when being offline was more common, and how browsers varied tremendously across platforms and versions back then with their own unique set of JS APIs and unique ideas of how to render webpages. It took the original acid test and a bunch more tests that followed before we had anything close to cross browser standards for newer web features. I still remember the snowman hack to get IE to submit forms with UTF-8 encoding, and that wasn’t as bad as quirks mode or IE 5. Actually maybe I disagree with most of this post. Don’t get me wrong, I can see how it could have been done, but it’s reductive to the extreme to say the only reason web services were jank is because UX polish didn’t exist. If anything, the web is the reason UX is so good today - apps and desktop platforms continuously copied the web for the past 28 years, from Windows ME with single-click everywhere to Spotify and other electron apps invading the OS. I’m not going to devalue the HIG or equivalent, but desktop apps tended to evolve slowly, with each new OS release, while web apps evolved quickly, with each new website needing to write its own cross platform conventions and thus needing its own design language. |