Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

What is the best user experience with the auto-updating pages - for example, a list of songs. Currently I'm thinking about three good possible solutions:

  • "Full" update: when the new content appear at the top, as on Vk.com feed;
  • "Notification" update: when the user needs to click a special notification to load new items, as on Twitter;
  • "Replacing" update: when there are a fixed numbers of items and new items replaces old ones, as on StackExchange realtime questions.

What is pros and conses of this methods? Are there any useful user experience ideas for constantly, real-time updating content?

share|improve this question
1  
+1 for great question. Would love to see an answer with some data! –  greenforest Dec 15 '12 at 13:26
2  
What would the frequency of updates be (once per minute, or once every five seconds, etc.)? And what would the worst-case number of new items be (ten, fifty, a hundred etc.)? I think the answer to these questions will play a deciding role in the best updating strategy. –  CJ Franken Dec 18 '12 at 9:22
add comment

5 Answers

up vote 4 down vote accepted
+50

Don't refresh without user interaction

Section 6.7. of the W3C's Web Content Accessibility Guidelines 1.0 (published 5-May-1999 already, mind you) states:

Ensure user control of time-sensitive content changes.

Ensure that moving, blinking, scrolling, or auto-updating objects or pages may be paused or stopped.

Back in the day, that mostly meant not using meta-tags to auto-refresh the page. The reasoning behind this is obvious: You can't know what a user is doing at any one time, so refreshing the page (or any part of it) at an arbitrary point in time is disruptive and disorienting.

Another aspect regarding usability that is equally valid since those days is that unorthodox approaches to refreshing potentially break the browser's history and back button functionality. Implementing any kind of refresh, you need to make sure that you handle history events in an appropriate manner (which you can do via html5 history implementations and respective polyfills).

Load partial views if possible

From a user experience point of view, loading bits of a page seems to be prefered by users, as the slightly lower delay in load times is perceived to have less negative impact. (There's a blog posting on the google research blog with interesting points, and data, see the pdf linked in the article.)


Given these two considerations really the best method seems to be a refresh after user interaction, or "Notification update", as you put it. Furthermore, the position of where items are loaded to (prepending existing items or appending after existing items) depends on the general sorting direction of your content.

Some points to keep in mind with this approach:

  • make it easy for the user to keep track of where new items get inserted and how the current visible content gets rearranged (for example the page scroll position on twitter sometimes "jumps" on loading in new items, which disrupts the reading experience)
  • show what or how many items were loaded (include a count or new items, or visually highlight what was loaded, at least temporarily - for example until next load; this article about infinite scroll has some good considerations)
  • in my view, using the browser back button should reinstate the view before updating, so that if someone accidentally "updates" and gets confused, they can always retreat to hitting back - there are, however, situation where this might not be advisible and you might not want to flood the history with meaningless "update" events - it depends on your data and update frequency, I would say
share|improve this answer
add comment

Personally I like being in control of things and dislike more or less anything happening outside of my control, such as a page refresh or new item listings. At least I as a user needs to get the impression that I'm in control.

Talking to my team they are of the same opinion as me. So implementation of SE notification of new activity and Twitters new tweet notification is on its way to become a convention.

share|improve this answer
add comment

There's many factors to consider. Google news automatically updates itself (not sure what method) and it doesn't bother me. If Twitter updated itself automatically it would be very intrusive if something scrolls down as I'm trying to read it. Even worse would be for something to move when I interact (click, drag, type) with it.

The notification and requiring a click is the safest way in that it ensures no unexpected movements. You could always start with the safe way and if you get overwhelming feedback that it's somehow cumbersome you could try a more automated method.

share|improve this answer
add comment

Personally, I prefer the Notification Update, like in twitter, I think it isn't intrusive, and I like to decide if I'll update the content and when I will do it.

Facebook sometimes does a Full Update (as @m0nhawk defined it) when you scroll down and then scroll to top; when it does that it feels a little intrusive, but it is still OK.

I should add to the list a Full Unnecessary and Annoying Update: (there is a example, if you see an add click on [X] Cerrar este anuncio) where the page refreshes itself from time to time, disorienting the user. The example link is a popular Venezuelan news website, which refreshes the page every 15 min. I have to read it fast in order to avoid the refresh, which sometimes doesn't loads new content, but the same I'd been reading.

share|improve this answer
add comment

imao, Twitter approach is okay.

but, how about a "new" hybrid approach ?

It can be like this:

Include the fact that if the user is scrolling down/up the list/posts or not.

If user is that active, DO NOT auto-load any; only show the number of new updates on the top of the page (but scrolling along with page) so that user stays notified but don't get distracted.

If user is NOT that active, before reaching a certain limit of new post/updates' count, it would do notify-only Twitter approach. When it will reach that limit, load like 10% of new items; in style of Twitter. But, for God's sake, don't refresh the page entirely. Also, loading a huge bulk of new items is certainly disturbing.

In this approach, you have to find out the exact "fung-shui" between the limit-count, and new loading-percentage as well as optimizing through users' feedback.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.