Honestly, skinning is probably easier today than it ever has been. With custom client-side stylesheets, there's no reason someone couldn't roll out custom skins for sites like Facebook, Twitter, etc.
Originally stylesheets were meant to be recommendations. It was envisioned that user agents, users, and web pages would have their own, separate stylesheets, and the user agent would negotiate between the different stylesheets to determine the final style. I would argue that Twitter is going against the original spirit and best practices of the web with their technical decision to use css-in-js.
The Web is a medium with built-in customizability.
This "our product is perfect and must be used as is" attitude reminds me of a relatively recent example that seems to be dying down: mobile websites that used the `maximum-scale=1 ` value in `<meta name="viewport"`. This disabled zooming in mobile devices. This was an accessibility issue that affected people who otherwise don't encounter other accessibility issues.
If it were simply a matter of providing the smallest payload to clients, these sites could provide some sort of external manifest/source map mapping human-readable class names to hashes.
Meanwhile most people who have to use the web as a platform to build things view it as an incredibly painful mash of half implemented ideas and couldn't care less what the founders intended.
Let's stop using divs for presentation whilst we're at it and spend man-years on picking the right semantically named elements with no benefit to anyone anywhere ever.
No ajax or js either, I'm pretty sure they didn't envisage that.
To be honest, yes. The web was designed for hyperlinked documents. 90% of what I use the web for is still following links to pages with text and images. It is an unfortunate historical accident that people are trying to build thick client interactive applications using a technology envisioned and designed for sharing documents.
Just because the client-side application's source code is readable in a text editor it doesn't mean it's easier to skin than a binary blob who's theming support is documented.
Not to mention how your method could break tomorrow without warning because Facebook (or whatever you're skinning) push out an update that's incompatible with the theme you've hacked on to it.
I've tried to run custom stylesheets for some of these sites, to make them more usable and cut the cruft, but the interface elements are such a moving target, and with what appears to be randomized or obfuscated class names and ids, that it's a real PITA to keep working
I bet there's branding and usability reasons for Facebook to avoid allowing you to skin/theme it to the extent Winamp was skinnable. Not sure I know what those are, but I just really doubt they'll ever add that feature.
Facebook is optimized to get you addicted to your feed. Muted blue colors everywhere with contrasting bright "berry red" rewarding notifications. Images that are always more contrasted than the layout, etc.
Anecdotal: I use a custom Facebook skin that makes the whole UI red and add a background image. Since I've started using it, I spend less time on the website. It feels, in a way, more tiring to use the custom theme.
While it worked great for Winamp and a few other apps, the process was a negative for others: MySpace being a big example. People modifying their pages to look like Angelfire/Geocities sites from back in the day killed any interest I had in them.
One big difference is that in MySpace a user could modify how other users viewed their page. With skins a user can modify how they view other users page, but would not modify those other users experience.
What's the issue with people making their own space look like Geocities if it's what makes them happy and is how they want to express themselves.
Would also like to point out that customisation on MySpace is probably responsible for a whole generation of not only developers but non-tech focused people learning how to code. Met a lot of artists and designers who now work on the internet who MySpace was the starting point.
I have no issue with someone doing it, but it doesn't mean I as a user am going to want to continue visiting it. As bland as Facebook is in look (and it could probably do with a less cluttered redesign), it is at least not a jarring experience so I can live with it. And for a site like MySpace to work, it needs traffic.
Not sure on the generation of web developers MySpace created. Pretty sure every single page that looked like this was plastered with logos for theme building sites/companies littered with various neon-on-black comic sans designs as far as the eye can see.