TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

UX design patterns for loading

140 pointsby akbarnamaover 1 year ago

18 comments

dale_glassover 1 year ago
Is it just me, or skeleton screens are annoying as hell?<p>I instinctively interpret them as a malfunction, not as a loading screen. A screen is supposed to have data. If it shows up empty, something has gone horribly wrong somewhere.<p>And as a developer, once it fills out, I get the secondary tinge of discomfort due to the nagging thought &quot;this application has a bad handle on timing, there might be a race condition somewhere. Better do things really slowly and carefully.&quot;<p>In general though, 99% of the time, there should be no loading screen at all. My local airline shows a &quot;Loading...&quot; for several seconds even when doing things like logging in, and all I can think of is wondering what could take so much time. At this point a login should be a thing that can be done in a few ms.
评论 #37294390 未加载
评论 #37292910 未加载
arthurofbabylonover 1 year ago
Minimal has a nice trick for loading new collaborations… When joining a note a writer is met with a simple presentation of the note title, the collaborator’s name, and a small bit of text describing how collaboration works. By the time the writer has processed that minuscule yet valuable information, the note has loaded and is ready for them.<p>Effect: - no wait time, snappy interaction - better context around a new experience<p>Cost: - nothing<p>It reminds me that a solid portion of good design is not applying a rule or system, but creatively working between the cracks of known&#x2F;obvious problem-solution pairs.
评论 #37287698 未加载
happytoexplainover 1 year ago
They make a common mistake in the &quot;Frequency&quot; section in regards to passive operations: The examples are a &quot;frequent&quot; operation (syncing your changes up) and a &quot;rare&quot; operation (remote changes being synced down while you are working). Frequency of course is not the salient property here. The difference in UX is practical: The latter requires your explicit attention, while the former does not.
wruzaover 1 year ago
Does scrolling past toc and the first paragraph skip a whole screen for anyone else? Or is it yet another UI advice article that cannot scroll itself.
评论 #37291135 未加载
评论 #37290207 未加载
评论 #37298780 未加载
评论 #37290482 未加载
zootboyover 1 year ago
I&#x27;ve noticed an obnoxious new UI anti-pattern showing up more frequently as of late: a loading page that renders a fake UI made of nothing but light grey boxes. More often than not, it&#x27;s not even the actual UI layout of the page, just an artful rendition of a blank UI. These sorts of things drive me nuts, especially when it&#x27;s a page whose contents could easily have been served as a static HTML page instead of rendering this silly fake UI via javascript then using more js + requests to replace that garbage with the actual content I want.
评论 #37290248 未加载
评论 #37290239 未加载
评论 #37291664 未加载
vladstudioover 1 year ago
For my customer&#x27;s multi-step wizard [0], I tried to make inevitable waiting less boring by showing a random AI-related fact, such as:<p>In 2017, Saudi Arabia has given citizenship to the social humanoid robot Sophia. She became the first-ever robot to get citizenship of any country in the world.<p>[0] <a href="https:&#x2F;&#x2F;www.kadoa.com&#x2F;playground" rel="nofollow noreferrer">https:&#x2F;&#x2F;www.kadoa.com&#x2F;playground</a>
perryizgr8over 1 year ago
&gt; For high-stakes operations that are done occasionally, you might consider making tasks seem longer, as if more important, than they actually are.<p>Hmmm, not sure this is the best approach. There is no reason to deceive your user.
dustedover 1 year ago
On the other hand, we&#x27;re in the multi gigahertz, multi gagabyte era, there&#x27;s almost no excuse for loading times except bloated libraries and not giving a damn about performance.
jwells89over 1 year ago
On the section regarding loading items in a list, the article notes to be careful with infinite loading or a &quot;load more&quot; button for performance reasons, which is totally correct but would it not be standard practice to have some kind of recycler&#x2F;virtualizer mechanism in place if the UI is likely to be handling such large quantities of items?
评论 #37286697 未加载
agumonkeyover 1 year ago
Thanks, nice reference&#x2F;summary that is easy to forget when you&#x27;re deep down in your component tree :)
tr888over 1 year ago
I don&#x27;t need to know how long it&#x27;s going to take (because that&#x27;s always made up) but at least tell me what&#x27;s going on in the background so I have some indication of progress. Loading is often made up of a few sequential steps so tell me where you&#x27;re up to.
butzover 1 year ago
Instead of trying to build fanciest loading animation, maybe we should use &quot;Network client hints&quot; and send less data to slow networks? Figuring out how to use browser cache correctly and serving data from edge closest to client are also good options.
flemhansover 1 year ago
The first animated example, loading things one row at a time, is bad because you might think there&#x27;s only one item in the result list, before it loads the next one.
Eduardover 1 year ago
&gt; Progress bar<p>&gt; Hot tip: Use an ease-in animation to make the progress seem like it’s accelerating.<p>So annoying when websites try to deceive me with a quantified progress bar inversely inching towards completion even though I cut off Internet five minutes ago.
评论 #37287158 未加载
评论 #37287557 未加载
评论 #37287154 未加载
评论 #37288481 未加载
评论 #37288256 未加载
chrisjjover 1 year ago
&gt; For high-stakes operations that are done occasionally, you might consider making tasks seem longer, as if more important, than they actually are.<p>No. Just no.
评论 #37286240 未加载
评论 #37286094 未加载
评论 #37287067 未加载
评论 #37286407 未加载
vunderbaover 1 year ago
I absolutely HATE the loading spinner. Even if a dev has no idea how long something is going to take, at least attach a number that increments in response to a listener event indicating some additional &quot;tick&quot; of work was done - otherwise there is zero visual difference between a process that is hung and one that is simply slow. It boggles my mind how many UI&#x2F;UX people don&#x27;t understand this.
评论 #37291326 未加载
评论 #37288130 未加载
评论 #37288226 未加载
评论 #37288259 未加载
shanghaikidover 1 year ago
Make your site fast enough, you don&#x27;t need loading.
评论 #37290290 未加载
评论 #37289636 未加载
resoniousover 1 year ago
&gt; Is the loading user-triggered?<p>If not, then maybe just don&#x27;t include it at all... I hate it when websites or apps do stuff spontaneously.