This explains exactly why physical restaurant menus are so much better vs mobile site menus. If I'm viewing the menu of a restaurant on my phone, I always look in Google Maps for someone who took a picture of the menu, because it's a dense UI. Every "mobile friendly" menu site is able to show maybe 5 items on the page at once, so it takes many pages of scrolling to see everything.
I recently found an option in mobile Chrome "Settings > Accessibility > Force enable zoom" which overrides a website's request to prevent zooming in. Highly recommended
> Reddit's is comically bad, like they hired interns to make it who tried trendy stuff but didn't understand how to implement any of it properly.
I think it's intentionally bad. They just want to force you to use the app instead. Hence the 5 times a minute "Reddit is better in the app" popups too. Unfortunately the real reason of course is "Reddit can collect much more information about you if you use the app". It's not about "being better". That's a choice, if they wanted to provide a phenomenal web app experience they could easily do so.
I recently hit that 40's age where short sight vision is now stuffed.
I foresee a future of phone use frustration.
Amusingly, I use my phone to magnify the labels for food ingredients to make sure myself or my kid aren't eating problem foods.
It is amazing how many years people live after their 40's and so much stuff is now "hard" and yet no one will design for it. Even when they themselves will inevitably suffer from it one day.
> Some sites disabled pinch zooms (massively frustrating for images).
Best are the blogs that have embedded images of graphs or something and they are as large as you can make them (edge to edge). Try pinch to zoom... nope. Tap on image... Here is a smaller version of the image (not edge to edge). Oooookay... Can I zoom now? Hahahhahah....nope!
I've built responsive sites that work as you'd expect in desktop mode, and I'm not 100% certain how other sites that don't are built.
They seem to degrade into some odd hybrid between desktop and mobile. It's like the worst of both worlds.
So, for example, you get hamburger menus, instead of the full desktop nav. And you get a different layout with an increased PPI, but it's not quite mobile and not quite desktop.
I can only assume that they are looking at the agent string in addition to implementing media queries / breakpoints. But there's also something weird going on with the PPI.
Whatever it is, seems like it takes more effort to create a poorer design.
Every "mobile friendly" menu site is able to show maybe 5 items on the page at once
This is due to accessibility regulations. Apple design guidelines and Material guidelines explicitly state how small font can and should be. Ask any designer you know.
My phone has a text size setting, and if I needed bigger text for readability I could set it - why can't we have that conveyed as a user preference somehow?
You just said it yourself. Your phone provides that preference. But a good default is essential, and given to us based on Apple and Googles research, which was probably actually done by Nielsen Norman Group
The "good default" should be the default size that the browser uses, in my opinion. The designer of the website is not in a position to know what the best font size is.
Even brand new restaurants do this, and it's maddening. I also go straight to Google Maps for the menu. The best restaurant websites have the straight PDF of their menu, and automatically visible from the landing page of the site. Don't make me interact with a burger menu and then several clicks later finally get the menu, grr.
A PDF isn’t a great UX when viewed on a mobile screen. You’re going to be tapping and pinching and zooming to see different parts of the menu, and probably switching tabs back and forth to actually place the order.
There’s plenty of good mobile-friendly menus around. Nice clear typography, easily scroll through items by category, one tap to add to order or to get more details (and often photos) of the dish.
It’s just not an art that every restaurant (and restaurant software vendor) seems to have mastered yet, unfortunately.
I strongly disagree. Pinching and zooming a locally cached file that contains all the information the user wants is O(n) to perhaps O(log n), while navigating menus is O(n^2).
Vertical scrolling is a much less tedious interaction than pinching and zooming back and forth to different sections of a 2D plane.
On the other hand, the spatial benefits to such a plane helps people remember where to look if they want to return to a section, whereas with endless scrolling, it's nearly impossible to find something you saw before until you happen upon it again scrolling back up for an indeterminate amount of time.
This makes me think it would be useful for mobile browsers to allow adding temporary scroll bookmarks while using a page. It'd be useful for browsing lots of items, restaurant menus, on a single page, etc.
("that looks good" [bookmark scroll position] ... [keep scrolling] ... [tap icon to return to the previously saved position])
I genuinely think scrolling is more tedious. Have you visited any of apple's product pages lately? Makes me yarf.
EDIT: At least restaurant menu sites aren't that bad yet. Can you imagine? "Hamburger. Redefined." <SCROLLS> Hamburger slowly pieces together across the screen tied to your scrolling. "We think you're gonna love it." <SCROLLS> Pickles slowly fade in and out to demonstrate the difference between Hamburger and Hamburger Pro
Scrolling itself isn't tedious compared to panning and zooming a PDF. The information density is what's important. If you have to do a bunch of scrolling to see just a few items then, yes, they failed.
It depends what the PDF is. Reading a PDF book is tedious because you're endlessly panning back and forth at every line. But you don't read a restaurant menu from start to finish like that so it makes sense to have a less linear way of navigating than scrolling.
> "it would be useful for mobile browsers to allow adding temporary scroll bookmarks while using a page"
This shouldn't be necessary with a well-designed menu interface. Firstly the whole thing should be indexed anyway, allowing easy jumping between categories. And if something looks good you should be able to favourite it with a single tap, or at least add it to your order with a single tap. (If you end up with too many items in you order, consider it a short-list, reviewing the items and narrowing it down from the final order review page).
I'm thinking more in terms of browsing, not just selectable items in a menu, but any scrollable content.
A real-world analog would be adhesive color tabs people stick to the sides of books or printed documents to mark a paragraph non-destructively, so they can return to that point later more easily.
Think anchor headings, except user-driven, because many websites don't even use anchors to enable linking to page sections by URL hashes, and without inspecting headings for anchors (by tapping or long-pressing on them), nobody would ever know it's a feature.
I wish I could just mark my current scroll position and return to it later by navigating back + forth between the ones I've saved for a page. I've lost count how many times I've made mental notes saying "This is interesting, I'll return to this bit later" only to struggle finding it again because it's lost in a sea of text. Browsers have no way to temporarily bookmark bits of content without developers (or CMS'es) being smart enough to anchor headings and sections.
Indexing is INHERENT to a 2D document/file. It doesn't need to be indexed or categories. It can hold ALL the information you want to peruse and compare in a given moment. You just, simply look around and view it! - willy wonka
> There’s plenty of good mobile-friendly menus around.
I can honestly say that I've never seen a good mobile-friendly menu anywhere. I'm not saying that they don't exist somewhere, of course, just that I've never seen them.
Menus should have more intelligence built in. Maybe a prompt or two to get a feel for what a person may want to eat. Or even just listing in order of most popular.
This, instead of presenting a bunch of items, or only segmenting by category.
In general, the need to navigate the entire menu is reflective of a bigger problem, which is that nobody ever knows what they want to eat for a given meal.
If somebody can algorithmically solve this in a personalized way, that would be a quality of life improvement beyond fixing mobile menu formats.
Matter of fact, give me an app that spans multiple restaurant menus, understands my preferences over time, and keeps track of what I've recently eaten, then suggests my next meal.
As a very first step, offer a "must contain/exclude meat" option which would give us an average saving that trends towards 50%. Then identify the most common allergies/preferences and many people could have a typical menu trimmed down enough so that it fits one page on their mobile screen.
That's the thinking. I don't eat red meat or pork, so, for the average restaurant, my option set generally trends towards 20% to 25%. But, I generally have to browse the burger section to ensure they didn't bury a turkey burger in it.
Yeah, I like to experiment too sometimes, and the option to browse could still be available. It's pretty easy to pull off and is the standard now.
But even with that, your experimentation could be guided. And, man, most times I find myself just needing to eat something versus embarking on some great culinary quest. So, more often than not, it's just one more thing to solve.
> This explains exactly why physical restaurant menus are so much better vs mobile site menus.
It also explains why trading UI for pros haven't changed at all compared to these Bloomberg Terminal screenshots.
Sometimes a dense UI is precisely what you need. And the one thing that matters for people trading "manually", clicking on things, is latency: there should be no room for "wait, did the server get my order or not!?".
In a way TFA explains why a restaurant isn't a trading floor.
Dense and functional looking UIs are also prime for any sort of B2B software. It facilitates giving buyers the impression that the software is more functional than something super polished.
I think you're missing an important demographic, people with even minor motoric or visual impairments, who'd face great friction when accessing information, if it weren't for technologies that let us adapt UIs to various physical circumstances of their usage.
A phone screen becomes a well sized and flexible canvas, given sufficient dexterity and eye sight.
It can easily be a comparatively tiny medium as well.
Even if you have the full menu on your phone, you still have to zoom into the menu to read it and pan the view. I don't see how that's any different from scrolling through a categorized menu in a website on your phone.
The difference for me is when the menu gets large then it becomes laborious to scroll through a long linear menu vs a rectangular representation of that same data - which allows for much shorter scrolls. Imagine the menu on a restaurant was handed to you on a 4ft long receipt, you’d get pretty fed up of moving it up and down.
Zooming allows you to narrow in on the content you desire from a big picture point of view while vertically scrolling you just must hope that you get lucky to find what you are looking for.
For bonus points, some menu web sites also do that on their desktop web sites. I have seen many of them that show like 10 items on a 27″ 1440p desktop monitor.
I still think it should be offered as a preference to people. Pages and content requiring high cognitive load is difficult for a lot of people, so packing information too densely can feel overwhelming, making people lose their place as they're browsing through content.
It's the same reason we have paragraphs in writing, rather than walls of text. We need tools that help us spatially recognize + remember content so we have a relative frame of reference to quickly get back to something we're looking for.
It's the same reason we have pages in a book -- not just that it's easier to carry a book versus a long scroll of paper, but it's objectively easier for our minds to handle the limited amount of content each page provides, as we get ready to flip to the next. The amount of pages we've read in a book also give us a natural indication of progress.
In a similar way, UIs that are split up a little better give those of us who do get overwhelmed a better way to organize the content we're looking for. This is why the majority of web apps have distinct views dealing with different content and reachable utility dealing with that content.
Dining with a group where only one person speaks the local language fluently dials this up to 11. Lots of that pain will now start already while trying to figure out what everyone wants. Scrolling back and forth to help translate.
Yes. Mobile friendly sites tend to suck because they take us back to WAP and the 90:ies. Even desktop sites suffer from a weird movement recently where all text is unbearably HUGE.
One reason I personally prefer proper, physical menus is because they are always physically bigger than my phone or the tableside tablet if a restaurant uses those.
Why the sincere fuck must I peck around on a screen for ants when I am paying money to be served?
This is actually a very valid point. The whole world works on equilibrium points between cost and annoyance. For the majority of things that point is closer to annoyance. Micro-annoyances usually go unnoticed.
I am paying enough, the prices are no different from restaurants with proper menus and wait staff. Again: Why must I peck around on a screen for ants and receive the bare minimum of service, at full market price?
On a similar vein: Why do I not get a small discount, say 1%, if I go and use a self-checkout instead of going to a manned checkout? The cashier isn't serving me, so why am I paying for his wages?
I am, of course, fine with receiving less service if I am expected to pay less accordingly.
why? Because as a society we value maximizing profit over anything else. The money that's saved by making you do a server/cashier's job is meant to make more money faster, at lower cost to line owners/shareholder pockets with more dividends, not to give you a fairer price or pay staff. Besides, why give clients a 1% discount to do work they'll do anyway for free instead of paying an employee to do it? How is a company supposed to accumulate capital if they redistribute the benefits of technological progress to all involved in the transaction? /s
Indeed. Unless you're some kind of VIP, the relationship between you and the restaurant is that serving you is the necessary dance required to get money from you, to be done as cheaply as possible. You don't pay enough for the business to actually care about responding to your individual preferences; it's cheaper to let you go and for a less preferential customer to take your place.
This is the usual race to the bottom on the market.
I think this attitude is true for many businesses, but not restaurants.
Restaurants are one of the few areas of the market where local businesses that are deeply connected to their communities still thrive.
There are plenty of restaurants & pubs near me who recognise me as a regular customer by name. The people at those places genuinely enjoy making their customers happy. It's much easier to care when your customers are living, breathing human beings with names you know whom you see frequently. The same can't be said for McDonald's, but there are places that aren't so soulless.
Spoken like someone that has just started to run a business and has not yet gotten burned out from asshole patrons/users/clients that absolutely ruin the experience. In my experience, it is the middle of the spectrum of users to shoot for. The upper to top end expecting so much stuff to be given to them and expect way too much babysitting and pampering at the expense of other customers and give lots of attitude. The middle segment just wants the service at a fair price and to be treated with respect and are typically polite about it. Then the lower end wants the same services at the lower price tiers and complains that there are other things not included at the base price. There's no way to make everyone happy all the time.
They contort themselves to redefine the word density, when what they should have said is that a good interface for humans maximizes information without losing visual salience (http://www.scholarpedia.org/article/Visual_salience). That is, local density BUT ALSO clear-to-the-human-eye boundaries between information sets.
See the famous (still? hopefully?) Kadir&Brady paper "Saliency, Scale and Image Description" from 2000 for an explanation of how encapsulating information in something visibly distinct, like whitespace, increases the visual saliency of that information: https://www.robots.ox.ac.uk/~timork/Saliency/ijcv_SalScale.p...
And even then it's user/domain specific. What is salient for a user who's an occasional user of your software vs someone who uses your software professionally every day is very different. You stop having to tune for a visual language that's universal-ish and instead have the ability to build-out a denser set of metaphors.
The "design needs to be understandable by the person writing the check who will never use it" problem is all over enterprise sales leading to software that doesn't need to look like $trendy_consumer_app but has to anyway to get the sale.
This seems to be begging for a user-switchable "dense mode" (like the fad of "dark mode" switches), which swaps the "buyer-oriented" CSS to the "I-use-this-every-day" oriented CSS.
I'm hopeful that the CSS prefers-reduced-data media feature[1] may one day help introduce this sort of thing. Sadly not yet supported by any browser except behind flags
Frames are out, whitespace is in. I wonder if the 30-year fashion cycle applies and it will be cool/retro to have compact, discoverable UIs in the 2030s.
The type of visually dense user interface is still around where it’s unavoidable due to the complexity of the data model, e.g. DAWs, game engines and photo editing software.
But for simple consumer facing apps or websites, I don’t see it making a comeback, as it is more aesthetically pleasing and more usable to have simpler / sparser user interfaces for less tech savvy people.
> The type of visually dense user interface is still around where it’s unavoidable due to the complexity of the data model
No, it's not about the data model, that's a completely orthogonal matter. You could add more whitespace to e.g. Darktable, and put functionality which doesn't fit anymore into e.g. menus.
It's about the software being used for focused work. People invest some time learning it, but then expect that the work will be fast and efficient. More whitespace will mean you have to do more clicks to do the same thing in comparison to a more dense UI which costs time.
> and more usable to have simpler / sparser user interfaces for less tech savvy people.
I'd say it's often the opposite. More visible data presents more context, more opportunity to lead the user and visually explain what's going on. You need to invest more into arranging such screens correctly, but when designed well, their UX will be superior to low-context low-information space-filled screens.
Also depends if the user really wants to/must do the task or can just give up and go do something else when the initial density is overwhelming/learning curve is too steep.
> They contort themselves to redefine the word density,
Not once does the term "word density" occur. They talk about Tufte's concept of "information density," though. Edward Tufte is really must-read for any designer or anyone working with them.
> what they should have said is that a good interface for humans maximizes information without losing visual salience
And Tufte talks about that, too. I'm sure the author realized this.
The author doesn’t deliver on the promise made early on the essay to examine the question: Why have UIs gotten so sparse?
It’s like entire web design world decided more whitespace is better, and won’t hear anything about it. And now some desktop apps are being designed like web apps. Or take Hulu on my Roku, it will literally only show the first three lines of a four-line movie synopsis, surrounded by tons of space, and make you expand it, via multiple button presses on the remote.
I once implemented a file list view for a start-up I was working for, off of a mock from the designer, similar to what you see when you are browsing Google Drive or Dropbox in a web browser, but with only one view, a list view with very large icons. The amount of whitespace was massive; use of screen real estate extremely poor. But then, these web UIs never look like the Finder, or Outlook, do they? They could. They could feel almost as snappy, too, with some allowance for network roundtrips. The Finder is actually pretty slow these days, even on a high-end MacBook browsing local files. There are lots of pauses and stutters.
There’s an unspoken rule against labeling things, too, if you can use a row of inscrutable icons instead.
There will always be designers experimenting with taking things away. Apple has done it plenty. What if there were no scrollbars, no ports, no home button or menu bar (just swipe from the edge of the screen), no keyboard, no headphone jack. Sometimes it’s a bold direction, occasionally a clear net negative. But minimalism is a thing, it just has to be tempered.
Often, design “trends” are just trends, in my (admittedly cynical) view; there isn’t necessarily any merit at the core, or the people propagating them seem more interested in conforming to trends than asking what is good. The dynamics of fashion are easy to underestimate as an engineer.
People love to copy things. People who grow up watching action movies and become action movie directors just want to make an action movie with all the action movie tropes. That’s the main thing, not necessarily picking the things that work well in action movies and bringing in some things that just work well, period, that are original or timeless, like good directors or writers do.
Besides people loving to copy, people sometimes think following trends is why something will sell. If you’re making clothing and you aren’t hip to this year’s styles and colors, no one is going to buy your stuff, is the sentiment I presume. It can easily become overwhelmingly about conforming to trends. Designers also tend to put famous people and sources of influence on pedestals and think they will never be 1/10 of the genius of, say, the person who decided that some famous building should look like a pile of mashed potatoes, or that an Apple billboard should just be black text centered on a plain white background. In art, as in philosophy, there is so much pressure to agree that certain people are good, regardless of any objectivity or lay opinions—so much focus on status—that to even think of what you are doing as potentially-good-in-others’-eyes, you need to copy someone or some brand with high status, or somehow attain your own status, is how I think people sometimes feel.
In other words, designers of UIs might falsely think the customer cares about trends and fads, and that their work will be evaluated through a system of reference points and status divorced from actual merit, as can happen in the design world and adjacent spheres (art, fashion, etc).
> The author doesn’t deliver on the promise made early on the essay to examine the question: Why have UIs gotten so sparse?
It is dumbing down of user interfaces to the level of general public. Specialty software UIs are still pretty dense and serious users of such software would actually complain about attempts at making things sparse such as using ribbon UIs instead of menus, etc.
> It’s like entire web design world decided more whitespace is better, and won’t hear anything about it. And now some desktop apps are being designed like web apps...
At the company I work for, "Microsoft does it this way" is a valid design argument (unfortunately). So, it is not like the entire web "decides" to do things in a certain way, but the entire web "follows" a few leaders (Apple, Google, Microsoft, etc.) with their design trends. And, of course, these companies change their designs every other year and the whole web follows.
You're describing cargo-cult. The mindless replication of form without consideration for function.
> But minimalism is a thing, it just has to be tempered.
Some people's view of minimalism is frugality for its own sake. It becomes an ideology that has nothing to do with the practical purposes behind the label, "doing away with excess". Excess is whatever is too much, redundant. The quality of something excessive is that you don't notice it when it's gone. You don't miss it. Minimalism is not about replacing a function with another noticeably more convoluted approach. My personal summary of being a minimalist is that you own all of what you need and you use all of what you own. A minimalist may decide that they don't own a fork because they can eat just as well with their spoon. If they can go months without noticing, it's a good call. The moment you see them contorting that spoon while attempting to cut their steak, they've lost the plot. Likewise in UI, the hard to find scroll bars, the greying of texts, the missing buttons are all being noticed by users. It's minimalism gone to seed.
In this horticultural metaphor, I sure hope we'll come to germinate a new and healthy UX maximalism, but so far, with rare exceptions few and far between, I'm not seeing it.
Even Wikipedia, long a bastion of the good old ugly, went ahead and introduced a hamburger menu, replaced the old global sidebar with the article's TOC (collapsed by default with "generous" spacing), and replaced the old right-hand TOC with...whitespace.
I assume you mean the "colored text might be a button to perform an action" thing, not drawing button frames on things like dialog box choices anymore?
I sometimes wonder if that is nothing but a cargo cult started by the dark pattern of wanting to minimize number of people clicking the "Deny" button.
> it will literally only show the first three lines of a four-line movie synopsis
That's a good example of something I was thinking of which is cutting off text horizontally as well. Names of songs, artists, and albums in music apps is a common one, or titles in video apps. A lot of times the relevant piece of data (e.g. "part 5") is in the cut off part of the title. It's everywhere. Things should just flow to show all the information according to how much space is needed, just like how this comment is displayed on HN.
First, whitespace makes things look _expensive_, more luxurious (look at all that material we surround our content with). This comes from print, and as screens have gotten bigger (and resolutions have gotten finer) this trend has entered screen design too.
Second is the perennial "grandma argument" - i.e. if your website or software or whatnot is not built in such a way that "a grandma could figure it out" it gets proclaimed "high barrier" and folks say that "nobody will ever take time to learn how this works". This often results in bikeshedding over features which are absolutely clear to anyone who has ever used a computer, are useful - but if the product design is ruled by a person driven purely by aesthetics - the features get killed. The issue though is that most software is useful exactly because it does not place a single button called "Do Thing Nao" in the middle of the screen, but actually tries to be a tool.
Honestly it just boils down to one overhyped method of web design: MOBILE FIRST.
Mobile-first designs create gargantuan gaps of information sparseness on any larger form-factor.
Folks should go back and re-read ethan marcotte‘a Responsive Web Design. He goes from actually a desktop design and shrinks it down. No mention of mobile-first.
So, start with a design, and consider how it works on both form factors EQUALLY. None of this mobile-first crap unless building an app, a whole app, and nothing but a mobile app.
I suspect several of your examples are very likely the result of I18N considerations. Some alphabets/ideographic languages are denser than others. So text areas are set for the compact-est common denominator, and icons are unlabeled for similar reasons.
I really like the distinction of "density in time".
JIRA is a really visually dense application, but it's speed, as well as the number of different screens you normally need to click on makes it feel really sparse despite the dense visuals.
It's not just performance, it's also that the number of clicks to perform common actions is way too high because of feature bloat, extreme levels of customizability, and just plain bad design.
No. Performance is a feature[0]. It's neither good or bad, it's often a desirable feature but it doesn't mean it's bad. A green screen UI will kick the shit out of any modern day web UI (compare old school Infor with a modern SFDC interface). However, it's just another feature, like the ability to create tabs on the UI or use a cursor to move across the screen (vs a keyboard) that contributes to the overall UX.
Unfortunately we’ve had several years of websites absolutely taking the piss when it comes to performance and deploying molasses slow dumpster fires.
A decent level of performance these days should be table stakes, and _high_ performance is a feature. Software that’s molasses slow _is bad software_ these days.
I with you. But maybe there's a line it crosses from feature to critical impediment?
A great example is YouTube in a web browser. My internet is 350 Mbps with 20-40ms latency. Trying to load YouTube in a new browser tab takes a few to several seconds and I'm forced to wait for it to load because the sign in link doesn't show up until the end of the seizure inducing re-render flashes. Safari, no add ons.
I can't believe it takes so long and I think less of Google as a company because of it. Them speeding it up is not a feature in that case. A trillion dollar technology company ought to provide fast as merely baseline. Anything less is them intentionally disregarding their customer.
It’s fine to take time to crunch output. What needs to be fast is interaction. If it tells you “Hang on I’m working on it” I don’t think anyone minds that as long as you can leave it to cook while doing something else.
The places where Jira is dense it is extremely cluttered and difficult to parse. And then places where I’d like Jira to be dense, it’s inexplicably not.
I’m looking at a Kanban board right now. I have a 41 inch display and I can see a total of 9 issues at a time across three columns. And that’s with basically doing everything I can to maximize the space for the board and minimize how much chrome goes around it. I have no idea how anyone uses this thing on a laptop display. It’s awful.
Differance - the difference that makes a difference.
It's not just more, or density: you need to sum the cost of context switches, which depends on context size and continuity with prior, i.e., delta size, which in turn depends in part on relevance i.e., which parts really matter.
Design by committee (including one person over time) loses the natural continuity and integrity of an initial idea.
Yeah JIRA doesn’t appear to cache any of its information and doesn’t appear to make it’s information cache-friendly for a browser, so you end up accidentally clicking on another issue and then having to click back costing you 30 seconds (on work network).
This is true, which is why people need to stop trying to make one UI that can cover both form factors. The two things are very different and require different designs.
> Things which are massively useful on desktop - like searching in a page or visually scanning a large doc are much harder on mobile
Interesting, am I the only one who almost always uses "search on page" and glimpses/scrolls over the entire page before reading both on mobile and desktop? Especially if I just came from a search engine, I search for the "highlighted" phrase.
> Peoples fingers are relatively fat and inaccurate.
They're accurate enough to tap on a single OSK key and get it right most of the time. Regardless, tap targets are only a very limited factor in UX design, so there should be plenty of scope for enhancing information density after accounting for that.
It's important to note though that the _actual_ touch targets for keys are influenced by what you've already written. You can miss the key from a visual perspective but still end up with the right letter as a result.
Autocorrect on mobile is frakkin annoying; predictive "autocomplete" in prose is merely a distraction to be mostly ignored, but keyboard changing touch target size?
I'm guessing that's the reason why I've gotten worse at typing on mobile some years ago, and can't seem to improve it, despite being able to quickly master any similar skill through repetition.
You can tell it's not just you when suddenly your swipe text has randomly capitalized words. I get LoL _constantly_ since the beginning of this year, despite going back and rewriting it letter by letter every time for the first month or so it happened. I'm not sure I've ever typed it that way intentionally, as I don't play the game and neither do my friends.
Ever since Google changed the way they did autocorrect[1] a few years ago it's been pretty terrible and getting worse. There's random "words" that I can't remove from predictions[2] because at some point I used double dashes somewhere and Android remembered `not--it's` as a word itself[3]. Then there's words that I've had to explicitly add to my dictionary because despite using them frequently for a year (eg. CLI program names and options) just one time backspacing to change the ending of one was enough to remove it from whatever temporary memory is kept that's not part of the actual dictionary.
Desktop isn't much better. I actually somewhat like having the text inputs in some programs as I do writing in nontraditional programs (like arbitrary chat programs that don't implement spell check, because why would they?) but it feels incredibly unintuitive, especially when using RDP from my tablet [4], but also when using it locally. Windows is a keyboard-first OS for me, I shouldn't need to use the mouse for any first-party functionality.
1: including autocomplete suggestions, predictive text, and swipe input. I call all of these autocorrect since they mostly seen to share the same dictionary and rules.
2: they're not in my custom dictionary, and dragging the suggestion to the middle of the screen doesn't prevent it from happening again)
3: easy fix, but it needs to be implemented: a single dash is part of a word, a double dash is not.
4: this is an area Microsoft could improve tbh. They know what kind of input you're using when you're in edge or command line. In these software the mobile RDP client should provide keyboard hints to the local soft keyboard to switch input modes based on form input types, and should reset the local keyboard when the active remote keyboard context changes. It should certainly not be deleting entire command lines when I hit backspace in RDP (this is especially annoying in CMD and notepad) as the local software keyboard doesn't know that the my long string was 7 inputs to 4 different programs, not one long input.
I don't know why iPhones have autocorrect on, and why people do not disable it first thing. It trips me constantly so much so that it is an anti-feature when writing acronyms, URLs or any text message with abbreviations or non-standard word.
How do people survive with their ducking auto-correct on, I don't know. I guess they don't type that much.
There's more to onscreen keyboards than you think. At least on Apple's side, they don't just check which key you've tapped, they also check where your finger is on the key relative to its neighbors. If you want to hit a d but hit an f by accident, the keyboard remembers that the tap was pretty ambiguous and you might actually have wanted a d instead. This information helps it choose the right autocorrect candidate. If you only register which key was tapped, but not where, typing accuracy goes down considerably.
All of this was described in detail in Ken Kocienda's book about his time at Apple working on the keyboard for the original iPhone.
Where are you getting this idea that tap targets are a very limited factor in UX design? My guess is: not from the interface guidelines for any mobile platform, and not from anyone who designs apps.
Dense UIs certainly have a place. But, simple UIs are not a fad, as it seems some people in this thread see it. The goal is as simple as possible, but no simpler.
The majority of applications and websites you interact with should be simple, and a few should be complex and dense. The reason is that you aren't an expert at most applications and websites, and you want them to be simple, so you can do the thing you want to do without investing much effort. But for applications you know really well, and use all the time, you want them to be more dense, so you can get more things done with fewer steps.
Because there is no easy, cost-effective, or even feasible way to scale the same application's UI complexity smoothly from newbie to expert, the designer almost always has to try to thread a path between the two extremes. This path has to make sense for the use cases they know about, and the largest share of the users they want to serve. This is extremely hard, not extremely simple, as it may seem from an observer's position.
I think you are correlating "simple" and "sparse". Sparse looks simple but in practice might be harder to use. Mobile restaurant menus, as discussed here a lot, are an example where this doesn't align. In general having to scroll a lot when I could see all information needed at once makes things harder, not simpler.
Our "oldschool" Windows B2B application is quite UI dense. Without looking overly busy, we've got information that can be viewed at a glance that other web-based systems use 6+ pages to contain.
I've seen users struggle to flip between many views in some SPA to figure out if things are right or not in their other system, then come to our system to correlate and looking at one or two windows they see all the same data.
I guess it's just the designers, though it seems CSS and HTML lends itself very well to information-sparse pages.
As we're transitioning to the web, due to customer demand, this is one aspect which I very strongly want to keep. We'll see how it goes.
I think it is the difference between being intended for a professional or consumer audience.
The professional tool is expected to be used for many hours over and over. The ideal design is whatever reduces the cycle load for the user. So you get information dense screens with all the tools up front and exposed. They tend to be intimidating as hell for casual and new users.
The consumer tool is intended to be used rarely at great intervals. The ideal design is that which gently guides the user through an unfamiliar task. so you end up with deep sparse screens. Much easier to find your way but a pain in the ass when you know what you are doing.
I think a lot of designers over emphasize the experience for new users to the detriment of experienced users. To the point that I use "user-friendly" as a sort of euphemism for shitty software design. remember, usable is not the same thing as user friendly.
> They tend to be intimidating as hell for casual and new users.
There are a lot of fields and buttons, but also a lot of "smart" logic that's part of our secret sauce that puts us ahead of most competitors.
I've been pondering if this is an area where we could use a LLM to improve the user experience. Have a way for the user to describe what they want to do, and have the LLM provide the steps necessary to do so.
When new it can be hard to read and understand large user manuals, especially when you're on the clock and need to have this order registered and processed yesterday. A lot of our users are not very technical either, so being able to clarify etc could be helpful.
A lot of the professional tools also have the luxury of not needing to be user friendly. Private individuals will just turn away from tools they don't know how to use, corporate employees just straight up don't have that option.
While true, we do try to make it as user friendly as we can, and do incorporate feedback from users. We've also hired a lot of our support staff from our customers, so I frequently ask them for advice when designing new modules and features.
We're a small but growing company, so I've been planning on incorporating more methodical approaches to see where we might improve going forward.
I'm primarily concerned with providing a great product for our users. However I do hope it has a positive effect reducing the load on support.
It can be challenging though. We might provide great training but then that employee moves on and their replacement doesn't get the same training, so they don'tunderstand fully what they're supposed to do or how our software fits in their processes. And users are often not very technical, while the processes they need to perform often can get somewhat technical due to regulations or similar aspects outside of our control. Guiding the unsure users while not getting in the way of the seasoned ones can be a delicate act.
You can be every bit as dense in a web based application... you can make it look the same pixel perfect if you want to go that far.
I've never been a fan over overly dense applications, unless they are purpose built tools. There's a big difference between PhotoShop and Grubhub. Likewise there should be differences depending on display size and UX... If you're going to have users with finger/touch input, then you don't want things too close.. if it's mostly Desktop/Laptop, you can go much more dense with less issues.
Do keep accessibility in mind, some of us zoom up a couple steps on many sites.
> There's a big difference between PhotoShop and Grubhub.
Others in this thread have already pointed out the massive difference in information density of a printed menu over most menus rendered on a mobile device.
> I've never been a fan over overly dense applications, unless they are purpose built tools.
Thing is it doesn't look super-dense. It's just space efficient let's say. Our UI components, based on Win32, makes it quite easy to have relatively dense UIs that's don't look cluttered or busy.
Like I said I'm sure you can do it using HTML and CSS, it just seems not to be done often.
That said it's absolutely a specialized application. At least 99% of our windows/views would make zero sense on a mobile or tablet.
> Do keep accessibility in mind, some of us zoom up a couple steps on many sites.
Yeah we had to manually implement font scaling, before Microsoft added it to Windows. Certainly something we will support going to the web.
Keep in mind if you're selling to new customers, they may find your web app "dated". The new customers likely won't compare the web app to your desktop app, but to other competitors web apps. And these days the expectation for better or worse is that web apps look and feel a certain way (favor whitespace). I'm sure a dense UI can still look clean and modern, but it will take more effort.
We actually got some ex-graphic designers on our team now, so at least there won't be any more "programmer art" icons and such.
Fortunately our customers are mostly interested in functionality, and there's not a ton of competition. But yeah, a good looking interface does have a distinct impact so it will be something we'll have to balance.
This trend seems to be a western trend. Here is somewhere where I think we could learn from the apps in Japan and especially China.
I frequently feel for any app that I use frequently, i would prefer for it to have many options that I could use to customize its behavior. For instance, Uber
As someone who reads Japanese passably well and uses a handful of Japanese apps and websites, I don't actually agree with this. Japanese apps certainly look more crowded than western ones, but it's mostly with irrelevant garbage, I don't think the density of useful info is actually all that much higher.
> In Chinese apps, I can post photos, message my friends, order food, call an uber, pay transactions, all from the same app
I don't see how this statement says anything about UI information density.
This is just a super app with monopoly over the market. Last I checked (and it's been a while if I'm being honest) WeChat just looked like a custom launcher for other views/apps that all happen to be hosted and controlled by the one company. That's like saying "Android is super dense. I can post photos, message my friends, order food, call an uber, pay transactions, all from the same device"
Pretty sure Facebook or Google would love to be that super app for US/Europe/rest of the world. However, you'd probably shout "monopoly, lock-in, anti-trust, market manipulation" if any single vendor actually tried and succeeded in that. For good reasons too.
> for any app that I use frequently, i would prefer for it to have many options that I could use to customize its behavior. For instance, Uber
The problem is that the era of zero interest rates and (mostly unprofitable) advertising-based business models means the tech industry shifted from making tools to benefit the user to "tools" that waste the user's time. Company targets are often measured in "engagement" such as screen time, DAU/MAU or pointless metrics about how many times some button was clicked.
The zero interest rate era is mostly behind us, but the mentality remains and company targets are still often based on that, so employees are not incentivized to make products more efficient for the user since doing so will reduce the DAU/MAU or whatever metric they're judged on.
Please don’t. Most mobile apps made by Chinese developers, esp. big techs, do employ grid, paged layouts everywhere as though multiple iOS home screens were squeezed into the app. However, most grids in such layouts are useless, distracting, and even malicious from a UX perspective, their mere reason to exist being to steer users into endless rabbit holes of the devs’ multiple lines of businesses for KPI purposes, and thus subject to constant and arbitrary changes. As such, you can find an icon for personal financing in a cloud storage app, or find an icon for groceries in a ride hailing app, only to be replaced with icons for online dating and hotel booking and something something a week later. This density of user-adversarial features is to be avoid by all means.
Wow, the headline is so large, I'm having trouble reading it.
Then there's the sticky header, on my screen it takes up 1/5th of the available space. Or the headings, subheadings and tabs that float away (proximity principle from the blog post) and the column of text, that becomes hard to read because of small line length.
It clearly looks designed, but they should take a look at this post.
I've been on a JavaScript purge recently. One of the underlying concerns is that giant companies can't even build the basics right, like this sticky nav. Front end developers can get JavaScript when they can build reliably. It's not like you need a sticky nav either, it's just extra page load time. Plain HTML just works.
As I was clicking on this link without reading the URL, I was thinking to myself how Vanguard's website got less dense and more terrible. I was surprised when the link took me to Vanguard. Yes, for showing financial information, lack of density is a TERRIBLE idea.
Yeah, but it's beautiful. I guess that's the main goal of a page like this.
IMO, that's a huge red flag. If the sales information puts beauty before functionality, that's an insurmountably amount of contempt they are showing for you before you even become a customer.
On an investment company it's even worse, because contempt is less likely than they just wanting to actively select dumb customers. That's a very strong indication they'll try to steal my money (I have no idea what this one site is tough, it's not my opinion on them, it's what their design choice makes me think).
Related to UI but not exactly on density. Even Refilling a prescriptions from Wallgreen's seems to have become impossible from a smaller phone such mine - IPhone SE2020 - since the control to choose the pharmacy or add a zip code for searching one is not actionable, the interface automatically scrolls down and when I drag the page I can see that it's there but there's no way to access it. It appears to be some kind of React garbage optimized for larger screens but completely and utterly broken on slightly smaller ones. It's not that I have anything against the technology itself but it broke basic functionality of yesteryear that just worked. And to what avail? All seems broken and ugly these days. And this isn't even about looking under the hood and analyzing the waste this wave of technology has brought. Where are we heading to? Is everything about to get worse and worse? Who is benefitting from all this because the user isn't...
> As I assume it's possible to have scalable interfaces in React
React has almost no opinions on web page layouts or anything related to styling. The only type of web page problem I can think of that's specific to React would be hydration errors, and this doesn't sound like that.
The reason that a lot of React interfaces don't scale well is that the vast majority of web pages are very low quality, and React is a popular way to build web pages.
As someone that has written his fair share of raw html, php and js, it's a bit misleading to associate react and these issues. I'm writing in nextjs / react these days, and it's amazing...but like everything out there, if used poorly, you get poor results.
Designing for reactive UI's and accessibility is a feature. Sometimes features get cut, even when they shouldnt.
It appears to be associated with the use of react based visual components - particularly model type dialogs which when they appear allow enabling scrolling but that can appear partially offscreen.
Obviously it's a developer competence issue, but I wondered if there was a React specific trick here - or as you say it's just that popular tech has by definition numerically more low quality/inexperienced developers.
- actually test the UI (different devices, browsers, viewports, scenarios)
- reserve APPROPRIATE time to test UI
- reserve APPRORIATE time to fix the issues
- have designer in tight loop
- have systematic approach to track issues
- test with users
- aim to apply fixes asap so that the fixes gets tested as well
Biggest single factor causing issues is to start late. The time will run out if the styling setup is not robust, it depends on some questionable conventions or libraries, or is simply hacked together.
It is not that complicated, but it is most certainly difficult to do magic tricks late in the development.
React itself is not a root cause. I believe the fundamental cause is a mix of skill issues, lack of knowledge, quality ambitions and time management.
> Biggest single factor causing issues is to start late.
This entirely depends on the dev team working on it and the complexity of what's being asked for. As a developer, I'd rather start late on simple ideas than start early on incomplete and overly complex requirements.
I've seen plenty of projects be absolutely destroyed by product managers and designers with main character syndrome and their own lack of attention to detail and being entirely unresponsive to or flat out inexperienced at answering the technical questions from developers.
Those design decisions are sometimes even late and only mentioned after dev has started. That's completely unacceptable on any project. Requirements and designs are their own intermediate result and demand just as much finality as the product itself. Every revision will erode the final product and mess up a deadline. Developers should not be along for the ride with indecisive designers. Go to the developers with a completed vision and no stone unturned and you will have the best results. Level of experience throughout the project must be equal.
The implementation details are far more important to the overall UX and polish of the result than the visual design. The implementation details can't be ignored or you risk an uncoordinated shit show.
”Start late” in relation to paying attention to details, testing UI and other quality aspects that are not visible in the beginning. In simple terms: budget some time to handle unknowns. Or at least some of them.
When it comes to the amount of upfront design needed…
…yes, everyone agree ”complete vision no stone unturned” is the optimal. That is easy ask.
In real life that is not possible, unless you are working with incredibly small scope OR without any schedule. I.e. not possible. Business with money involved? Just no.
Agree on level of experience. Experience usually helps a lot.
Unable to design and develop system with certain level of uncertainty and adaptability is the real tragedy.
I believe everyone should be interested on the possible routes ahead. Assuming one or two persons are able to foresee some unknowns is intellectually lazy. Expecting them to brainstorm it out to the detail infront of some whiteboard is just not how real life works.
> Unable to design and develop system with certain level of uncertainty and adaptability is the real tragedy.
I'm entirely willing to sound like a naive fool for saying this, but the tragedy from my perspective is business not willing to accept that the majority of the risk comes from letting people with less technical experience be in charge of people with more. That's just plain dysfunction and all too common. Many businesses waste so much money on scaling up their teams when they should be focused on hiring or training up the best.
I'm with you... I use a 5.9" phone, but have accessibility/font settings maxed out. There are a lot of sites with limited or broken functionality. Modal dialogs are the absolute worst... they should be configured to just take over the screen on smaller displays, with the region as scrollable. It's easy enough to do, and has been my approach for menus and modals for a long while now.
I spent 8.5 years teaching at a lower-tier, public "access" university in the US. Don't get me wrong, it was great for what it did, and I was fortunate to work with a lot of awesome people. But we were far from an elite, exclusive institution like Harvard or MIT.
For many years I served on the CS department's graduate admissions committee. Lots of our MS applicants talked about working on sites for major US / western brands, and lots of those kids did not make the cutoff for even our relatively low bar for admission.
I think about that a lot whenever I see that a multibillion dollar multinational corporation has a web page that doesn't work at all.
Computer Science is an odd match for basic programming. I would want a CS department to reject many people who are perfectly capable of making good websites.
I wish the US had a more appropriate path for "software development education" than "scientific study of computing" or commercial bootcamps.
Where I'm from, after high school there's vocational higher education (as opposed to scientific higher education), and parallel to high school there's vocational education.
I'm sorry, but what does poorly implemented responsive design have to with React? I agree with you that most websites are very poorly made, but that's not React's fault (as much as it is being constantly shitted on here on HN, which I really don't like), only developers' (and their managers'). Please stop blaming frameworks.
I don't blame React per say. But with the proliferation of this technology I've noticed lots of things broken (links, history navigation, layout) that render a lot of things unusable to me and unfortunately I see very few upsides. I'm even willing to admit that React and SPAs are a great technology that enables some (few) use cases that were cumbersome before. But, it clearly seems rushed and applied everywhere with no discernable thought.
React was created because we wanted to have more complex web apps. That brings more complexity in development. Empirically, clearly we now see everywhere that most companies don't want to pay for the best version of their websites they can have.
I agree and part of that was delivered, I mentioned earlier that for some use cases SPA tech couldn't be better (well, it could and it keeps on improving and i'm in for it). But it seems that it washed away with good practices, with things that used to work and are utterly broken. Again, Im not blaming React, I just can't help but notice that the brokenness started around the same time React was adopted en masse.
React is great for what it does. But people also wants it where it does not fit (where server-rendered html is enough with vanilla JS). And then they go on to re-implement half the browser features. Badly.
I completely agree with this. Management is usually under a lot of pressure to add new features or fix bugs from the previous release that was also rushed. This has a compounding effect on technical debt.
The pace and scale of application development is also not at all comparable to the past. The level of involvement management has in app dev is much higher and there are more technical contributors who are less coordinated. This leads to a lot of "good enough" thinking instead of paying attention to details.
This is especially true for products and especially at startups. Less so for services at big orgs. Services tend to have a longer lifecycle. Services are usually B2B and the public never sees those UIs.
Maybe not React itself, but the UI frameworks that draw devs to the frameworks, yes. Frameworks like that offer the promise of responsive design to developers without actually helping them understanding how it works, and as a result often fail to deliver on that promise. Splitting everything into 12 grid columns often just hides the actual work that needs to be done. Plain HTML is fully responsive by default, almost all framework components are less-so.
It's true that React almost certainly wouldn't be responsible for what sounds like a blatant layout bug on a narrow smartphone viewport. React has almost no opinions on things like web page layout or touch interactions. I have to imagine the commenter invoked "React" as a sort of scapegoat for the prevalence of low-quality web pages.
This is a really good discussion of density in different forms. I’ve always thought mobile UIs could have a density renaissance, would love to see folks questioning some assumptions of these devices - especially when the trend with LLMs is “wait a long time for a potentially incredibly wrong output” it feels like we’re going the wrong way.
When we first released our Chat+RAG feature, users had to wait up to 20 seconds for the response to show. (with only a loading animation).
And then we fake-streamed the response (so you're still, technically, waiting 20 seconds for first token, but now you're also waiting maybe 10 additional seconds for the stream of text to be "typed")...
And, to my enormous surprise, it felt faster to users.
(Of course after several iterations, it's actually much faster now, but the effect still applies: streaming feels faster than getting results right away)
Presenting information is an art form. A lot of it depends on what the information is, and also, who the information is for.
One of my basic philosophies, is that the UI needs to get out of the way. This means not always using sexy little animations, everywhere (but still using them, if they also work as useful indicators of state transitions), proper contrast, minimizing overhead, like frames and controls, etc. Also, not crowding the display too much.
That said, sometimes, we need a dense display, if we have been trained for it. That Bloomberg terminal is probably fine, for many folks, because they have been trained for it, and it's a daily tool. A lot of Tufte's designs need to be presented to experienced users.
I remember the first time I looked at the train maps in the Shinagawa Station, in Tokyo. They were confusing AF. After just a couple of days, however, I had them down, and appreciated all that information.
I tried using a fancy paid Git client, once, because it was just so pretty.
After just a few minutes, though, I nuked it, wrote off the purchase, and went back to ugly old SourceTree.
There's also a huge difference between "presenting information" and "presenting actionable information". If a display is required to complete a task it doesn't really matter what it [aesthetically] looks like.
> I remember the first time I looked at the train maps in the Shinagawa Station, in Tokyo.
For an example like that, were they confusing because the complexity of all the train routes were inherently confusing to a newcomer, or because it was a poor visualization?
One fascinating thing about attending a Tufte seminar is after 2 days of a rigorous run through of, so far as I know, the only really rigorous attempt to create a science of design, the Q&A session was 80% people asking something along the lines of "Yeah, but I should still keep doing what I've been doing, because of these reasons that I want you to say are good." Frankly I was impressed that the man didn't literally face-palm, although judging by his expression he was in his mind.
Sadly, so far as I know he's stopped doing live courses.
When I hear of the preference of form over function for data, I think about the sinking of the SS El Faro. The captain relied on weather data from a Comercial service because they were pretty. On the "black box" one member of the bridge had said something about the weather stats and another person mocked "oh, but that's not a pretty graphic" (the captain was below sleeping). They had tried to get the captain to agree to change course many times, but he always refused telling them to come back if things got worse, unaware of how bad it already was since he was below deck. He had never bothered to notice the data his service provided was several hours old, and ended up sailing right into the eyeball of a hurricane.
One thing that really frustrated me with some designers in the software industry is that they seem to want to instinctively do very sparse designs akin to Twitter, etc... I've typically worked on engineering/scientific software where the audience want to see a lot of information and have many controls on the screen at once, often with customisation to make their workflows easier.
They do it while claiming it’s easier for the users, too.
I call bullshit. I want to see the studies. I very much doubt they exist.
One of the only sites my elderly father who can barely use a computer at all can navigate unassisted with any amount of confidence is craigslist. The “friendlier” and more “modern” the site (or app), the greater chance he’ll get lost and confused in it.
I bet the study, if there is one would be something like “some degree of white space can be helpful for delineating sections” and that conclusion has just been wrung to the ends of the earth, producing todays pointlessly sparse UI’s.
I think it's provably bullshit with a simple thought experiment - what happens when you make a site "sparse" (removing controls, more whitespace, less information density)? Things that used to take 1-2 clicks to do take many many more clicks, as menus get buried under sub-sub-sub menus now to accommodate all the space you just wasted. When I'm designing a UI for personal use, I design by how many clicks it takes me to do a common task. Any design implementation that increases that metric is a hard no to me. It's a very provable, easy metric. More clicks = less usability. Full stop. Especially when the clicks are hidden behind confusing and inconsistent icons that you usually have to guess the meaning of.
People can read. What no ones like to do is deciphering icons or hunting for elements because every updates keep moving them around. And relayout, because SPAs. In the old days, you learn what a button does and you can expect it to stay where it was for years.
Yesterday I upgraded Chrome on Windows and they replaced the folder icons in the bookmarks bar. They changed it about a year ago, but there was a flag which allowed to revert it to the "old" interface. This flag is no longer effective.
Now two folder icons (ridiculous outlines of folders) side by side take up the space of three old yellow folders, and the menu item entries are all bold and super spaced, so I need to scroll a lot.
In every Google product I first set everything to compact mode.
What is it what makes these designers think "let's make this item take up a lot of space"? Don't they think that people also want as much on screen as possible?
To me this is a dark vs. light UI discussion: compact vs. spaced.
The one reason I loathe to use Dropbox web app was the big buttons. It's like they were designed to be projected for training and not to be used with a desktop. The main important view (the files list) only got 60% or so of the physical space.
Uggh, Chrome on Linux did the same thing. It honestly looks like someone updated Chrome but forgot to test on linux. Why are popup menus all bold and twice the size of system popup menus now?!?!??!
A rather disappointing read. I was expecting an analysis explaining why there is this trend towards very sparse interfaces, or practical ways of designing interfaces that are denser in the face of design trends that are pushing all product teams to do ever more spacing out.
Instead, what I found was a reminder of the ‘laws of design’, which are certainly interesting, but which are only tangentially linked to this drift (in my opinion); and to take the most extreme example of sparse interfaces (the Bloomberg Terminal), without really any concrete elements that could help bring a little density back to our user interfaces.
...not to mention what ends the article, a lunar explanation along the lines of ‘Google's very high stock market valuation compared to Yahoo can be explained by the lack of density of its home page interface’ - really? Come on.
Agreed. Seems like a long winded lead up to what reads to me like a mildly condescending Gestalt 101, followed with the same examples I've seen in countless other blog posts over the last 15 years and very little in terms of actually discussing design trends.
I was sad about the Tufte example because it looks really interesting and didn't get the much treatment about the trade offs to density (I'm sure Tufte went in to all of it extensively even if he came down on one side). I suppose the author didn't consider it relevant.
Those little + make the left graph much more expert user friendly. A chemist isn't looking at the graph to see that there are peaks (they know that, they're chemists), they want to find actual points on the line and the + are enabling a level of eyeballing on the low-density graph that isn't possible on the right.
If I'm a heavy graph user, I want the low density one. The high density one isn't for daily use - it is for appreciating as a one-off or learning about periodicity of elements.
Is your opinion an opinion of the "that's just like, my opinion man" or of the lawyer's style? Because I've yet to read a book on typography or see statistical data presentation that suggested going in without horizontal guides for the eye.
Tufte's minimalist graph is much better if it is meant to tell a story or be shown to an unsophisticated audience. But if someone wants to actually refer to the data on a regular basis some guides are a much better approach that will cut down on stupid mistakes. Eyes aren't very good at scanning over blank space without drifting.
Continuing on from the Google/Yahoo example, I would be interested in the author's analysis of not just the landing page, but also the results pages. The search "value density" on google, bing, youtube, hn, chat.openai.com etc. are quite different these days.
Most apps and sites don’t have much to show for, especially institutional ones. So you’re left with a whole lot of space to fill with… something. Even if you have text, most text is pure noise, also made to fill space, that goes for images too: you just have to render stuff to convey that you’re unique, insightful, trustworthy and so on; that goes for brands and individuals. I do feel the heavy preference of users of this site towards low whitespace (they’re users, after all), and I don’t personally like it, not because it’s distasteful, but because it makes me do a lot of mistakes and confuses me a lot, so I waste some time compensating for the lack of adaptation towards my ergonomic and cognitive needs. But I won’t hate on it. I embrace it because it serves me well. The same goes for whatever style you wish to shape your content. I think we start to see design when what’s contained in it offer little to no value (considering it’s minimally usable). So I think good content is what we should primarily strive for, whatever style we package it in. It’s funny how most clients get visibly uncomfortable when you make a design that’s direct. Don’t hate on designers; most just do as they’re told, or they’re selected based on the traits the higher levels expect. It’s an illusion to think most professional designers own their work and can reasonably be blamed, if anything, blame the market’s invisible hands.
This is of course a great, well-written post, clearly summarising various important and even immutable principles that have been part of information design for over 25 years.
Too bad the vast majority of designers being paid to create UIs today not only won't read it, but wouldn't understand how to even use it. UI design today is utterly full of fail because the people doing it are so far away from the type of thinking in this post that they wouldn't know a well-designed information space if it exploded in their custard.
We've done the trick of "short animations for delays <1sec", and "indeterminate loader for under 10sec", but one thing that's not mention is that the "determinate loader for waits between 10sec and 1min" is a huge marketing opportunity.
This is where you get to show the value of the product by listing "how much work" is getting done. Similar to how travel sites will tell you, while you're waiting for results, how many airlines they're comparing on your behalf.
> while you're waiting for results, how many airlines they're comparing on your behalf.
Of course as someone in computers I know that the computer can do all of the actually work faster than my screen can refresh. Even accounting for network latency, all the work is done in less than 1 second - everything else is either inefficient code, or intentional delays to make the problem seem harder than it really is. Both of them are things that anyone with computer training should object to.
Aha, yes of course I'm only talking about cases where the actual processing time is over 1 second and you can't help but make the user wait (or do something else in app in the meanwhile)...
Delaying a 1 sec process to show me 10 sec of ads is one of the many definitions of evil
Sometimes the ads are subtle. Tax software isn't showing ads directly - they are just trying to give the idea that taxes are hard and so you should be glad to pay a lot of money for it - even though all the calculations are a few ms for any modern computer once it has the data. However if you think taxes are easy the whole industry goes away.
I'm not sure you're right here. I used to work with the hipmunk founders and I recall them mentioning that the comparison/flight search is actually pretty computationally expensive.
Even Google flights takes special consideration to show loading indicators here, and I'm sure they've put a lot of resources behind making it fast.
Another thing not mentioned in the article is for delays >10s, a loading bar that fills slower at the beginning and faster towards the end feels faster than one filling linearly or accurately reflecting progression.
Using load times to convey something while users wait is fair however I would bet shorter loads times always beats however good a filler, unless your business is to trap users in load times to feed them more ads of course, in which case that's a whole other problem.
That actually makes a lot of sense, because "filling slower at the beginning" provides a worst-case estimation of total completion time. So users are a lot less likely to be negatively surprised by a random, unexpected delay.
Yes, we do that too.
We have an estimate for total completion time (with a min of x seconds).
We have 16 steps that are each shown for 6% of the total estimated time.
If the job finishes early, then we rush through the remaining steps and announce it's done.
If the job takes longer than the total estimate, we show a few more "steps" that are humorous ones. These ones loop.
I find those sorts of fake delays to be infuriating. Depending on my mood, and where else I think I can get equivalent information, there is a pretty decent chance that about halfway through the BS progress sequence I'm going to navigate to a different site.
At best it makes me think the site was designed an implemented by incompetent people. Not a great look.
The Bloomberg Terminal has evolved from an 80x25 hardware terminal where the application layout was done remotely in our data centers. (Note, users and insiders refer to these as "functions" instead of "apps", but I'll use "app" throughout as it's likely more familiar to the HN audience).
When we ported it to a Win32/GDI program, the client was kept intentionally "dumb" and so resizing the window led to distorted text rendering. This was necessary to keep the 80x25 cells aligned, as the layout was meaningful.
Fast forward to the 2010s and we started offering our app developers a way to implement "more content" when resizing rather than just stretching it. Note also that there are plenty of "form"-style or "calculator"-style apps where there is no more content to show; in those cases resizing just adds more negative space around the UI. Now we are in the 2020s, and most of the apps have adapted to either "more content" or "more negative space" as needed.
There are ~1000 apps on the terminal and they all have their own roadmaps and business deliverables, so UI upkeep cannot always be a priority.
Opinions my own, etc.
EDIT: the above information is still correct, even if the <img> tag in the OP article is distorted.
> Since monospace fonts are fixed width, wouldn't swapping out 1 monospace font for another monospace font (that's more readable) be seamless?
Not sure I exactly understand this suggestion - but if I do, wouldn't it require a different monospace font for each possible configuration of the window size?
The "normal" window size was set such that each character cell was 9x19 pixels; this makes the window 720x475 (ignoring window borders added by the OS). If the user resizes it to, e.g. 721x475, there is no specific font that can be added to substitute; instead that extra vertical line needs to be inserted somewhere.
What I mean is, there's plenty of monospace fonts that can fit within a 9x19 pixel grid.
And since the 9x19 size doesn't change, shouldn't you be able to substitute any 9x19 monospace font with another equally sized.
(The 9x19 grid doesn't change, which mean the UI wouldn't change, but you could use a monospace font that has more readable letter forms than what's currently in use)
Yes, we could. However we specially commissioned this font from Monotype (creator of many famous fonts). It's called Bloomberg Fixed Unicode (you can search around for samples/copies which I won't vouch for here).
I also won't comment on the aesthetics of this font, but the choice is intentional and part of the branding of the Terminal product.
That is an old screenshot. The Bloomberg Terminal currently uses a fantastic set of proprietary fonts designed for the company by Matthew Carter (who did Georgia and Verdana).
Bloomberg is kind of a funny one in that on the hand it's extremely dense but the density is very local.
Lots of numbers in Bloomberg should really be a clever chart rather than a bunch of numbers. There's a reason why traders have so many screens, often so they can build their own visual equivalent of the pile of numbers e.g. it's nice to have a chart where you left it.
Speaking of numbers in finance: A problem I have using what I'll call "big tech data" tools in finance is that I often need to care very deeply about fractions of a percent whereas these tools are basically made for terabytes of sloppy data for use in a machine learning model.
>The UI was much less visually dense, but more value-dense by orders of magnitude. The results speak for themselves: Google went from a $23B valuation in 2004 to being worth over $2T today — closing in on a 100x increase. Yahoo went from being worth $125B in 2000 to being sold for $4.8B — less than 3% of its peak value.
I liked the rest of the article until this nonsense statement.
I think what is also important is "searching with your eyes" vs "searching with your fingers". If you have a lot of information to present, you can either have it hidden away or try to present as much of it as possible all at once.
In the first case the user has to search for it by clicking into submenus or scrolling in the later he can search by just moving his eyes.
I do think that searching with your eyes is often preferable. It is all around faster, especially if you realize you have been mistaken and need to search again.
I hate it if I need to scroll horizontally just because the content only occupies a third of the page in the middle with great white spaces to the left and to the right of it.
Just because you have a wide display doesn't mean that all of it can or should be used. For example, lines of text not taking up the whole width is a good thing - if you have to turn your head to read across the screen, it's more straining and takes more time. It's the same reason why newspapers are printed in columns and not across the page.
Now, depending on what kind of content you deliver, that empty edge space can be filled with something else (like what Wikipedia does) or just be blank if there's nothing useful you can put there.
In general, I agree, but there are some things that should be allowed to go wider when the space is present. In particular, horizontal scrolling is evil. Sometimes it is a necessary evil, but forcing it because the wide content doesn't fit in the width that you are using for reflowable text is bad.
> It's the same reason why newspapers are printed in columns and not across the page.
In fact, arguably the point of a wide display is to create your own columns i.e. putting more windows on the screen, or more panels within a single window in an application like a code editor. What's the point of the real estate if you just put one browser window on there? I only go fullscreen to watch movies or play games, which is somewhat analogous to full-page media spreads in newspapers.
Off topic: I’m halfway through the article and can’t help but notice the relatively high number of times a word is erroneously repeated twice; wondering if it was “edited” by AI.
Looks like the author draws a lot from Edward Tufte's The Visual Display of Quantitative Information - I would recommend it to anyone interested in design, it's a very interesting read with a lot of neat visuals. Some complain that it might be a bit heavy on map related examples, but I say that's no problem since maps have pretty much the same goals as effective UX, that being organizing and presenting information to the user accessibly.
I'm dealing with this now on an accounting app I'm building that runs on both mobile and desktop. I've come to the conclusion that the mobile app and desktop app will need two very different designs. I want the mobile app to be useful for quickly checking a dashboard view and to easily enter transactions while the desktop app needs to be very dense with the choice of a compact view to reduce padding ala Gmail.
Information density in many areas are out of whack these days.
Reminds me of people taking pictures of my presentation slides at conferences where four bullet points with short phrases (say, 50 words in total) turn into a full 12 megapixel photograph.
Similarly, my entire PhD thesis written in LaTeX is a 4MB PDF file, whereas my wife's is a 700MB MS Word monstrosity. Both are mostly text, math, line plots, and tables...
On one hand, we want the web to be accessible and weird: for anyone to make a webpage and share their thoughts.
On the other hand, your site better be perfect, even if you aren't a professional web developer. If you are a professional web developer, you probably still won't meet the bar (though you will probably use fancier tools).
It's a funny dichotomy. What is anyone supposed to do?
I love dense UIs, but in my experience they're very hard to design. You can easily make an OK design if you add a lot of space and padding, but to make a dense UI look good you need custom borders and textures, and you need a permanent vision so you can add more widgets later that won't look weird. It's sadly not a paradigm that works in many scenarios.
After talking to many users I have realized , most of them want a Single page app. They want to get their work done. They don't multiple pages, just one simple page to do everything and finish their work. Good UIs(mostly dense) try to enable it and they are loved by users.
> The UI was much less visually dense, but more value-dense by orders of magnitude. The results speak for themselves: Google went from a $23B valuation in 2004 to being worth over $2T today — closing in on a 100x increase. Yahoo went from being worth $125B in 2000 to being sold for $4.8B — less than 3% of its peak value.
Wait what??? THAT'S how you explain the differences in how their businesses fared - by the density of their UI?
> THAT'S how you explain the differences in how their businesses fared - by the density of their UI?
Well it's a silly statement to make of course, BUT there is some truth behind it. Their search pages are a microcosm of their approaches to business. In 1999, the search page was THE reason Google was able to make traction. And you can still see the influence of that minimal design in their stuff today. It's kinda their thing.
Yahoo! could have copied them. When they felt Google breathing down their neck that would have been the obvious thing to do (or preferably, way before it got that far). But to this very day they are stuck in their old ways! Amazing.
Google in 2004 was also an advertising company - it's not like there was a point where you paid for searching directly. 2024 Google is more of an everything company that's primarily funded by advertising - they tap into search and every kind of content imaginable, make hardware, do research. It's about the number of services - in 2004, Google had barely launched Gmail yet.
I was using a Chinese website recently based on the “ant design” [^1] library / philosophy. It’s a really UI dense way of doing things and I enjoyed having everything there without having to go hunting into menus.
On the face of it, this looks no different from average Google documentation pages; do you have a better example? It's certainly not as dense as the bloomberg terminal.
A good read; it captures a lot of the key points. I'd like to mention consistency -- especially for complex UIs. An expert user who has taken the time to learn the ins and outs of menus and keyboard shortcuts will RESENT you for making what seem like (and often are) superfluous changes to their workflows.
You might also want to discuss Fitt’s law. Difference between a diagram (Tufte) and a GUI is that we only look at a diagram, but a GUI we interact with, which means we need to ensure people can actually click/tap/select the element of interest. Higher density makes that harder.
I was with you until the last sentence. Removing borders makes it harder. Not being able to see the actual area of a clickable target makes it harder. I never had trouble knowing what to click in the early 2000’s, when UI was ostensibly more dense.
I don't think it's fair to put an equation sign between a company valuation and its perceived "UI density". I believe Google would have been just as successful with a really busy home page too.
This is a good article. I always try and articulate these point by talking about how useful and quick and dense phone books where when they existed.
And as for fast load times. Might I say that server side rendering may just have a reason to exist again!
The vomitous waste of screen space in UI these days feels like the digital equivalent of inflation. My phone has four times the screen area of my first smartphone yet it shows the exact same number of notification when I drag the bar down.
I despise the direction the Jetbrains editors are headed towards. Even with the so-called "Compact Mode", the sidebars take up double the space of the old sidebars, while containing less information contained within them and requiring more clicks than before to get to some menus. Icons everywhere, no actual label text anywhere, and the labeling option they begrudgingly added back would be gut-bustingly hilarious if it weren't so depressing, see [1] for what it looks like.
This modern trend of gigantic paddings/whitespace everywhere and abstract flat icons everywhere is horrible to me, and I don't think it even really looks better than the older interfaces they're usually replacing.
In addition to varying over time, UI density also varies across cultures. Currently, East Asian websites tend to have higher UI density than Western websites. See, for example, Rakuten’s home page in Japan vs. its home page in the US:
If you're building an app that people use for work and open every day, you should make it dense. People want to get work done, fast. They don't care about how pretty it is.
My last gig I built a campaign management interface. The designer kept coming back with something that showed 10 lines per "screen". I kept showing them the excel spreadsheet we were replacing that had been configured with 8pt fonts so it showed dozens per screen. It's really hard to switch design patterns from consumer/prosumer to professional.
Knowledge workers who "live" in the tool want as much data as possible, as quickly as possible.
Yep. I really can't stand tools made for professionals that paginate lists to 10 items at once. Even my invoicing software does this. I have 200 invoices in the system and can only see 10 at once? Maddening.
This is the reason I don't envy the UI designers on products like MS Office. There are professionals who use products in the MS Office suite every day, but there are other users who only need to create the occasional spreadsheet or powerpoint. Even if you think Microsoft has done a poor job with the UI, one can't deny that reconciling the differences between casual and power users is a difficult job.
This is why Microsoft used to have multiple office suites, there was microsoft office which was everything and the kitchen sink, then you had Microsoft Works which was a stripped down simpler office suite, then you had wordpad for when you need something more than note pad but not a full office suite.
I understand why that seems like an appealing solution, but there are some pitfalls with creating multiple distinct UIs:
The most obvious pitfall is that more UIs = more work. There's the initial development, but it also increases the work every time you need to add something to the UI, and increases the likelihood of bugs. Microsoft could afford this increased cost, but it's not clear if it would be worth it.
Secondly, having multiple distinct UIs makes it difficult for someone to transition from a "casual user" to a "power user". If someone who has only used the "simple" UI switches to the "power" UI, they have to re-learn everything from scratch. Additionally, if there are any features limited to the "power" UI, it's extremely difficult for a "simple" UI user to discover those features even exist.
That doesn't mean that creating multiple UIs isn't ultimately the right solution for MS Office. It might be! But doing that comes with downsides, and I can understand why Microsoft doesn't want to go in that direction.
> They could just have a “quick edit” mode, a “read” mode and a “power user mode”.
Would the density of these interfaces increase or decrease? An actual power-user would master all the shortcuts and would prefer a zen experience where only the document is visible, with no widgets whatsoever.
I'm 100% with you. I ran an Enterprise Apps org within corporate IT for about 15 years and the #1 rule is that the tools must be functional.
Unfortunately, this frequently results in technical debt because "functional" often means "complies with whatever business logic the current sponsoring org (Finance, HR, Supply Chain/Procurement, Ops, etc) wants that week, and the result of that is that many internal enterprise apps get wholesale rewrites every 4-5 years because it's easier than refactoring.
This set of phenomena is completely foreign to SWEs and PMs who have only ever worked in big tech, on consumer products especially, and the reality is that while some engineering teams in some companies are sometimes doing hard and creative work, the majority of big tech SWEs "moving protobufs" is much easier and less complicated than the kind of crap faced by enterprise IT.
Dense every time! Youtube and Twitter’s UI’s are so sparse they display the same amount of information on my phone (6.1”) and my desktop (24”). And they waste vertical space like their designer only use square/vertical monitors. I’m clicking with a mouse, I’m not touching the screen with a brick.
Two basic strategies: Design for the median user or the least common denominator. At web scale we are often driven to least common denominator out of self defense, because lower power users squawk more about confusion than median power users do about efficiency.
> Your standard users never become high power users on your platform
This is considered good, because if they become power users and get their stuff done faster they'll "engage" less and we can't have that.
Remember that today's career incentives in tech companies means tech is primarily there to drive "engagement" and is not there to solve the user's problem.
If your design is very dense, then a new user will be scared away. If you NEED growth, you can't afford to scare away users. You need to cater to them as much as possible. You need them to tell their friends "yes its very easy to get started with".
It leaves no room for a learning curve.
And this is also something we have come to expect. So anything with a learning curve feels like a massive investment, and we feel dumb whilst using it and not knowing how, because everything else is so dumbed down that it is instantly intuitive. This has made computers and software very popular and widely used. And I am happy for my (grand) parents that they can use these things now.
But it has come at a great cost of productivity for everyone. Because even the designs where we would have invested the learning time to get faster, can't invest that time, because the interface is so simple it becomes limiting.
>Design for the median user or the least common denominator.
Design for the least, compare against average, and don't cap the best, use those agents as immediate beta-user -> quality/dev feedbook loop, dog-fooding user requirements as a fundamental base, and don't let perfection impede progress.
Business apps that my customers want, crazy dense. Some of these I look at and I'm "man this is a lot of stuff" but ... then you get used to it and it works.
Yeah, some tools are built for complex, niche workflows and as a result need to have information and control density. You can't design away the learning curve in these cases and probably shouldn't try to or you'll harm the pro-end of the userbase's UX, meaning someone can't do their job quickly/efficiently enough.
Almost everything wrong with modern web UIs is arguably down to the contradiction of designing for both web and mobile at the same time. These two paradigms are not compatible. If you try to build a responsive UI that caters to both, you'll throw one or more of the groups under the bus. If you want to do both paradigms justice, you need two separate designs altogether.
Low density UIs specifically happen when you attempt to present the amount of information a 7" screen can display onto a 27" screen.
More and more I find myself wondering about the use cases companies imagine when developing websites and apps. My bank is trying to implement a new UI for their online banking and they are trying to mimic the UI of their mobile app.
The issue I have is that the mobile app is already so dumbed down that it's pointless and I don't use it. When you have limited screen space you need to decide what to show first. For my bank it's the status of a MasterCard credit card I don't own on the first screen of the mobile app. Next is some pointless overview of my accounts. I say pointless, because all context has been removed, in favor of massive amounts of white space.
Now they want to replicate this interface, but for larger screens. Most of the screen is white space and you have to click on everything to get details, details that would fit perfectly well, even on a small laptop screen. Also nothing is obviously click-able, because why would you add visual clues that just taints their beautiful white space.
For the most part I think that companies would love to ignore desktops and large screens. In some sense they may also be afraid of presenting users with details overviews, either is to make everything seem more friendly, or to discourage usage.
The time where an application is perfectly tailored to the machine you're using and everything is near perfect happened, but I think that ship has sailed.
That was the brief moment when the iPhone was the only smartphone to target and was 320x640. Or when the majority computer screens where 1080p at most and the browser would be on more than half the screen estate.
But for your bank for instance, if their UI is optimized for a 6" diagonal window, they'd probably expect you to adjust for that instead of them trying to be perfect on every screen combination that could happen on earth.
That's also how I see many support chat apps' choices of spawning a popup when running on a desktop, to reset any browser size the user was trying to use in the first place (users are still free to do whatever they want with the popup, but it's a good indication of what size it's supposed to be)
Are they trying to mimic the mobile app, or is the web-based online banking app just the mobile app with a slightly different skin? For my bank, it's the latter.
to expand on this for anyone that isn't aware; most front-end teams are rapidly converging on using systems like React-Native / Flutter / Ionic; which allow you to "write once, deploy anywhere" e.g. mobile web, mobile app, desktop web, embedded / PoS, and sometimes tablet and watch.
This is possible by abstracting the layout engine (generally to match a web browser) and having UI control running in transpiled JavaScript.
In more practical terms, this means its easier to have one team managing your website and mobile app, reducing the number of specialist roles and minimising feature disparity. Generally it saves on duplicate work as well and makes timelines easier to manage.
For banks specifically there are a bunch of wins with respect to only having to ensure legal compliance of one application; this applies to banking laws - where certain information must be communicated at certain points, and to public accessibility laws. Most of these frameworks have a lot of tooling around language support and accessibility integrations.
So even if these experiences are inferior, it is very much worth it to the providers.
For the vast majority of people, the mobile bank app is far more useful than a desktop oriented web bank. Many (maybe most by now) don't even own a computer.
I do think you're right. I know a number of people that doesn't own computers anymore and even more who are just doing everything on their phone.
One interesting usage I've seen is especially younger people, who have a debit card which doesn't allow an overdraft. They then keep their account at or around zero and only transfer the amount they need to the card account before every purchase. That usage is supported way better than my attempts at managing saving, paying large bills or keeping track subscriptions and other spending for the past week.
One of their other accounts. I don't know how it works else where, but it's not uncommon to have two, three, four or more. I think my dad at one point used 10 to segment his finances. Accounts normally don't cost anything, or very little.
Most people have at least two. One of their incoming paycheck and one for their debit card. Most have more.
I prefer to think that responsive design is still in its relative infancy and as an industry we simply have not completed the shift in mindset that is necessary. When we work stakeholders who are not technical it's clear that they're 1,000 miles away from the mindset, and the average designer is still somewhere from 10-999 miles away. Fluid design is a big step forward and while we still don't have anything near a bible these are some example principles:
* Size elements relative to the size of the viewport, some things should be smaller on little viewports, some things should be a little bigger, the CSS units for this are still just coming together. Use formulas and percentages, not pixels.
* Think about the correct layout direction for everything on a portrait vs landscape orientation, should those items be in a row or a column? This often requires only one CSS property to change
* Hide information density behind an accordion or modal if you need to on small viewports, don't just remove the functionality for all versions of the application. When people strip away functionality, I find design is rarely the true justification -- more commonly they no longer want to pay the maintenance cost of the feature and are using a redesign as an excuse.
> I prefer to think that responsive design is still in its relative infancy and as an industry we simply have not completed the shift in mindset that is necessary.
Absolutely. We finally just got container queries! Responsive design using screen width was always a sham. A stop gap to all the work the browser devs and standards bodies had to do to figure out what worked.
You are correct, but I think we're lacking in things even more basic than that.
Pretty much every single responsive design I ever worked had either the mobile or desktop version as an afterthought. The mobile was just a "scaled down" version that was done last-minute, or vice versa.
Is there a sidebar? Hamburger menu it is. Is there a list? Well just put every row on top of each other.
Sure, this makes things easier for the both the designer and the developers, but putting just a bit more effort in the "secondary" version would be enough to make both versions better.
> A stop gap to all the work the browser devs and standards bodies had to do to figure out what worked.
We now exactly what works. UI didn't suddenly appear in 2024 out of nowhere.
What you need are actual tools to build UIs, and not a hodge-podge of hacks thrown in together with no long-term planning, and aimed at displaying only text and a couple of images.
Just giving the ability to get an element's size without causing a full-page re-flow and re-layout would give much more power to UIs than any number of relative sizes and container queries.
There's only a few apps that qualifies to be app, and for those, flexbox is usually enough. But most apps are actually document viewers and a few buttons to select, filter and sort data (you don't doom-scroll on Photoshop). And if you want to design a document (or a form for that matter), you either go with the reflowable mindset, or you do preset sizes and constraints.
Even with native toolkit, an app like this one will require custom widgets and layout engines. The equivalent is Canvas, but I don’t know how performant it is.
> Even with native toolkit, an app like this one will require custom widgets and layout engines.
Yes, yes it would. That is why I wrote this: "Just giving the ability to get an element's size without causing a full-page re-flow and re-layout would give much more power to UIs than any number of relative sizes and container queries."
Because on the web you can barely make custom widgets and it's almost impossible to do custom layouts.
Unless, of course, you use the equivalent of early 2000s Windows GDI in the form of Canvas, or a limited subset of OpenGL in the form of WebGL etc. And yes, people end up resorting to that. Look at what Figma wrote: https://www.figma.com/blog/building-a-professional-design-to... "Pulling this off was really hard; we’ve basically ended up building a browser inside a browser"
Come on, the rest of us do not consent to your attempt to move the goalposts here and redefine "good UI toolkit" as "I can build Cubase in it." Your comment is not really constructive.
I'm not moving goalposts. I'm refusing to accept the verifiably false statements about web's suitability for app UIs.
To repeat my statement: UI didn't suddenly appear in 2024 out of nowhere. We know what an app UI looks like. And the anemic "flexbox is good for most apps" is verifiable bullshit. This is the constructive criticism.
I have a 38" curved wide screen with 1600 vertical pixels. It represents the peak of all the monitors I have bought over the last 25 years.
Me in the year 2000 with a 1024x768 17" CRT would be flabbergasted at the amount of wasted/underutilized space that exists today.
Vertical space is precious, and it's why I paid more to have those 1600 pixels. And then Microsoft decides to not only enlarge the taskbar, but to not provide an option to turn it back to normal. I have to resort to hacks to wrangle MS Windows (primarily a Desktop OS the last time I looked) back down to size and reclaim my vertical space.
You need to rotate your display to portrait mode. ;-P
Serious point: a secondary 1080P display in portrait orientation is actually quite fabulous. Documentation gets parked on the secondary display. Line lengths remain readable, and you get lots of vertical space.
Low density UIs were a scourge before mobile. There has always been a kind of designer who privileges "negative space" over everything else and can't imagine any greater luxury than having a 27" screen and devoting 26" of it to whitespace.
Famously derided in the seminal work "The visual display of quantitative information". There they give the thought experiment: weigh the ink on your page devoted to data points, compare it to the entire rest of the ink. You want the largest ratio possible.
which relates to a strong preference to use whitespace as a tool for visual organization. If you could separate two areas of the plot by drawing a line with them, Tufte would have you use whitespace instead.
Tufte certainly loves complex charts based on complex data, drawn as economically as possible. He'd also recognize that there's a time for a simple chart based on simple data and that such a chart should be as simple as possible: if you want to make a bar chart with Excel with the last 12 quarters of revenue for your business for instance he'd accept that, but insist that you turn off as much chartjunk as you can.
I think about this every time I browse a web site, and the text is this tiny, 5" wide strip down the center, leaving 10" of empty, useless whitespace on both sides. Thanks, designer. I'm glad I bought a 27" monitor for this shit.
My large company just launched a project to encourage previous employees to come back and apply to jobs again.
Business decided it would be mobile only, web support is 2 years away at least.
There's been a lot of issues because, A, nobody wants to install their previous employeer's spyware app, B, nobody wants to do job applications on a tiny screen, and C, a lot of the step up authentication requires the web browser, but is explicitly disabled for these folks meaning lots of them can't complete login.
It's completely bonkers.
The worst part of it all is the mobile app requires authentication for everything, including resolving tracking links and shortened urls. These people HAVE to go to the webpage to sign up and get the mobile app, but then can never visit the webpage again.
Except that studies show that users expect both similar content and experiences regardless of device. Responsive web design, with progressive enhancement, is the foundational bridge to make this experience work well.
Just because someone experiences a less than ideal experience of RWD in one or more places doesn't mean to group all RWD UI experiences together as bad.
It's more practical spend less time developing and testing one global component than more than one.
I think there's a "theory" of rotating UX (same features in one way when in one space, another way in another space). But I can't find writings on this.
Browser spec creators and browser vendors have been implementing touch and non-touch UI differences in common primitive features since the 2010s. Example, if you use at a <select> element on desktop browsers and mobile browsers, I would say it falls into a similar idea as rotating UX. There are countless other examples, too.
Could there be improvements? Absolutely, and that's where we get to have a voice.
I actually support responsive UIs that work for small and large screen sizes - however, in past ~10 years this has been in vogue, I've rarely seen UX, product, or devs who really "get it". I.e. columns that wrap or resize, buttons that have labels and icons on desktop, etc.
You have a good point, though I'd say at the heart of it the issue is that design is just complex and there's no one true way to do it.
You point out web vs mobile, but of course as you probably use "web" as a shortcut for "PC", web also applies to mobile. Then on a 27" screen you might have one window full screen or 20 windows overlapping and an actual 7" browser to display the site. And others will be on PC, but with a 13" touch screen. And others on a 10" phone but split in half.
Then some people will increase text size and your design will need to deal with it.
Before you realize it you have dozens of constraints and requirements to think about, start dropping some to satisfy others, and inevitably people will be pissed at the result.
The biggest problem isn't sizing or font sizes, most designs stretch and scale and deal fairly well with that like even if you kick it old-school and use tables.
The big problem is catering to different input methods. A mouse has far greater accuracy than a touch display. You can put two links mere pixels apart on a desktop interface and that is fine because a mouse is more than accurate enough. The smallest interactive element a keyboard-and-mouse user can hit is probably about the size of a single period in a font. There are other issues with doing that, I'm trying to highlight the sort of accuracy you have with a mouse. A mobile user could never hit such a small target.
On PC, you can enter text and show the full content of the website at the same time. You can search in the page with a keypress. You can open multiple web pages at the same time. That is not possible on mobile.
Yes, although clicking links on a page with mere pixels between them is still a PITA for many users. I was reminded of this using the super cheap mouse and acquaintance was using on a dinning table, and getting precision was possible but really frustrating. And they didn't like trackpads.
As more and more countries have aging population I'd expect these kind of accessibility issues to be more prominent. Sometimes I feel like using modes (vim style) could help, with the user getting different tradeoffs when "reading" and "manipulating", if there was an easy enough way to switch between one mode and the other.
And miraculously base html/css already solved that. There’s a reason desktop UI don’t work on small screens and that’s the same reason you don’t do magazine layout on small books. Html is reflowable because that’s the only way it can work across different screen sizes. But designers like to think their canvas sizes is the norm and do layouts that shouldn’t be done.
I'm with you on the size issues, though I don't see html/css as solving it completely.
At the end of the day people want magazine layouts, newspaper splash styles, postcard type areas etc. I think even novel writers/editors have a "best viewed at" size and layout in mind that gives a perfect pace to their story.
Html/css gives the tool to switch layouts and potentially adjust to make the best of the area offered, but it will probably always be a compromise in the eyes of the more opiniated designers, and auto-reflowing content would be more of a necessary evil.
Even in our field we have traces of that with our recommended line length, method length, bracket styles etc.
I think it’s actually that designers as a group feel like they should not have to understand the product they are designing. This is why the modern uis are so minimal and lacking in features for people who actually use the product in a way that is deeper than trivial.
Imagine a current era designer trying to design Photoshop without just copying an existing system. It would be useless.
A rare exception but also an exception in many, many ways, and a sort of hilarious situation that the UX people who use it almost exclusively produce terrible, dumbed down interfaces.
> If you want to do both paradigms justice, you need two separate designs altogether.
How do you reconcile this with the fact that you need almost double the effort for 2 separate designs? I'd say you need at least 2x of Designer work and at least 1.5x of front-end Dev work to achieve this.
Where will additional resources to support this come from?
You're meeting your users where they're at. If half your visitors are using mobile and half are on desktop, then having two designs isn't 2x the work, it IS the work. Having only one means you're abandoning half your visitors and not doing your job fully.
And having both is not really 1.5x to 2x the work, in my experience. Maybe more like 25% to 30%. A lot of components and widgets can be reused, the typography and colors can be similar, and certain screens can keep their layout with just small tweaks.
Sure, maybe the initial design takes a bit longer since each screen needs several breakpoints. But that's only a small part of the overall design work anyway. Then on an ongoing basis, your previously established patterns (and components in code) can largely be reused with small tweaks, easily done with modern toolkits like Tailwind or MUI.
I don't think it's that big a deal. Web devs have been doing mobile designs for more than a decade now, and the tools have gotten better and better. Honestly, it's way less wasteful than Agile ceremonies or endless meetings. If you want to stay lean and cut cruft, take it from places that don't directly affect the user, not the one place where they actually use your product all day.
Design becomes quite a lot easier when it doesn't need to cater to multiple platforms and input paradigms. Testing is easier, there's much less need to make concessions and tradeoffs.
If anything, having two designs that look and function well is less work than having one design that looks and functions well on two disparate platforms with completely different affordances.
> There’s an upper limit to information density, which means you can subtract too much ink, or add too much information. The audience matters, too: A bond trader at their 4-monitor desk will have a pretty high threshold; a 2nd grader reading a textbook will have a low one.
I think this is the most important line: when taken with the axiom “design for your lowest common denominator” and the general advice given to lawyers in a jury trial “speak, explain at a 3rd grade level”
The upper limit for information density has lowered significantly for the vast majority of general users, so unless you can fix that we’re not gonna get our high density UIs back. At least not for general purpose widely distributed applications.
And where resources can be afforded to do it, there's a lot to be said for allowing complexity to be added, even if that is done on only one axis (a simple slider to go from "basic" to "advanced" display mode).
Customization is also useful for power users, but even one axis of scaling up information density can be super useful for "easing in" to an unfamiliar tool.
100ms is much too long to feel instantaneous. Open a low latency terminal such as xterm (ideally also with a high refresh rate gaming monitor and gaming keyboard), and compare "sleep 0" with "sleep 0.05".
Set your browser to open every page in reader view by default and you never have to mind this crap again. Nor ads, nor cookie banners, nor auto-playing video, nor AI chatbot, nor newsletter popups.
Hint: You can also force reader mode by pressing CMD+Shift+R