The negative impact of mobile-first web design on desktop
nngroup.com
nngroup.com
Now most of the internet is hinternet, and we're all forced more and more to rely on it. Banking systems, mortgage platforms, car payments, utilities payments are generally designed mobile first, desktop later, they employ various dark techniques for "verifying real user", which break on open platforms, forcing you to access them from iPads and other such locked down devices, or not at all. If hinternet used to be the dark shady streets where hucksters were peddling you knockoff watches, then now hinternet is the dystopian landscape of vertical information integration, ran, behind the scenes, by para-governmental institutions. You can't log in into irs without using id.me, a digital wallet and identity management platform, that sells you things.
There are attempts to cultivate little gardens of sophistication, but they are of mixed success. On a personal level there's a strong disincentive to participate in the hinternet beyond the mandatory, carefully navigating poorly designed and conceived systems just long enough to achieve an objective. One has to login into irs, but one doesn't really need to read that popup and upsell blocked, mobile centric news article.
From this perspective "mobile-first web design" is a symptom removed from its greater context.
Wow, I just assumed it was some kind of auth flow the government runs themselves and never did any research
It's how we ended up in a world where some 70% of all retail transaction is now fundamentally brokered via private institutions using not-real-money (in the sense that credit on a credit card is "numbers the private institution tracks themselves" until the cash clears, and most cards have a loyalty discount program that sums up to the dollars spent on the credit card having different value than bare cash), in spite of the fact that control of and guarantees for the monetary system are something a government should have as a core competency. So on 70% of transactions, Americans get nickel-end-dimed by private institutions for basic commerce (on top of government taxes; the private tax atop the public tax).
Fix that aspect and the situation will improve significantly.
No, no they don't. They would love to build in-house, but are constrained in what salary ranges they can offer.
The other challenge US government faces is that they continuously get their chain yanked by congress. I've read many stories of (corporate) management incompetence over the years, but they mostly pale in relation to the ability of congress to completely change priorities and goals every 6-12 months.
Even the most disfunctional corporation has some kind of force/attraction towards having a product line with an outward semblance of consistency and cohesion.
[1] https://federalnewsnetwork.com/agency-oversight/2022/02/irs-...
The hard-to-use internet of the 90s, centered around IRC and Usenet? The seedy parts of the 90s internet with illegal content hosted on free hosts? Because you say today's internet is like that, and I don't see any comparison at all however I look at it.
How is the 90s Internet (forums, IRC, Viagra spam and goatse) anything like the modern sterilized version full of dark patterns in the hands of a dozen megacorps?
The hinternet was the Viagra spam and goatse part. The modern, sterilized version is exactly that - continuous abuse and exploitation. Just with a fig leaf of legitimacy.
EDIT: perhaps a better distinction would be this: O'Brien's Internet was/is that which comes from focusing on benefit for the user (be it utility or entertainment). The hinternet is that which comes from focusing on making money. Now, focusing on utility does not preclude commerce - in fact, the most basic and honest way of making money is by exchange for something of value. Focus on value provided includes figuring out how to provide it sustainably. In contrast, focusing on making money does, in practice, detract from making things good, as fraud and abuse have much better ROI.
It was a place where the primary early users of the Internet did not frequent, but could be something an ordinary person would be exposed to out of necessity. (Think, maybe some service that lets one send faxes via email; notably you'd need to create an account and spend money.) But, at some point, this reversed, and ordinary use cases dominate - online banking, e-commerce, school - such that even finding the original sort of content that comprised most of the Internet can be very difficult.[2]
As an example, cooking recipe websites in the early Internet contained cooking recipes - no stories, no SEO optimization - and then sometimes at the bottom of the page participated in some sort of link exchange with other recipe websites and perhaps a page hit counter. This was an Internet for the technologist, and one might find their way there from a BBS, IRC, email, word of mouth, or early search engines that naively indexed keywords, or you know, by surfing a webring. These sites seldom existed for any sort of commercial gain and were often a hobby project.
Today you could reasonably expect to find your way to a cooking recipe site via a search engine where each recipe has been SEO optimized with a nonsense story and you might be prompted to log in with Google or create an account to view the actual recipe. The target audience are the people who are the norm and would have been those visiting the hinternet two decades ago, out of necessity [e.g., pay to send a fax via email], but today they are just normal people performing normal activities.
Something like today's network of sites two decades ago would be hinterlands by the blog's definition - not frequented[2]. Today, it is the norm.
1. two competing definitions, circa 2001-03: https://www.oblomovka.com/wp/2003/04/16/hinternet-fallout/
2. it's been decided to call this sort of genuine content "Small Web" https://kagi.com/smallweb
X. the competing definition of hinternet, which I also like (search "hinternet"): http://thegestalt.org/simon/cluetrain.html
There were tons of stores. Usually the more legit ones partnered with yahoo shopping or whatever. I remember buying Pokemon Yellow from a video game store based out of Canada lol. I think it was called dragon.ca? There were TONS of places. Some would take a week to ship but you usually got your stuff. :D
IRC had something for everyone. Those networks had tens of thousands of people online at any given time, talking about everything from tech to trash (literally) lol.
There were also web directories. As I recall, google started off using one of those as a source.
There was also stuff like AOL that had its own little ecosystem of corporate-sponsored stuff.
It absolutely exists for commercial gain. It’s also a lot more useful than what existed 30 years ago.
I wonder what the original blogger really meant by it. The discussion here seems to be focusing on either an axis of academic vs commercial or high culture vs pop culture, or maybe conflating the two. This isn't really about the level of development nor navigability but some other more abstract quality or purpose.
The developed land could hold a grand cathedral, a brutalist housing block, or a luxurious department store. The hinterland could have a frontier mission, a rustic cabin, or a trading post.
So to be honest, I do not understand the common slander and mischaracterization of the utterly vibrant pre-2000s Internet, in all its beauty and awfulness.
Current internet (hinternet?) is like walking through the same town but now there are fences around everything and posts with security cameras at every property boundary. When visiting a property now you are required to show your face and maybe ID, and also have to sign up to get a rewards card. When visiting a property you also have people with clipboards following you around and taking notes which they pass to people with clipboards at other properties.
That wasn't at all the internet I had in the 90s. I know that part of it existed, but there were really great parts, too.
I had a group of 14 year old friends on a public IRC channel, before cat-fishing, bots and nonces became the norm. Met my first (real life) girlfriend there. I learned about the magic world of OSDev browsing webrings. So many personal websites of people talking about their micro OS. Countless forums for all the interests a teenage boy could ever desire.
The internet felt HUGE. No one could possibly see a thousandths of it in their lifetime. And then it started to shrink and shrink...
mIRC made irc easy, jabber was already a thing, you're have a bunch of bookmarks (in non-monetized, non-ad supported online services) to high quality content, you're posting on forums, you get your news from blogs of intelligent people, etc. etc. the internet you're interacting with is great!
alas you have technologically unsophisticated users joining in and what they are experiencing is "hinternet": banners everywhere (we had adblockers), spam all the time (we had spamassassin, and our host Paul graham just invented naive bayesian spam filtering, which at least early on worked spectacularly), phishing and trickery (the computer told me to put my credit card, or similar). it's a miserable broken experience, that potentially results in your information or money being stolen, and all kinds of other indignities.
I'm saying that modern internet is more like a hinternet of old than it is anything else, but we are all forced do t use it.
Using the internet on a phone is a terrible experience. Websites take forever to load, they randomly resize things, they add pointless headers and footers to the limited space, they move the focus around at random etc.
You know how websites sometimes have that button that scrolls you back to the top near the bottom right? Those buttons tell me that the people making the website never use phones themselves. The amount of times I've found that button helpful vs the amount of times that I've hit it by accident while scrolling is so small that the entire thing feels like a cruel joke. Mobile websites are full of these kinds of UI patterns.
HN is actually one of the few nice to use websites on a phone because it doesn't try to do all of these things. On reddit you're better off using the old desktop view than any of the mobile views. Same for websites like YouTube.
Google doesn't even have parity in functionality between the mobile and desktop websites. On desktop you can filter results between arbitrary time stamps. On mobile you can only pick between "past hour, past 24 hours, past week, past month or past 12 months".
There are a million small things like that that are wrong with mobile websites. They ruin the experience.
I alway get voted down when I use words like “phonish” or “phonishness” but I feel that smartphones made life worse not better and made people serve computers than the other way around. Here’s to the next platform.
On one side we have the cultured elites of academia, the military and government - as rightful founders.
On the other, the unwashed masses, immigrants of the Eternal September. Eventually this hoi polloi of hucksters, chancers and grifters became naturalised as the businesses and bankers in the new world.
The dotcom era is a colonisation story and the elites are the aboriginal natives driven off their own land. It sure fits a "woke" narrative.
But what's missing from this fairy-tale is the actual real people.
The truth is, dotcom, Web2.0 and the empire building between 1997 and about 2010 was still a marginal affair, where existing money and power moved into the internet, along with a handful of rugged "entrepreneurs" (as we like to call ourselves around here).
The 99% remained spectators caught between the Scylla and Charibdes, and now they are corralled into ranches, all lovingly watched over...
The potential for a "people's internet" still remains, but we have not solved many (indeed any) of the classical problems of freeloaders, tragedy of the commons.... and at this point I think "Web 3.0 and blockchain web" is dead (?)
A good start to moving things forward to an internet that is once again public, high-quality and large might be looking more closely at the history/narrative of the internet and who the real stakeholders are.
That is all that they want. Along with some decent ecommerce for shopping and safe, easy to use mobile banking.
There's nothing magical about it, and there never will be. They don't want fluffy magical bullshit. They already have most of what they want and there's nothing grandiose about it, it's overwhelmingly just quasi-boring pedestrian entertainment and amusement to pass the time. That's what they wanted before the Internet, and it's what they naturally want with the Internet. It's because they're tired from their days, their 307 serious life problems (health, mortgage, bills, stress, job), and their exhausting children (that they love dearly of course).
No no no, the peoples Internet must be a vision of splendor! The masses want to spend all day creating extraordinary art, and thinking deeply about complex subjects they just educated themselves on! That's not reality, and it's not what the masses want at all. Not even remotely close.
They want a garbage pile of chaos like Reddit. Where they can insult people without getting punched in the face, and they can learn some tips about wood working other there, and they can look at photos of modded cars over in another sub, and they can go back to insulting someone over in another sub, and then they can watch a stream of rockets being fired at/from Gaza in another thread.
The peoples Internet is already here.
But you can probably tell I once worked for the BBC. And what might look like elitism (of the kind I wouldn't apologise for) is really hope for wider humanity in spite of the Rupert Murdock effect, in spite of a concerted 50 year assault on education, and in spite of the misappropriation of the internet as a giant firehose for diarrhoea. The West's self-devouring and terminal-stage enshitification is quite the spectacle.
So when we look at "the people" and say this or that is "what they want", something recoils inside me. Do we know that? A perpetual cycle where people know what they like and they like what they know is not a stasis or fact of the world but a precarious place of comfortable mediocrity we've come to be. A local minima. There are other places. Cultures have flourished. And sometimes they wane.
The Internet (big I) was more than just a lot of wires, it was an idea. Maybe some fragments of that idea are still alive, I don't know.
The famous (controversial) Indian teacher Osho had a saying on this: "Democracy. Government of the people, by the people, for the people...but the people are retarded."
Democracy is nuanced, much like reality, and this bothers people.
I used to think this way also but in recent times I have become less sure. Maybe the easiest way to explain my thinking is to recall that line from the movie Men in Black: "A person is smart. People are dumb, panicky animals, and you know it."
Obviously the truth is way more complex than that but I really do doubt the wisdom of the crowds.
A different example might the guys who wrote up the Constitution of the United States. More people were illiterate than literate back in those days. The founders were a small elite, but they created a framework that has served millions of people for a few hundred years.
In any case, yes, democracy is nuanced. It is the best system despite its flaws. And to be frank, the real issue with democracy is that it's run by people...and hardly any of us walk on water. :)
The problem is, you have to reach relevant subgroups to access that wisdom - otherwise, when you're just polling the entire population on a specific topic, well... few subgroups are experts, but everyone has an opinion, so it averages down to "dumb, panicky animals".
Democracy is about accepting the fact that people know their own needs better than everyone else does, and that they should be free to express those needs, and to elect representatives that will fight for those needs. Even when we are talking about an illiterate population.
Personally, given recent times, I think the political axis is bullshit, because the real divide, that's driving polarisation, is between liberalism and autocracy. The allure of autocracy is getting stronger, many feel the need for someone wise to force the plebs into doing things "for their own good". Just one example — vaccination certificates, which in my country did not work, and effectively discriminated against the poor.
I don't know much about the history of US's founding, but until a document becomes culture, it's just a piece of paper to wipe your ass with ;-)
I see you're an optimist. I believe things can - and will - get worse for a looong time.
Yup, it was a series of tubes :)
-- https://en.wikipedia.org/wiki/Capitalization_of_Internet
The Internet is the biggest internet, the biggest connected component in the graph of computer nodes.
The people want the internet in the "next fix" sense. But I'd argue that the increase in mental illness globally the last ~15 years (starting a couple of years after the introduction of the iPhone) or even just the recent popularity of "digital detoxes" implies that there is a collective higher order want for a better internet.
The "hoi polloi" aren't born with fully fleshed out idea of "what they really want". Nor do they have much ability to communicate their wants to the market directly. Rather, their wants are in large part created by marketers, and the only signal they can send to the market (via "voting with your wallet") is their relative preferences for options available on the market. That is, they only get to choose from what's available. And what's available is under control of the vendors.
The way this relates to your "lower/higher order wants" is that my actions can actually communicate either of them. Where I spend my attention, or my money, can be driven directly by a high-order want - but I'm still limited to expressing that need only by choosing from a very limited set of actions or products that are available, and then my choice is also heavily biased by sales tricks and manipulative advertising strategies.
In short: I claim that the market is currently robbing all consumers of agency - "hoi polloi" and ${whatever the complement to that is called} alike. This is especially pronounced in tech industry, as commercial software resist commoditization - most apps and services are sticky and not interchangeable, so the UX decisions aren't being strongly influenced by competitive pressure. The vendors have an actual choice of how useful or how abusive they want to be. And they should get the blame when they choose the latter.
I see a three stage change, from the pre-Bernays world of informational advertising and functional markets, to the post-Bernays world of contrived demand driven by psychological advertising, to what we have now.
Now we have policy driven economics in which technological goods are foisted upon the population and a post-hoc rationale of why they are necessary is relentlessly pushed as an explanatory narrative.
We're approaching the point where the "very limited set of actions or products " is so dominant that the only choice looks like abstinence; the "Luddite's" choice to not be abused.
Isn't that the dream of good technology and good internet?
People want the "next fix" internet because that's all they know. People would likely prefer a different internet if they ever had the chance to experience it.
There are plenty normal, highly functional heroin users whom we don't know about because they hide this (since it's prosecuted). The poster examples of abuse are not them however, which helps justify prosecution. On the other hand there are people with mental issues who will get addicted to anything, if not heroin then weed, if not weed then gambling, if not gambling then social media, etc etc. Maybe "dehumanizing" is trying to ban every potential vice rather than fixing the issues that lead to misuse. The cause vs. the symptom.
But beware, once you accept its premise one must concede by the same token, those who prey upon the vulnerable in society, whether they are heroin farmers and dealers, or addictive app developers, are cut from the same moral cloth. The "legality" or "illegality" of the end product is immaterial, only the social effects.
Those are the things that have literally no value me. You'd think the internet would be large enough to address pretty much everybody's needs, including mine, but it's getting pretty clear that it's not.
Now, given the near-zero up-front costs to making software, there should still be enough room for all the niche needs, but the annoying thing is, the computing ecosystem itself - the hardware, the software platforms (OS, browsers) and even the tools used to make them - it's all being optimized for the mass market / lowest common denominator. As silly as it is, professionals can't get good tools, because the tooling is caught in the gravity well of more generic, mass market products.
The part that really gets me is how this starts making effective use of computers ("bicycle for the mind" stuff) impossible. My go-to example: it doesn't matter if you figure out how to make fully open source & open hardware smartphones for nerds. Even if you make them competitive on price and power with mass-market products. It doesn't matter that you somehow hired John Ousterhout and Edward Tufte to make the maximally ergonomic and functional apps for the platform. I'm still going to buy a regular locked down smartphone, because I need one to be able to use my bank account, and my bank - like all other banks - demand you use a locked-down device from a major vendor, with full device attestation ("because security").
The freedom of computing stops at the network.
This also happened in hardware.
Back in the day we could design wide range devices using quite widely available "mil-spec" semiconductors and components - a common difference was in logic circuits where you had 74-series in consumer and commercial (0 °C to 70 °C and −40 ° to 85 °C temperature ranges) and milspec 54-series that would suffer −55 °C to 125 °C.
Following something in the 90s called the Perry initiative IIRC, the rules changed to test-based performance that enhanced "market supply" rather than prescribed manufacturing methods, so after STD-883 almost all wide range components disappeared.
Sure if you're NASA or the US DoD you can get stuff made, but increasingly everyone has to source from the same few commercial suppliers. The upshot is that if you're organising an Antarctic survey, or going into the desert it's almost impossible to kit our with modern gear that won't fail. You're stuck trawling eBay for some 1980s Soviet stuff.
It'd be great if everyone started making their own Neocities site. Or even just drop contemporary social media and join the new Friendster (https://news.ycombinator.com/item?id=38021802) or Spacehey. But the cultural impetus just isn't there.
If I have a bias about audience size, it tends to be toward "smaller is better".
Let the "people" have their mobile apps. Keep computing hardcore!
And the "elites" are the ones who created the toxicity of web and gaming culture and made bank on all of those pedestrian forms of entertainment... which they themselves also consume.
Welcome to Hacker News. You're being weirdly hostile and pedantic about a reply that wasn't even to you. Please touch grass or whatever it is the kids say these days..
Dialectical virtualism?
The market has spoken, and the market prefers locked-down platforms and subscriptions.
I'll say in the same spirit that Margaret Thatcher said "there's no such thing as society" [0] that;
There's no such thing as markets.
[0] Please read the full quote (and for extra fun replace the word society with markets). Thatcher was saying something far more subtle than the sociopathy she is credited for. Markets have just replaced "society" as the ideological symbol of those who need something to get on their knees before, or blame.
https://www.thedailybeast.com/context-for-margaret-thatchers...
The people, voting with their dollars, have decided that they simply don’t care about privacy, libre software, etc as much as we wish they would.
"Markets" are like Father Christmas and "The Tooth Fairy"; a comforting one-dimensional idea that ought to serve us for a while, and then be discarded for a more mature perspective on the world. We must all try harder to find words that puncture the suffocating veil of "economic realism" that seems to hold back so much thinking.
but to your "people's internet" point, the real communism has clearly never been tried! it's not the people that want TikTok, it's the power structure. left to their own devices they built cathedrals!
Where it landed (perhaps thanks to TeMPOraL) was actually quite exciting in my opinion, that, in the words of The Jam:
"the public wants what the public gets."
That's something different from the tired old "internet ain't what it
used to be!" trope. Isn't it? : That the entire "market theory" of the
internet (and maybe technology in general) is mostly myth.> real communism has clearly never been tried!
Not sure I follow how a vibrant, diverse, bottom-up, self-governed Internet would be akin to "communism", but then you've got your own windmills to tilt at too.
"real communism has clearly never been tried" is a set expression, from the internet. it's a variation on doing the same thing, but expecting different results, with a touch of ideological stubbornness, "this time around if we let people choose, they'll choose a very different internet, from the one they chose before, i'm sure of it, because I believe in people". of course the reason I choose this particular set expression, rather than some other one is to play off your comedic choice of terminology "people's internet". they have "people's internet" in "people's republic of china". you know? I'm not saying communism bad, it's a funny phrase. jeez, you brits used to be keen on subtle humor.
> a chat gpt could write the rest of the thread.
That's a low opinion of our fellows. Be careful what you wish for. In a few years a forum like this might be untenable for that reason. What keeps it going is precisely the "faith in people" you seem at odds with. Let's not assume it's ideological stubbornness to imagine things could have been different or that they could be different in the future.
> subtle humour
Now I really sympathise. I'm frequently at the sharp end of trying that, and you must know it almost never translates in this forum. Mainly because there is so much sarcasm and double-think that nobody (even the authors) are unsure whether they are making one point, or its opposite.
Respects.
Who exactly is this prerogative "freeloader" you throw around so casually? Is there some service or good denied others involved?
Spammers would be a good example. They freeload on the mail routing network. Their actions deny service, as bandwidth, storage and wasted time to millions of ordinary users.
Mastodon comes to mind, whose openness allows me to browse it from emacs with mastodon.el.
Removing full or even useful content from both RSS and notification emails comes to mind as well.
Why does HN have to turn literally everything into an opportunity to bash Apple?
Apparently most of HN is not aware that multiple Android manufacturers implemented hardware destruction features when a device detects it has been rooted? That Google sold devices which were nearly impossible to root, jailbreak, or install another OS on, to protect the interests of a carrier (Verizon)?
dearest Kenneth, I did not mean to single out apple or iPads. it's just that in my circle nobody uses androids (and my circle is predominantly non-tech!). I've not even seen an android in a very long time. I've spent some time trying to "libre-ify" chrome books, and discovered, like you said, that the devices are heavily locked down, with multiple tiers of mystery chips (for your protection!) ensuring that you can never really de-google them. but when I think "locked down consumer device for checking your mortgage account" I think "iPad", because that's all and exclusively what I ever see.
(It was both strangely broken in my WP database, and also I think my website was down when OP write this. Sorry!)
Kudos to all front-end devs out there!
Of course many FE engineers have the chops to solve for these things, as well as PMs and designers with technical background, deep domain expertise, and other qualifications that can make up for these gaps. I came up professionally in the early web days and building startups where it was normal to wear many hats, so it's more about skillsets than rigid titles and role definitions. I've just seen a very common gap that a lot of ostensibly professional proddev folks, even at top companies, have borderline magical thinking about the deeper layers of the product stack.
Strangely, even though I’ve been doing this for twenty five years and I’ve never been better at it, in today’s bullshit interviewing environment, I can’t get a job because I can’t solve algorithms or do system designs in forty five minutes. And so I’m sitting on the sidelines right now. It’s the most bizarre experience of my career.
I’ve created projects that are used by the entire business and customer facing part of the company, which are so rock solid and user-friendly that the users and even developers who’ve come after me completely takes the functionality for granted.
One feature in particular, I came up with a lot of the UI myself, even while working with a designer. I made the backend work. I spent a lot of effort making it just feel good. It went out, I got congratulations, it was great. Now, 3 years later, it still works with minimal maintenance. Entire processes of the business have been built on top of that functionality. Everyone completely takes for granted that this highly complex system has worked with nearly zero issues for years, and allowed a ton of new features using it as a base.
And honestly building something complex that works so well that everyone takes it for granted is an amazing feeling.
I’m just extremely lucky to have management that recognizes it and has seen the value in that contribution. But I don’t know how I’d ever sell this to another company if I were to look for another job in the future.
While I don't do frontend work, I still push UX and management to minimize the surface area and complexity of the frontend. Keep to simple html elements, flowing top to bottom with minimal css, etc.
1. I'm the only FE dev, with a strict separation between BE and FE work (and a BE team that's happy with this arrangement).
2. I'm given the keys to the castles in terms of technology and architecture for the FE.
This lets me maximize time spent understanding our product, our users, and iterating with PM/Design.
Front end is how I got started programming, both as a hobby and professionally. It has a certain tangible quality to it that makes it both approachable and satisfying, but that often gets misconstrued as "easy". It's not easy!
I spent several years doing mostly-FE work and all the bikeshedding and meddling and "just make it do X why is it so hard?" burned that appreciation right out of me. It's also the first thing to get blamed for every bug and error, because it's what you see and interact with, which is just exhausting.
I took the technical skills I learned and transitioned to mostly backend where there's more "trust" (i.e., I don't understand what you do so I'll just let you do it) and autonomy. A small part of me misses the visually demonstrable part of front end, but the work culture around it I don't miss one iota.
But it’s so important for SaaS type companies to do this correctly, I felt like I was treading water and stagnant with "backend code" that was mostly just piping the db data to the UI.
Having done all three, I have a mental model with two axes: appreciation and meddling. It might be appropriate to sketch it here.
With design, the result of your work ends up being visual, so you get a lot of appreciation for it. Maybe too much, sometimes. On the other hand, everyone has an opinion about how you could do your job better, and they're happy to stick their fingers into your work (because it's so easy, you know?).
With back-end development, nobody is going to meddle in your work except other engineers: by meddle, I mean step in and tell you how to do it better. That's because they don't know what you do at all. The other side of that opaqueness, though, is that you rarely get credit for good work. Stuff just works the way it should.
Front-end development is in between the two. People will give you credit when things work the way they should, and when they look nice, and so on. But, half the time when an application is "snappy" and performant, they'll credit the designer for it (ha ha). At the same time, they'll also tell you how things "should" work, based on how other applications do it. Meanwhile, you're stuck between what the designer approved, and what the back-end supports, and you're just doing your best to make it all work.
Couple that with the fact that the whole front-end world has gone completely bonkers, reinventing the wheel so many times in the last 10 years I'm surprised my head hasn't separated from my body.
It's funny that things have come full-circle these days, going back to server-rendered views. My career literally witnessed the entire move from HTML -> SPA -> HTML again. It only took roughly 16 years.
I learned how hard frontend is when developing a browser-based game.
The backend code was simple and easy to test with unit tests.
Frontend though is a slog to write, and even greater slog to test.
I wonder how much better frontend would be if JavaScript wasn't the chosen language. It's just such a bad language in so many ways.
Imagine a system processing billions of records per day/week/month, dealing with data caching, data warehousing, providing realtime notifications to users and external systems, managing queue workloads, handling inbound requests from various APIs, syncing data between backend systems, running multiple data stores and scaling across multiple regions, redundancy, and handling incidents that arise on the backend. This is typical for complex web software.
A frontend system that provides the interface to that backend system will usually not have issues arise in the middle of the night due to the automated processes happening on the backend, will not have to worry about how many users are using the system nor how much underlying data there is.
No matter how difficult it is to do the initial development of the frontend (or to keep that code updated when browsers change), at the end of the day once the development is done it's static code interfacing with a much more complex underlying system that requires constant attention as underlying data and business requirements evolve.
Last place I worked that struggled with "scale" tried All The Things except one: simplification. It was like being a little kid in a royal court filled with naked people complimenting each other's fashion choices.
I’m grateful to those who have the patience and skill for it.
This led to an app that could fit like 4 table rows on a standard 1080p display, and every row of that table had very little actual info
On top of that, for some ungodly reason text size was defined by view width, and on some of the old 4:3 displays that were there, it was damn near unusable
Has flex+grid eased the situation somewhat? With media + container queries?
If not, why not? Are these models too complex or the browsers still are buggy/inconsistent in their implementation of these layout algorithms?
To me, the trick to using flexbox effectively is to use it to create fully reactive layouts the way that Gtk or Qt would design them. I create flexbox interfaces in terms of "VBox" and "HBox" containers, I use flex-grow to handle the concept of "box packing."
Once I started seeing it through this lens, and when CSS finally added calc() and other functions writing good and consistent frontend UIs that mimic precisely how almost all other desktop software behaves became incredibly simple.
The only real complaint I have is that after I have a finished product, going back and making changes is harder than what other techniques might afford, thankfully HTML added <template> and by incorporating that liberally into my designs I've regained some of the original careless flexibility I had before it.
> being able to write complex UIs that can work on any browser, any device, with all assistive technologies, and all languages, is extremely hard
Why do we keep doing this? If you get rid of the animations, popups, and invasive ads, then with what's left you can probably do away with all of this crap.
And this is just for working in the browser. Once you your product is big enough you just know there will be requests for a native app on mobile. Oh but also the mobile version of the website needs to keep working. So now you're adding in requirements of learning Swift, Java, and the platform specific UI frameworks/SDKs.
Tell me about it. I've been struggling for years to get our designers to think of their designs as more than pixels on a screen. I'm really tired of having to be the accessibility police, or explain that small viewports and mobile devices aren't synonymous for the nth time.
Back in the day, Mitch Kapor (Lotus 1-2-3) was widely panned for claiming design is a skill set separate from programming, and should be valued equally.
Not much has changed since.
> frontend is probably the hardest part of the stack
Again, this has always been true. Especially in terms of fit & finish. It's really no comparison. And it gets harder over time.
The real bummer with UI work is when you nail it, almost no one will notice.
I can't imagine you are talking about the same thing here. (Or if you are, then you are making OP's point.)
Zoom in on the [Touché!] button and there are artifacts between the rows that make up the corners.
[1] iPhone OS 16_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1But it's worth being clear that mixing such thing with flowing text and graphic is where things get hard. Html 1 had flowing text in the 90s and you can still do that.
Moreover, all this is related to overall user hostile designs. Organizations broadly don't want their pages to be neutral streams of information but want to control a user experience that nudges people this way and that and fixed are important to that.
It's not just a technical problem, but the social problem of how you get people to keep using that API, and not extending it, and not breaking it in favor of some different purpose (like ads)
Whatever API for web data you propose, I can tell you exactly what will happen to it:
1) Initial clients are geek-designed and geek-friendly, and render the data intelligently.
2) This API gets popular for not having all the cruft.
3) Some genius discovers they could add some cutesy visuals and effects if only the standard were extended, and targets the clients that handle these extensions.
4) Eventually, only those clients are cared about, and you can only make sense of the data with those clients and if you don't have disabilities.
If you want to make progress, figure out how to eliminate that dynamic.
Earlier threads on this point:
You get the same with some native UI designers. They kick and scream until you've got some custom widget that precisely apes the Photoshop layer effects. Then kick and scream again when they make changes that take non-zero time to rebuild with that custom widget.
Here you go:
main { display: flex; flex-direction: row; flex-wrap: wrap; }
..and set reasonable width/margin constraints on your primary content blocks.
Linear, scrollable flow on small/vertical displays, and a denser "grid" on large/horizontal displays.
It's literally 120 characters to make a website that flows on any (reasonable) screensize and adapts perfectly.
Modern webdev is just throwing frameworks at self-caused problems.
(I'm exagerrating of course. But most websites are just about showing text, maybe with some images every now and then (news sites, reddit, hackernews, google, come to mind). For those websites this is certainly true).
No it doesn't. It's this pointlessly narrow column in the middle of my screen surrounded by arces of whitespace. If I wanted narrow text I'd make my browser narrow. Looks like the result of some designer fucking around.
The job of a UX designer on the web is to consider this kind of stuff and to build a design that's very reactive to evolving displays within the demographics and market segments that the client wants to support. If that's not happening, if the CSS people are just getting handed static designs and being told to figure it out -- the problem is not CSS or the developers, it's that the designers building those designs are not good at their jobs. And there are ways to make this easier: notably UX designers involving the CSS department in the design phase, and/or making a point to always lay out the contents of the page without styling in a hierarchical way before making decisions about how to present that content.
But a lot of programming is hard. It's hard for me to write maintainable Javascript that doesn't fall apart if a project goes over 100,000 lines of code. It's hard to document methods. It's hard for me to write code that does complicated things that can work on low-end machines. These are skills that programmers get better at over time with practice. Responsive design is the same; it's just another skill to learn.
Imagine trying to shoot a movie and having the cinematographer tell you that it's hard to frame everyone in the shot since they don't know exactly where the viewer will be looking, or the sound mixer telling you it's hard to balance dialog and sound effects so everyone is audible without it being noticeable that they're muting background audio. Or a recorder telling you that it's hard to master a pop song given that everyone has different speakers and sound profiles on their headphones. Imagine you're building a car and the designer tells you that it's hard to make sure the controls can be reached by people who are different heights and weights.
On one hand, yes it is; all of that stuff is very hard. On the other hand, yes, that is also the reason web UX designers and developers get paid money; because the job is hard and requires training and expertise, and designing a website interface requires more thought and intentionality and planning than is required to make a PDF.
I often get "print first" page layouts, created from dynamic data that can have varying amounts of content. These pages also have to work in mobile and desktop browsers and look good on all of them. I don't find it to be that difficult. Sure it takes a little longer, but it's what the job requires. Media queries make it all possible, as well as a little bit of javascript.
I get why they are used on mobile. If you only have room for content, it makes sense to tuck actions away into a hamburger menu except for a small number that you assign to tiny little hieroglyphs. Fine. However, if you have space, this is a terrible way to use it. At best it adds steps, at worst it invites experimentation and disaster to figure out what the heiroglyphs do (which wouldn't be so bad if undo worked but we've apparently decided undo is fine to break too). Like the Apple HIGs used to say, on Desktop you should want to get the most common actions out of menus and onto labeled buttons so that users can answer "what can I do?" without playing hide and seek. Undo should be baked in from the very start (it's hard to retrofit) to reduce the consequences of experimentation.
Unfortunately mobile design has taken over so completely that even on apps which will be used almost entirely on desktop, even on apps with an internal advocate for Desktop design, UI designers go for the hamburgers and heiroglyphs and broken undo because it's standard these days. Sigh.
Oh, and modals are back with a vengeance, but I need to stop here or my blood pressure is going to get unhealthy.
Hamburger menus could also frequently be done away with when you look at how many options they have. Like Gmail's app has them when it could fit the icons across the screen as a bar. And it's hard to argue that real estate was important since they put in a bottom bar for chat, video, and spaces whatever that is.
Just cracked open Gmail to check this. In the hamburger side menu, there's 18 items not even counting labels. No shot you fit this across the screen as a bar.
Then there's another menu below that with 8 items, 4 of which also already have UI elements. Give the other 4 icons. There's plenty of space on the show pictures line.
You need a menu for label filtering since the user can create many, but let's look at settings. There's a mostly blank screen with a ... menu with 2 options (why is it sometimes hamburger and sometimes ...?): manage accounts and help. Just put them on the screen. Now look at general settings. Enough stuff that I have to scroll, but for some reason 4 of them are in a ... menu. Two are the same as the last screen, with clear search and clear picture approvals added. Now go back to settings. Suddenly settings has all 4 options in the ... menu! The hidden options on the same screen are different depending on where you were before, when they could all just fit on the screen.
In general, scrolling is much faster than clicking on an icon. Lots of web UIs (e.g. navigation menus) could benefit from just putting the links at the bottom.
screen resolution vs browser resolution
the most common mobile browser resolution is 800x360
also, 5 years is not that old
Really? You're saying most people are using their mobile phone in landscape mode?
your highlighting of the confusion only adds to the confusion
congrats
The more text you have, the more difficult it is to ensure a usable UI on small screens, let alone a good one. Don't be upset about the use of symbols instead of text, but about the use of bad symbols. Nobody needs the "play" button on a video widget to say "play" - they know what the right-facing triangle means. (Ironic because I don't know if it makes geometric sense to even say the triangle has a facing, but as a symbol it's well understood.)
Put the text below the icon in whatever size you can. It's a strict improvement in usability.
It's one of the reasons I prefer how Vim and VS Code look over Intellij and Visual Studio standard. Let me better see what I'm focusing on without distractions (the content) instead of shoving a gazillion buttons on your UI in the default view.
Edit: I was too harsh about Intellij I think. The old UI I was thinking of doesn't look bad in my opinion, but I still think I would have enjoyed my experience with Visual Studio more if it had a stronger focus on content (the code) visually.
On the other hand, hamburger menus typically have a lot more entries than this, enough that a horizontal menu wouldn't look good even on desktop.
I’m a big fan of collapsible table of contents. That design paradigm allows for the higher level to use a word to indicate what it contains and then can open up to a list. But it does really depend on the type of information conveyed. I can currently get away with always avoiding hamburger menus but that might be tougher for something like a banking app to avoid.
Hieroglyphs sums it up so nicely. Lol. I'll also add hidden, context sensitive options to that list. I like having options that are disabled (aka greyed out) if they're unusable because at least I can see there's a possibility to do something if I get conditions right. Instead, modern designs will hide those options and, if you don't know the magic conditions needed to expose them, you'll never see them.
An example of this is Ubiquiti with their Unifi stuff. If you go to manage switch ports, the page they give for that doesn't have an option to "Select All" ports. You need to select at least one port first, and then the "Select All" option magically appears. So not only is it hidden, it gets the context wrong. Think of having it as a disabled checkbox. Everyone would immediately realize the context is wrong because having the "Select All" checkbox disabled when no ports are selected would be obviously dumb.
They explicitly studied ecommerce/product pages here. The relevant metrics are which page had a higher perceived product value? Which page had a higher conversion ratio? Which page resulted in a higher NPS? Which page created a more positive brand affinity?
You don't sell portable speakers using specs, you sell it with aspirational images of it being used on a beach. Of course expanding an accordion of product details then asking "On a scale from 1-7, How well do you feel you understood the offering communicated on the page?" results in a higher survey score. If you said the more dense page converted better, then I would be surprised.
It's like designing a study on the negative impact of hard F1 race car seats, adding a bunch of foam, testing which is more comfortable, then proclaiming one is better than the other because it was rated more comfortable, when the only metric they were designed for is lap time.
They compared the information density of, what is essentially a marketing flyer or a billboard and then stated that it doesn’t convey everything: well that’s the point, an ad is meant to invoke the desire for a product in its viewer, instead of being a spec sheet.
Actually websites looked like that in the late 2000's, before responsive design became ubiquitous.
e.g. Apple https://www.versionmuseum.com/history-of/apple-website
I guess that works for some audiences. For me, this can be a strong signal of low quality bs.
I even had juniors maximizing terminals.
"We suffered for years waiting to get true multitasking and this newb doesn't even use it!" ;-)
The design developed at Xerox Parc.
Guess I must be a junior then.
Stop judging other people's personal preferences. It's their computer and whatever works for them is a good solution.
For me it is much better than multiple terminal windows...
Some websites are better maximized too, like maps for example.
I switched to a 52" TV ~2 years ago. It's the first time I found I didn't like maximized windows.
Personally, I find the way windows overlap distracting. It's labor to organize windows.
E.g.:
What's worse, formerly normal websites start degrading. Typically, when a new manager is hired and decides to "reimagine" the product with the "mobile-first" vision. The recent Patreon is a good example.
And of course, in some cases normal websites go away entirely, and are replaced with crapps: Venmo, Amazon Alexa, Chamberlain, etc.
It's such a useful piece of the UX to have thrown away in the move to mobile first.
Other than that I probably fall in the "it's not that hard" camp. Of all the problems you have to solve, getting it to look reasonable on a few different screen sizes is pretty far down the list in terms of time and complexity.
Actual hover detection would be possible, but I imagine that UX would suck unless you were using a stylus.
High content density works for desktop applications, but not for what’s basically a brochure website.
Yes, given two alternatives, one should prefer the one that is more credible in light of the available information. That certainly doesn't mean that the more credible of the two is incontrovertible, but it does take more than armchair skepticism to controvert it.
Skepticism is about paying attention to all of the evidence that has been presented. Coming up with cute phrases to justify offhandedly dismissing information that you don't like falls more into the realm of pseudoskepticism.
The true stamp of proof in science was always intended to be replicability, but that is extremely rare to find.
Scrolling is such a natural behavior for internet natives. Being able to leverage a large screen to visually compare things has its place, but the article uses a horrible example:
> Our condensed product page prototype took the same information from the original dispersed page and arranged it in a 2x2 grid that allowed users to compare multiple services simultaneously, without having to remember the details of each service.
What's to compare? They're disparate services.
I do like the example of the product specifications. But that was more of an objective usability issue: requiring more clicks for more information.
My jaw dropped at the participant who apparently saw the hero section of one of the pages, and thought that was the whole site. I get that scroll bars are invisible these days so you can't immediately see the page height, but not even trying to scroll anyway is wild to me.
But tons of users are not "internet natives".
Scrollbars can show up at weird places and not do anything at all due to UI issues, and they’re not that visible anyway in proportion to the page contents, even if we are to assume Windows 95 style scroll bars. Therefore the only indication of whether a piece of content is scrollable is its layout, and a hero taking up the entire viewport height is next to impossible to understand.
This is the reason many such pages have a “Learn more” page whose only function is to scroll the page down by one viewport height, or less commonly a pulsating arrow at the bottom that tells the user the content is scrollable.
But yes, I agree with you it's undoubtedly common (enough). I was just pointing out the difference with "internet natives".
It was a real pain to enter past employer and residence names and addresses on a mobile keyboard, but even worse when it came to dates, because the date picker would only scroll a month at a time, starting from the current month and year. To enter my birthdate, I had to tap ~550 times.
(I was kinda tempted to file an EEOC claim, since the broken date entry has a disproportionate impact on older workers, a protected class. But that's not a great way to introduce yourself to a new employer's HR department.)
They might pass though if they can't get the site to work well on their phone.
I refuse to go to restaurants that have QR-code menus that download a PDF with unusably small entries.
Unless you HAVE to use something, you can still vote with your wallet. Herman Miller is not the only furniture company in existence.
I either go on the restaurant's website directly to find the menu or ask for a physical menu. I've never been tripped up by that. I understand I'm still rewarding the owner for their bad choice, but I'm not going to force my friends and family to get up and leave a restaurant we all wanted to try out because of it.
It gets worse. I've been to a restaurant in Silicon Valley where not only were the menus reached through a QR code, the linked page was not the menu. It was the onboarding funnel to get customers to sign up for a food-delivery service. You had to sign up to get menu access. Then you could order online. Dine-in was just ordering food delivered with a really short delivery trip.
Here in Seattle we have a few restaurants that use a similar model, you scan a QR code and order food online, only it's "delivered" to your table. But they don't need any account information from you, so it's pretty convenient.
Oh yes, about half of the time when a restaurant requires me to scan their QR Code to read their online menu, it's a 20 MB PDF - not a responsive web page. And the PDF usually has multiple columns of text, which means I need to zoom and horizontally scroll (generally a big no-no in web design). I'm a technologist at heart and I find this implementation so needlessly bad, and an extremely poor use of technology. I would prefer a no-bullshit paper menu instead.
In fact, this happened last week--I was trying to purchase a plane ticket and the animations were so excessive and poorly done that it obscurbed a form field that made it impossible to book the ticket. I bounced and booked a ticket from a competing airline.
Industry got obsessed with JS frameworks made for giganto-orgs as a “solution” for everything.
Eyes became fixated on the claustrophobic mobile-first screens.
Went back to doing primarily graphic design. Less money, much happier.
This article has completely misunderstand the term, mobile first it's the technical way of organizing the CSS to render the mobile viewport first and then the rest of the 'breakpoints'.
Mobile-first design has the advantage, over the desktop-first design, that it directly render first the mobile design and the cellphone experience is much faster and with less rearragning flickering.
Mobile-first doesn't have the corresponding disadvantages at the desktop browser since they tend to have a land line internet and much faster cpu and memory.
It has finally been told! I was crying and talking about making the return of information rich websites, but people were just following trends blindly :(
It's like: our visitor can't just see our half page table with tech spec to know everything, he should go trough 20 images on 2 long pages and during that we will show him all our 'important' messages that he won't be interested otherwise.
What I mean is that quite a lot of these examples and others people frequently cite when complaining about “mobile first” are not inherent to “mobile first” per se. To my mind, they’re an incomplete application of the principle. And the principle became prominent when the inverse problem was more universal: designs (or simply their implementation) targeted desktop first, and added mobile affordances as an afterthought.
“Mobile first” shouldn’t mean that other web experiences aren’t just as important a consideration. Philosophically, it comes from the perspective that a broadly usable and accessible web experience accounts for the most stringent constraints and works out from there.
I distinctly recall solving problems like those discussed in the article well over a decade ago. It was a lot of work. It requires a lot of care and attention to detail. That doesn’t excuse skipping any of it! And it really should be more achievable as the standards have evolved. But it does require dedication to addressing a large matrix of users’ needs and usage conditions.
I've decided, whenever anyone weighs in on information/interaction design, and says "consume...content", what they are saying is, "Hey, we've been stabbing everyone in the face all wrong, here's a better way to stab everyone in the face."
Maybe I'm getting really old and just like to complain about this because I'm not very much used to this phone-oriented UIs.
I hate it lol
I figure their website is so bare bones because it reflects their low cost ETFs. They'd rather have a crappy website and cheap ETF's than a fancy website with slightly higher cost ETFs.
"Minimalist design" and it still takes multiple megabytes of bandwidth to show a pretty nothing.
I'm using Reader Mode or an equivalent whenever I can. If a site cannot be dealt with using RM, I mostly go elsewhere.
Now get off my lawn, kids.
Not an expert in this space but intuitively it feels that what is missing in a widely adopted heuristic of how to "best", or at least, "least-bad" map the information and interactivity components of a given UI to different screen geometries.
It feels like a hard problem to crack: in some cases there might not be a good solution at all. So the heuristic should be able to say "no, what you are trying to do does not match any known Homo Sapiens sensory configurations".
Think e.g. how you would map a large and busy DAW screen [1] with hundreds of dials on a small mobile. You'd probably have to rethink the entire workflow, segment into small chunks, smoothly switch screens while providing summaries and connecting elements etc.
[1] https://soundcamp.org/music-and-sound-production-blog/best-f...
Not that I agree or disagree with the proposition, just not enough information to form opinion.
It is possible to ensure that a div or image doesn't stretch too much on desktop by setting the right max-width. It is possible to ensure that a tabular div doesn't overflow on mobile by setting the right width in a responsive @media query.
The problem is that mobile-first has become mobile-only, assuming that 80% will come from those devices and the others will figure out a way to cope with the eyesore. Real responsive design and craft of width is still possible (now like in 2010), but it takes time and testing - resources that companies are more than willing to save, since everybody in tech seems bent on pushing half-baked MVPs nowadays and call them products.
Yeah, obviously. More so if you use a generic image like Waze. It's not a usability problem, it's a quality problem. Apple does just fine with full width desktop heroes because they include relevant images.
I paused writing this comment/rant to do a quick search about it and found that someone had already done what I intended to do - write an extension/addon to deal with it:
https://github.com/danielnixon/link-fixer
Thank you Daniel Nixon!
Then I have to scroll down on my 27" monitor to be able to actually read anything on that site. That is stupid - at least in my opinion.
This completely agrees with my own experience. But if these things are true when viewing a "dispersed content" site on a desktop browser, shouldn't they be just as true on mobile? It seems to me that this is a big problem with mobile-first design in general: it's just not the right format for actually conveying conceptual information to users.
My devices are a literal ton of iOS ones, and then 4k and a 2560 × 1440 display which I use most frequently lately.
Tons of whitespace, oversized text everywhere and incorrect use of Z-index are some of the hallmarks of this mobile-first design.
I like clean websites with lots of space. I don’t mind long scrolling websites, though I don’t particularly like the trend of stupid animations that happen as you scroll down.
I appreciate that “mobile first” has forced web designers to simplify web sites to be concise. Less is more!
Even open source is like this now: GNOME, Wayland, and systemd are designed around the most common use cases their developers anticipate and if you fall into one of the more obscure categories... well, tough.
opposite way in: 2013 article about high density on the japanese web being (in part) a legacy of their pre smartphone era
That should honestly be a crime.
The problem is "mobile only" design.
PCs and Laptops exist. They have wide, high resolution screens and precision pointing devices. All relevant technologies support changing the rendering based on the display available to the browser. It's not that hard.
The problem starts when designers ignore these facts, and instead pop giant buttons, zero navbars, hamburger menus, and thin columns with low information density into the Webbrowser running on my PC with a 4k screen and a 120$ laser mouse.
It actually is very hard to design a responsive UX that can handle anything from the smallest smartphone up to ultrawide monitors.
Only when folks try to get fancy. K.I.S.S(illy).
Yes, on a large screen you might have to increase the size. But a mediocre design you can recover from is better then being stuck with some meth addled designer’s unusable one.
l
i
k
e
t
h
i
s
The links are too close together on a small phone screen and I cannot tap them accurately half the time. This might mean the difference between upvoting/downvoting something, or flagging something instead of clicking on the context option, when I don't mean to.
HN is pretty great when it comes to desktop, though - simple design, no dark patterns, except for maybe the comments with lower score becoming unreadable, which is bad from an accessibility point of view and an odd design choice otherwise.
> old Reddit
Again - by far the best site when compared with the new version, which has bad performance on both desktop Firefox and mobile Firefox; in addition to lots of dark patterns, sometimes refusing you the ability to view a page if you don't sign in, in addition to nagging you to download their app.
It's still bad, though - too zoomed out, can't read anything without zooming in a lot with a phone and when you do, you need to scroll horizontally, which makes reading paragraphs of text a pain. Curiously, they do/did have a version that actually looked okay on phones (i.reddit.com, or something like that), but it doesn't seem to open anymore and redirects to the main site instead.
I think that once you go below ~400px of screen width, designing a decent UI becomes difficult regardless of what you do. It's so much easier to mess around with the meta viewport tag and offer a slightly zoomed out version, but even then you still have the challenge of making something usable across multiple platforms, input methods and so on.
On HN, yes, the arrows are small. And you can trivially zoom in whenever you need them to be bigger and more easily select one over the others. This is worlds ahead of mobile-first designs that lock you into one specific view that you can't modify.
As I said in the other comment: "mediocre design you can recover from" is much more pleasant than meth-addled design you're stuck with -- which about sums up HN/old reddit vs typical mobile first.
>It's still bad, though - too zoomed out, can't read anything without zooming in a lot with a phone and when you do,
Huh? New reddit doesn't do that any better, which can fit only a tiny amount of readable text on the screen as well.
A smartphone, iPad, and ultrawide monitor demand fundamentally different UX considerations. Generalizing across all of them, and in one codebase, demands a certain expertise or else everyone would be doing it.
I don't think it's a question of expertise; it's a question of effort (and cost). So it's a management issue; are we going to put the effort in to support desktops, or are we going to settle for a crap website? Because a website that doesn't support desktop is a crap website.
Instead, my advice is to create individual designs for each, share when it makes sense, but actively diverge when it’s good for your customers. There doesn’t need to be a single version of a page.
Your mileage may vary.
Maintaining N versions of your application has costs that aren't necessarily great for your customers either. In my experience it usually cashes out into one version (either mobile or desktop) getting all the support and features while they slowly drip down into the other versions. Meanwhile a responsive design can have the upside of forcing support and feature rollout for all devices simultaneously.
None of this is easy.
In practice, working in small and medium organizations, I have met very few UX designers. Instead I have met plenty of graphical designers that know almost nothing about UX design. I've been at places where I - as a backend developer - know more about practical UX design than anyone on the design team.
I think the reason why we have "bad mobile first design with awful desktop UX" is because very few of the people designing these experiences are UX designers.
I was surprised the article didn't highlight the horror show that is Vector22 at Wikipedia, a design so colossally bad that after three years of suck costs the only path to saving face was to make it the default theme for all users: "Mission Accomplished!"
I also checked if I had created some rules for that site in Stylus and uBlock Origin, nothing. For once I'm lucky that a change didn't destroy one of my workflows. One could say that if I didn't notice the transition they could have spared themselves all the work, or one could argue that they performed a perfect job.
Anyway, I get directly to the page I need from Google. I found several threads on Reddit complaining about the change and this one https://www.reddit.com/r/wikipedia/comments/10g2cir/im_prett... I see a different usage pattern "all I had to do was open the site and use the search bar. And then from there it was easy to get to the main page, current events, etc." The home page, current events? I'm sure I never heard about current events before now and about the home page, I know that there is one but the search bar of my browser is closer to Wikipedia's internal pages.
Unfortunately some of the designers I've worked with more recently were primarily graphic designers without a UX background, and actually became an impediment to good design because they were given authority over it despite not really know what they were doing.
I think it's probably an unfortunate consequence of there being more demand for UX designers then there are good UX designers, and simultaneously being a lack of jobs available for graphic designers. And a lot of hiring companies not really understanding what makes a good UX designer.
The issue at hand is that overly long lines reduce reading speed and comprehension of the content[1]. The optimum length for a digital line of text is somewhere between 66 characters per line and 100 characters per line. I personally use the 100cpl rule. For reference, this HN page has ~185 characters per line on my 1920x1080 display at default scaling.
I do actually remember un-minimizing my browser in order to improve the rate at which I could read the text of ur-Wiki pages.
And then they provided an escape for old men shaking their fists at the sky. Given a choice, I would, without hesitation, choose the new design.
[1] https://en.wikipedia.org/wiki/Line_length#:~:text=characters...
You get a sort of garbage-in-garbage-out effect if you apply science to a field like design, where it only serves to amplify your own convictions, as what is being fed into the scientific process as unquestioned assumptions inevitably fall out of it as conclusions.
At best you get KPI driven design, which is a vehicle for enshittification, not for building great design.
I don't disagree with this, but it's none the less an assumption that went into the study, and likewise a conclusion that fell out of it.
I strongly disagree.
Design without considering all of the HCI research that has been done is what you call "garbage-in-garbage-out." We already know how humans perceive information, what makes things salient or invisible, and so on, yet the current design trends completely disregard that with flat UIs and trendy designs that have poor usability.
> At best you get KPI driven design, which is a vehicle for enshittification, not for building great design.
No, you just get trendy design, not usable design.
I took the poster as meaning UX that considers the results of, and perhaps even performs, actual user testing & observation, to decide what works and what doesn't. Like operating system vendors used to. I'll grant that "scientific" UX that's just incompetent (99% of the time) application of "telemetry" and A/B testing is awful. But that—and the other bad kind that's just trend-following, personal preference, and whatever will get the best reaction in a design presentation meeting full of non-experts—aren't what I understood as being advocated.
The good kind performs & pays attention to science.
Any opinions you get out of the scientific method were put in there by the person designing the experiment.
yep. i guess that reddit hired one of those.
old.reddit.com is awesome and stood the test of time, the new reddit is awful and slow (and i hate it).
One, not all Reddit users prefer old.reddit (I do).
Two, Reddit aren't designing for users, they're designing for advertiser's to push adverts at users.
Wrt the second point, this means designers aren't designing to the brief you would give them. Like when engineers design obsolescence into a product (it's purposefully inferior for the end user).
Any idiot can see it's bad user experience to keep forcing a user to a design they don't like, but it's not for UX reasons that they do it. The trick is keeping UX good enough.
To extend that: note that the very companies that spend most money on UI, that hire the experts and pay them well, that set the trends for entire field of UX - are all companies whose primary business is user abuse - advertising, high engagement, etc. That's what they pay the UI/UX experts to optimize for, and that's what ends up leaking into the wider field - leading astray people who are trying to build things beneficial to their users/customers.
It's really an issue that many UX designers don't know how browser rendering works, so they design static pages as if they were printing in a magazine.
Pixel perfect mocks are terrible for designing responsive UIs. Trying to build pixel perfect pages in a browser is impossible. Somehow these designers get through school with zero understanding that designing for web is different from designing for print.
The reality is just that designers gonna design - and designing is often an unscientific craft, pursuing aesthetic values before practical considerations. Google and Apple designers are well-paid and experienced web-heads, and still they led us into a land of well-padded desperation.
At the end of the day its all an ROI problem (as are most things)
Guess based on user agent (or other fingerprinting metric of choice), redirect to guessed site, provide user the option to override when the page appears, remember the choice in cookie (or local storage).
Though personally I think you can do a lot with responsive CSS if you try hard enough - that is my preferred option.
I always wondered about that. What's the point of redirecting instead of serving a different template on the same URL?
I think that websites should assume that devices are being truthful. I should be able to request the desktop view on my phone or request the mobile view on my computer. The former I can do sometimes, the latter I can only do with developer tools (and usually doesn't work because the website detects that I'm on desktop!). Browsers could add a header to switch to the mode in which the website dynamically readjusts based on actual device parameters like window size, but by default I need the view to be what I requested regardless of my window size and device type.
You know how Wikipedia has no table of contents on mobile? I made my browser request the desktop site by default so that I could see the table of contents and don't have to tap to open the article sections. (Unfortunately, Wikipedia changed its desktop view UI by moving the table of contents into a hamburger button. On mobile the desktop view forces me to tap the hamburger button to view a blocking popout of the table of contents, while on desktop the contents are automatically opened in a sidebar.) If Wikipedia had forced a dynamic design on me to restrict me to the mobile view on mobile, then I would've wasted time opening article sections to decide whether I wanted to open them in the first place.
And if you keep the URL the same but serve different output depending on the browser, then you get inconsistent behaviour between two different devices.
Nailing the UX for mobile and desktop is actually pretty damn hard.
I can connect my Librem 5 phone to a screen/keyboard and I get a full desktop.
I agree with comment above that it is very hard to make one website responsive to multiple screen sizes.
I also think one of the things good designers do is to take this into account, and make pages that are built up of components that work at various sizes, not just scaled up from mobile. In addition, a good designer will setup the page design such that it can scale up and down nicely from one viewport size to another.
So, while I don't 100% agree that you need "individual" designs for each, I do think you need a designer that takes the different viewport sizes into account and provides the appropriate adjustments for each. And developers that are skilled at then building those pages.
But I think a lot of the challenge is using pixel perfect static mockups drawn in some design tool.
It would be faster to have a napkin sketch and work with UI dev and figure out the cascading and wrapping at design time.
I'm a CSS person who works in Figma every day and Figma absolutely sucks for responsive design and handoff to devs.
I wish I could just design in Framer or Webflow but those tools while being Figma-like are entirely catered to content websites and not to product design.
Design tools should render with HTML and CSS, not make the mistake Figma made in creating their own rendering engine they have to painstakingly recreate CSS from scratch with.
A motherfucking website made with plain html, no css and no javascript is responsive and works everywhere. Any problems found when you go beyond this are entirely self-inflicted.
Now try to do the same thing with a complex app like your bank’s website, which needs to handle every type of account including credit cards, checking accounts, and investment accounts, rewards, and a travel/shopping portal.
Which is pretty much what 99% of websites need to be able to display. That includes many sub-sections of web applications.
> Now try to do the same thing with a complex app like your bank’s website
Fun story, my bank has a website that works great on both my phone and my PC. On the one I can navigate it fully with one thumb, on the other it is information-dense and respects that I have a high precision pointing device available. They also offer different Apps for Phone and Desktop.
Sounds like you’re the right person to convince everyone to buy cars with manual transmissions and crank windows. After all, they are more reliable and simple, and everyone is wrong for not buying them anymore.
I’d also like to know how you expect all of our serious business productivity apps to work as text-only or server-side rendered plain HTML web pages without being seriously compromised. Google Docs/Sheets/Slides? Jira? Google Meet? draw.io? Tableau? PowerBI? Gong? Notion? Slack? AWS Console? I honestly don’t even know how I would avoid getting fired if I only used text-only websites.
No. I'm saying that there are only few websites that "primarily deal in video and multimedia". They may take 9 spots in a top 20 list, but that 9 is like half of all such websites. The rest deal primarily with text (which includes formatted, rich text).
My business checking account has started offering partner promotions from the transfer screen and I’m tempted to switch to another bank because of it. Their developers and designers were tasked with delivering that component. At the same time they took away their mobile app and mobile check deposit because it was not secured properly.
Most bank websites and apps are examples of teams and organizations focusing on the wrong thing in my opinion.
These days it's even easier with MUI and similar UI libs that have responsive components built-in. Tailwind also makes it very easy to build your own.
We’ll be able to design components to scale to their parent instead of screen size, making them much more generic.
But... I'd add that doing that well isn't easy. I frequently find cases where the mobile version simply removes features the desktop version has. And tablet version are very very rare. They tend to be either just the desktop or mobile version. Rarely is someone designing for tablet.
And that makes sense. Designing 3 different sites to all be the same feature-wise isn't trivial. Then you throw mobile apps on top of it, and suddenly it becomes much harder.
Can it be done? Sure. But I wouldn't say it's trivial to do it well.
Sure I'll agree it's hard, but don't web designers do their work on desktop machines? It seems like even if they are primarily targeting mobile, they must see the results on desktop right? There have to be some known strategies for dealing with it, and they must be aware of the problems. Right?
Maybe the real solution is to treat a wide monitor as multiple mobile screens side-by-side. That is you give your user N-views into your app with no other coupling between them, almost like browser tabs. It sounds silly but I could think of worse solutions. Note: N would be equal to floor(laptop-width/mobile-width).
It's strange that I have to scroll horizontally to view source code and at the same time 2/3 of my screen is empty.
Could be purely CSS, could be JS or SSR
A lot of bad UX decisions come from bad management, not necessarily bad designers.
We don't have to touch every class of device with our B2B product, but we do have to support desktop/tablet/etc. We decided to make a tradeoff in terms of aesthetics and keep the overall design as simple as possible. When you don't plan to test the dimensions between iPhone and iPad or concern yourself with foldable/esoteric devices, you should probably not get too elaborate with your design language.
Our app has 1 simple breakpoint @ 960px. Below this, we assume we are on smartphone and run with one column layouts. Above, we display the full width view. We combine the media query with CSS grid layouts to swap between modes. The specific number was chosen to allow full-size presentation in side-by-side window arrangement on a 1080p desktop (our most typical power user scenario).
Again, we are B2B and only have to tolerate US audiences. So, we have the ability to get away with far more than developers who have to polish B2C experiences with international audiences.
If I had to do B2C web properties and ideally support as many devices as possible, I would be more amenable to that adjective. Otherwise, I would say it is a normal amount of "hard".
Not to mention the market for this target is shrinking so much compared to mobile it's easy to understand how the choice is made.
Just as an example - Look at Google Drive in a regular laptop / desktop browser. All the relevant and frequently used actions are behind menus and icons.
And this site quite fittingly has one narrow and centered column with huge left and right gaps.
Otherwise I think the majority of windows laptops now have touch screens, so while they still have a pointer based input most of the time, touch friendly design is an advantage for the majority of the users.
It would be nice to have specific dedicated designs for all cases, but I am sympathetic with how much of a challenge that is.
I see many people with laptops, but other than one person I know who exclusively buys Microsoft Surface laptops, the average laptop user I know is just typing and clicking away like normal.
How many folks actively go looking for touch in their laptop? I keep hearing about it on YouTube reviews, but even in families with kids, the kids don’t even use the touch features even if the laptop supposedly has it.
I’m just amazed how much “touch on laptop” comes up and I quite literally never see it in reality.
Especially when I'm using the laptop as a portable device on my lap, in a plane or on a bus.
I have to admit I don't use touchscreens that much when I can put a laptop on top of a desk. But when I'm sitting at a desk I much prefer a desktop pc.
I noticed that as soon as I pair the iPad with a Bluetooth keyboard, and an external display, I’ll also use my mouse to navigate.
So, even for a touch first device like an iPad, when using a keyboard, touch is not the best way to navigate.
I know some disable the touchpad to not have to bother with palm rejection and accidental touches at all. Same for shitting off mouse input when the touchpad is used. And so many other combinations.
But yes, people going full hog on touch usually have Surface pro or Yoga like devices in the first place and won't be an average user. And people used to point fingers at their screens tend to hate it now that it actually reacts.
a) I would be really interested in the reasoning behind that opinion
b) Even if a laptops screen is touch-capable, it still has a precision pointing device
c) PCs exist, and so do docking stations.
And using phones as a 2FA device. A giant, relatively immobile device is a much better 2FA device than something that is easily stolen.
Another problem is designers working only on 4K/5K screens and not taking into account how little of their design fits on a FHD screen that a major part of the desktop population still uses.
- On Linux, the assumption is that everyone has a 1920x1080 monitor, so if you get a high resolution 13-inch device like a Surface suddenly half of the apps are unusable because everything is scaled so tiny, and the apps literally just do not know how to handle the aspect ratio.
- On Web and in popular design studios, the assumption is that everyone has a full 4K mac and so everything becomes larger and spread apart; you load them up on a normal monitor and everything becomes cluttered and the interface of the app starts taking up more room than the content you're looking at.
Test your apps on multiple resolutions y'all, and for the love of everything that is holy if you're designing a desktop app, please add button density and font size controls to your settings. Some weirdos like me even use multiple monitors of different resolutions and pixel densities hooked up to the same computer at the same time, so being able to adjust on the fly or handle fractional scaling is kind of a big deal for apps that I use. Standard resolutions are a myth.
But it was so easy in the past to just ignore that and treat PCs like they were uniform devices used in a uniform way, and phones meant that you suddenly had to care about what a website looked like in a single-column view, you couldn't just tell your users to maximize the browser window. Unfortunately, rather than taking away the lesson that design should adjust to nonstandard situations, layouts, and input-modes that can not be fully predicted or tested for in advance -- instead developers took away the lesson "okay, now there are two standard devices we have to support: mobile and desktop."
The distinction isn't real, there is no hard line between a desktop and a mobile site. There are mobile tablets that are big enough that they should be served a desktop layout, there are desktops with touchscreen displays, there are monitors that are 3/4 ratios. And there never was a standard and computers were always like that, but it's an understated truth that every developer and every designer would secretly love to develop exclusively for consoles with integrated screens and one input method, and developers often kind of behind-the-scenes somewhat resent the fact that general computing is an open ecosystem with diverse devices. So designers often just treat computers like they have two completely discrete interfaces, or at worst decide that because they're not targeting one of them that they now have permission to target exactly one resolution and size again.
Sometimes that takes the form of designing "mobile only" like the top-level comment talks about and calling desktops a dead platform. Sometimes it means designing desktop only and getting mad that somebody flipped their monitor vertically instead of horizontally and now wants the ability to move a side-drawer to the bottom of the screen.
Agree.
Actually, I think what happens is that the team adopts a "mobile-first" policy, which is reasonable, since most visitors wil be mobile. But they don't follow through with the "desktop-after" corollary, and they don't engage with the "progressive enhancement" philosophy, because that gets even more costly than simply having two websites.
I find phones impossible to use as web browsers. My eyesight is too poor, and my thumbs are too fat. I use phones for making phone-calls and for trading SMS messages; if I need a website, I use my laptop. But that's just me.
I think the real problem is that mobile phones make awful platforms for browsing websites. Native checkboxes and native select-boxes are often unusable, so developers use "frameworks" <spit> that replace them with Javascript monstrosities. Because that all depends on plugins and code, each website ends up with it's own idiosyncratic UX.
I think the correct solution is for phone makers to deliver platforms that can render HTML so it's useable. Then the only problem for devs is create responsive layouts, which isn't that hard.
The problem usually is the resources and time available to implement such designs. Most of the time the devs simply don't have the time, desire, or even ability to implement more advanced responsive design, so designers will design what will actually get made.
I am a designer and HTML/CSS coder so I am aware of the challenges from both directions.
Sure the majority of websites on the web aren't SAAS tools, but the nuances of mobile vs desktop layout described in this article don't apply so much to such simple content pages.
It was so, so bad it was almost totally unusable on anything larger than a tablet. It made it virtually impossible to read articles on a desktop because everything was so spread out, the font sizes were all messed up, navigation was hidden in a tiny little hamburger at the far upper right of the screen, and a bunch of other problems. But what was wild was how easy it was to fix them. I ended up writing a small (maybe 100 line) CSS user style that fixed almost all of the problems.
They did eventually "fix" the site so that it wasn't as bad on desktop.
In a nutshell everything Instagram does!
Our work flow often ends up: get design > ask for desktop > told to ‘use best judgement’ > uses best judgement > get a load of amends as best judgement wasn’t what the client has in mind > repeat.
Don’t even get me started on the mythical black hole that is the tablet screen. It’s like designers have forgotten that they exist and people use them at times.
But it's a slowly dying market segment. We might be at a point where it's more likely a household as a Chromebook than a PC.
"Mobile first" is not the right way to approach the problem. I dislike desktop layouts that were obviously "mobile first" and only look like a wider version of a mobile layout. It's just the wrong way to do things.
It's very easy to use media queries to make all the content of a desktop design fit into a mobile layout. I really don't understand the disconnect about this. I manage to get full functionality in both desktop and mobile devices of all sizes, but others cry "mobile first!" like if you don't do it that way, then you're doing it wrong? It's nonsense. "Mobile first" almost always leads to sub-par desktop experiences, and that's a shame.
My favorite challenge is a design meant to be printed on a single page. The page also has to load on desktop and mobile browsers. With the printed page, the content absolutely cannot overflow even though it's dynamic content and could have text of any length, or list items of any length (scaling is used to a point, but often some items must be omitted from the layout). So in this case, it's absolutely "print first", not "mobile first". And yet I manage to make a perfectly good mobile responsive layout and a desktop layout out of a "print first" page.
I agree though, that doesn't mean we need dumbed down desktop layouts or scaled up mobile versions, it just means we need to consider both and design accordingly. Mobile first is fine as the starting point, there are a lot of valid points to that design paradigm. But that is just the "first" part, then there are the rest of the parts to account for all viewport sizes.
Mobile is king, second to 13-15 inch laptops.
---
And they checked a Herman Miller site. How often do you go to HM? When you want to buy a 6000 dollar chair. That's maybe once in a lifetime.
On desktop, nobody cares about mobile first trendy large image sites, because you can scroll, you have a mouse, you have a full keyboard. You can use CTRL-F. You can navigate away from the bullshit, QUICK. Your handicap is ZERO.
The real problem is really about mobile sites viewed on mobile.
You search for something and arrive butt naked on sites. What you get? Full screen cookie consent pages. Then a subscribe to the newsletter full screen modal. Okay, now you get the content, but not really, because half size ads, ads on top, ads on bottom kill your eery-xperience.
The experience is crazy because you have a restricted way to interact with the site. A shitty onscreen keyboard, you have to scroll a lot with your fingers. Save the mobile experience first.
On desktop the problem is with large sites, with lots of traffic, with lots of users. "Finely" tuned by the sancrosanct A/B tests.
Facebook/Instagram desktop experience is borderline crazy. Facebook's comment experience is just plain shit. Koko the tacticle sign-speaking gorilla would've made a better job on that.
On Instagram, if you view it from desktop, then you are viewed as a peasant. How dare you to visit the site from the desktop? Are you retarded? Clicking on a post? Go register now, peasant!
Wait a sec, you tried to register through desktop? Now go hang yourself, rural monkey! No, you can't set yourself to be 18+ to view the boobs, you need a mobile for that. Told ya, go hang yourself desktop peasant.
Oh, the creators of React, the bloated bullshit frontend experience framework created by colour haired individuals that every brainwashed idiot loves like a plush polar bear.
Time to push back and send the naive + trendy developers to the soon to be established Mars base.
The best part of programming is no one knows, or cares, what tech you used as long as it works, so if you want to make a website out of html, PHP and no JS you're free to do that.
If you want to work with people, you might have to make compromises because people have different opinions, but websites like IG could be built in a weekend by one person anyway, right? /s
The browser should be the User's Agent, not the Web Developer's Agent. If I want to do something with my browser layout that a designer finds appalling, that should not be his concern.
If the web developer and designer really think that text should appear in tiny 5" columns no matter how wide my browser is, fine, then flow your design to display multiple side-by-side columns like a newspaper. Don't just fill my screen with whitespace.
I don’t really want text to reflow to be, like 23, inches wide or whatever. Books with 23 inch wide pages are quite rare, because, I think, that is too much horizontal space, scanning that far with you eyes can become a drag. Of course, if a page just uses the whole width uninterrupted for text I can just give it half the screen, so that is fine. But I’m curious, do you actually like the look of a page like that? Or is this just on principle—respect user choice and all that (if so, good principle!)
In general web devs seem to think way too much about the layout of pages, if they would just do the simple thing users could resize the window to their liking.
HN's handling of different browser widths is... pretty weird, at least on my Desktop Safari browser. Looks like from browser widths of 1920px and greater, HN maintains fixed size whitespace borders and scales the content width. Nice. When you shrink the window past 1600px, it holds the content size fixed and shrinks the borders. I guess the intent is to smoothly transition into a mobile design without the borders. Past 1516px, it removes the borders altogether, and seems to transition into this "mobile" design. Between there and around 610px, it seems to shrink the content width by discrete fixed amounts every 200px or so, to "keep up" with the browser width. Finally, below 610px or so, the site goes back to the non-mobile design, laying out as if the browser was 1600px wide (and actually truncating the right hand side of the text)--totally broken.
All that complexity--for a text only site! When they could just make the text 100% of the browser width and let me as the user decide what is comfortable to view. It's still much, much better than sites that just limit the content width to 600 pixels and fill everything else with whitespace!
It's fixable, of course, by "just" re-flowing the text to match the viewport size. On a desktop, pages of multi-column text at a readable font size are nice. On a phone, multi-column text would be annoying, but a smaller font size can be used because phones are typically held closer to the face than computer monitors. Getting the layout to work correctly like this isn't something I can actually remember ever seeing, but it'd provide a "best of both worlds" way of reading.
Continuing with scrolling as default instead of pagination after the switch to high-res wide screen monitors was a mistake by browser makers. The future of the web - I think - will be with browsers that are real user agents and open every web page in reader mode, with multi-media presented exactly as the user wants. No more letting web-sites control CSS.
As for web-apps, they are not the web, they are programs and should live as PWAs in the OS instead of as bookmarks in the browser.
Like you wrote, there is little reason for column view on phones. Their width is one column and no more. I agree with you that it's strange that we never see this, especially on blogs or newspaper websites, where column view should be used.
You say the browser “should” be your agent - but it is. You can use ‘reader’ mode or any number of browser extensions to tailor things for your own tastes, or even copy and paste the article text somewhere else to read it however you want. What you cannot reasonably expect is for every site to be ideal for your personal tastes out of the box.
Web sites are fast, flexible, responsive, readable, scrollable, accessible, and respectful of user preferences... by default, from the moment you add text between <body> tags. Then web developers add code and CSS to make them worse. Sometimes they make it better, but very often it's worse.
I've seen this argument come up before multiple times on HN, and it's wild to me. Having sensible CSS defaults is not a designer dictating that you are only able to see content one way. You might prefer to read text in a giant line spread across a giant monitor, and that's fine, but it's not a freedom thing. It's not denying your browser's role as a user agent that sites have CSS files.
Every single website (HN included) makes CSS decisions for the user. What colors should be used, what is the default contrast. Every single line of CSS on a website is a designer decision by a designer 2000 miles away from you about how they think that content should be presented. And if you don't like that, turn off CSS in your web browser. Assuming you're using Firefox (which you should be using), it's trivial to do.
Of course, browsers should allow overriding CSS, and (imo) they should make it easier to do so and more accessible to non-technical users. And yes, part of making a website that respects the browser as a user agent is shipping HTML that can be viewed unstyled and that is easy to override styles for. Ironically, HN does a horrible job of this -- the HTML is not semantic, the use of tables is so egregious that even stripping the CSS out doesn't really remove all of the styling. The site is really messy if you want to override anything. So that HN uses a design that happens to more closely align with what you want does not make the site more respectful of your browser as a user agent. It just means that you and the designer(s) happen to like the same design.
And in comparison, putting `max-width: 45em` on a text column is not even remotely user hostile, it is a very simple CSS property to override -- especially for designs that use single columns because you can change that CSS property without even worrying about reflow. `max-width` is a default that statistically works better for the majority of users even on large monitors (I use a 32 inch 4K monitor and max-widths make text on that monitor easier to read). But of course, some people are different, and that's fine. Go yell at the browser makers to allow easier CSS overrides, or turn off CSS entirely, or install an extension that lets you add CSS to given pages or spend a weekend building an extension that strips max-width out of stylesheets for every website you visit, or customize Firefox's userContent.css file. There are options here. And if you had made an argument about those options, I'd be 100% on board. CSS for websites should be treated as a default setting instead of as a requirement and browsers should support CSS overrides more easily out-of-the-box.
But the idea that designers are denying user agency by not making a proactive design decision to present by default the specific format you want to read -- it's just ludicrous. You're not asking for user freedom, you're asking for designers to target your preferences instead of other people's. Those two things are not the same.
Browsers allow you to disable styles altogether, but as you note, most sites are horribly broken in that mode. Even Google's home page, which should be dead simple, is horribly broken with CSS disabled. I think if browsers had spines and enabled users to be more opinionated about styles, web developers would respond by ensuring their sites worked better without them.
I'm still honestly a firm believer in the design technique of designing the HTML of a website before I start working on the CSS, and I know that a lot of people call that naive or say that it doesn't work... but I'm not saying that you can't revise the HTML later to fit a design, just that first I want to know what the content is and I want to treat the HTML as a primary rendering target, not an authoring language. I think there are a lot of benefits to that (one being that in addition to being more user-controllable and flexible, it also makes it much easier to do responsive design if you approach web design through that lens because page layouts become views of a unified block of content rather than completely separate isolated designs).
But I don't think including the CSS is where that process falls apart or that it's disrespecting the user or denying agency. It's like how if someone hands me a image of a block of text, my problem is not that the contrast in the image is too light or that it's the wrong color; my problem is that they handed me an image of a text document. If someone hands me a website that is so intrinsically tied to CSS that it's impossible for me to easily adjust column widths, that coupling is the problem more than the column widths.
Firefox does have some some great options around CSS control for partial or small adjustments but in typical Firefox fashion its best features are all hidden like Mozilla is embarrassed of them. I didn't bring up userContent.css to be dismissive; genuinely you should take a look at it if you've never used it before. I make heavy use of it for websites, everything from building grayscale modes when I want a website to be less distracting, to swapping layouts around. But it's a valid criticism that it's not user-facing and you need to go into advanced settings to even enable it. Browsers could do more.
That is completely subjective though, and the user has the option to not use a full screen browser to view the comments. I personally prefer it.
See: https://github.com/plibither8/refined-hacker-news
Edit: You can use the F12 debugging pane to adjust the width of a single tab without resizing the window. It's kind-of a hack, though.
Just push F12 and drag.
news.ycombinator.com###hnmain:style(max-width:100ch)
Paste this line to uBlock Origin My filters Array.from(document.querySelectorAll('*')).forEach(el => {el.style.resize='both'})Then again, I rarely read HN on mobile. It's just not the kind of stuff I enjoy looking at when I'm "on the go." Perhaps that's why they never tweaked the layout for mobile?
> ...leading to overly wide text in comments if using a full screen browser.
IMO, that's a bug, both with HN, and with the "default" styling in a browser.
Desktops/Laptops are for gamers, workers, and programmers. This isn't 2006, people don't read articles on their desktops in leisure. If they are it's because they were also doing one of the three use cases I mentioned.
Nah. Like, I'm all of those; but I very rarely play games these days, and I've retired from programming. But I strongly prefer to use a laptop to browse; I never use a mobile browser. My eyesight is too poor, and my fingers are too fat.
What about tablets?