New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Progressbar makes page load appear slower #58

Open
ooxi opened this Issue Mar 12, 2014 · 15 comments

Comments

Projects
None yet
4 participants
@ooxi

ooxi commented Mar 12, 2014

Hi,

this is a UX regression you can see on instantclick.io: if you switch between already loaded pages the progress bar takes longer to fill than the page to swap.

I therefore recommend showing the progressbar not when the loading process starts but after 50ms. And never when switching between already loaded pages.

-- ooxi

@dieulot

This comment has been minimized.

Show comment
Hide comment
@dieulot

dieulot Mar 13, 2014

Owner

It seems to me too that the progress bar make thing appear slower (but it’s needed).

Showing the progress bar only after a delay sounds like an interesting thing to explore, I’ll try that.

The progress bar is needed when a page is already visited [1] though, otherwise it would make for a weird inconsistency.

[1] I guess you meant visited instead of loaded, as loading can occur without visiting a page, just by hovering over the link.

Owner

dieulot commented Mar 13, 2014

It seems to me too that the progress bar make thing appear slower (but it’s needed).

Showing the progress bar only after a delay sounds like an interesting thing to explore, I’ll try that.

The progress bar is needed when a page is already visited [1] though, otherwise it would make for a weird inconsistency.

[1] I guess you meant visited instead of loaded, as loading can occur without visiting a page, just by hovering over the link.

@ooxi

This comment has been minimized.

Show comment
Hide comment
@ooxi

ooxi Mar 14, 2014

But as soon as the page is loaded (and thus in the browser cache), navigating to it can be done without further delay. So why bother showing a progress bar at all?

I also don't think this would be inconsistent with current browser behaviour. Chrome for example shows progress notifications only if a page takes too long to load (a couple of hundret ms).

ooxi commented Mar 14, 2014

But as soon as the page is loaded (and thus in the browser cache), navigating to it can be done without further delay. So why bother showing a progress bar at all?

I also don't think this would be inconsistent with current browser behaviour. Chrome for example shows progress notifications only if a page takes too long to load (a couple of hundret ms).

@dieulot

This comment has been minimized.

Show comment
Hide comment
@dieulot

dieulot Mar 15, 2014

Owner

Because the page changes so fast that users sometimes don’t notice it has changed. After “OMG so fast”, this is the second most common piece of feedback I got from users.

The current browser behavior shouldn’t be taken as an example, as it happens only when you’ve already visited a page and you are aware of why it is so fast (you’ve already visited the page). With InstantClick, the user isn’t aware that he has technically visited the page.

Owner

dieulot commented Mar 15, 2014

Because the page changes so fast that users sometimes don’t notice it has changed. After “OMG so fast”, this is the second most common piece of feedback I got from users.

The current browser behavior shouldn’t be taken as an example, as it happens only when you’ve already visited a page and you are aware of why it is so fast (you’ve already visited the page). With InstantClick, the user isn’t aware that he has technically visited the page.

@eproxus

This comment has been minimized.

Show comment
Hide comment
@eproxus

eproxus May 13, 2014

How about adding a configurable delay to show the progress bar (defaults to 50 ms or something)? This way, if you have a normal web page, you'll get the instant feel, and for slow pages you get the bar (a good example is the instantclick.io page itself). If you have a control panel (or similar application) where contents might not change much between "pages", you can configure it to start after 0 ms (if people don't realize the page has changed).

eproxus commented May 13, 2014

How about adding a configurable delay to show the progress bar (defaults to 50 ms or something)? This way, if you have a normal web page, you'll get the instant feel, and for slow pages you get the bar (a good example is the instantclick.io page itself). If you have a control panel (or similar application) where contents might not change much between "pages", you can configure it to start after 0 ms (if people don't realize the page has changed).

@dieulot

This comment has been minimized.

Show comment
Hide comment
@dieulot

dieulot May 13, 2014

Owner

I think I should find what is right for everybody and not offer an armada of settings.

Good news though, I’ve been reconsidering what I said previously. I now think that, like you said, showing the bar after 50–100 ms is the correct thing to do, as the problem I’ve talked about is I think only a problem for websites who didn’t have InstantClick before, and because it’s not that big of a deal, more of a pleasant surprise.

Owner

dieulot commented May 13, 2014

I think I should find what is right for everybody and not offer an armada of settings.

Good news though, I’ve been reconsidering what I said previously. I now think that, like you said, showing the bar after 50–100 ms is the correct thing to do, as the problem I’ve talked about is I think only a problem for websites who didn’t have InstantClick before, and because it’s not that big of a deal, more of a pleasant surprise.

@eproxus

This comment has been minimized.

Show comment
Hide comment
@eproxus

eproxus May 14, 2014

True, looking forward to trying out the delayed version. 😄

eproxus commented May 14, 2014

True, looking forward to trying out the delayed version. 😄

@ooxi

This comment has been minimized.

Show comment
Hide comment
@ooxi

ooxi commented May 28, 2014

👍

@dieulot dieulot added the Enhancement label Sep 28, 2014

@tacone

This comment has been minimized.

Show comment
Hide comment
@tacone

tacone Dec 24, 2014

I second a configurable delay.

tacone commented Dec 24, 2014

I second a configurable delay.

@dieulot

This comment has been minimized.

Show comment
Hide comment
@dieulot

dieulot Dec 25, 2014

Owner

What I’m planning to do is separate the progress bar from the core code, and make it rely on events. The version distributed on the website will come with the progress bar, but it will be easy to remove or modify.

I’m not planning to give an easy way to modify the delay beyond that, because I don’t see the point. Once I find the correct delay to set, it should work great for pretty much every human on the planet.

Owner

dieulot commented Dec 25, 2014

What I’m planning to do is separate the progress bar from the core code, and make it rely on events. The version distributed on the website will come with the progress bar, but it will be easy to remove or modify.

I’m not planning to give an easy way to modify the delay beyond that, because I don’t see the point. Once I find the correct delay to set, it should work great for pretty much every human on the planet.

@dieulot

This comment has been minimized.

Show comment
Hide comment
@dieulot

dieulot Dec 25, 2014

Owner

(If it doesn’t, that’ll be an issue to raise.)

Owner

dieulot commented Dec 25, 2014

(If it doesn’t, that’ll be an issue to raise.)

@dieulot

This comment has been minimized.

Show comment
Hide comment
@dieulot

dieulot Dec 26, 2014

Owner

I retract what I said, setting the progress bar to always display (the current behavior) is temporarily useful for an existing site with users who aren’t yet accustomed to pages displaying instantly.

It will be jarring only on the first page loaded with InstantClick for this user though, so I’m still not sure it’s worth giving this option.

Owner

dieulot commented Dec 26, 2014

I retract what I said, setting the progress bar to always display (the current behavior) is temporarily useful for an existing site with users who aren’t yet accustomed to pages displaying instantly.

It will be jarring only on the first page loaded with InstantClick for this user though, so I’m still not sure it’s worth giving this option.

@dieulot

This comment has been minimized.

Show comment
Hide comment
@dieulot

dieulot Dec 26, 2014

Owner

I re-retract. It’s not worth the trouble setting this twice (first always display, then only when the page hasn’t loaded), also going from always displaying the progress bar to displaying it only when the page hasn’t completed loading will be jarring. Bad.

So, no delay parameter planned.

Owner

dieulot commented Dec 26, 2014

I re-retract. It’s not worth the trouble setting this twice (first always display, then only when the page hasn’t loaded), also going from always displaying the progress bar to displaying it only when the page hasn’t completed loading will be jarring. Bad.

So, no delay parameter planned.

@tacone

This comment has been minimized.

Show comment
Hide comment
@tacone

tacone Dec 26, 2014

Deal breaker for me.
I wish there was some way to handle it with css transitions delay. Not sure, since the progress bar object is created from scratch.

Maybe just throwing an event would allow customization for those interested.

tacone commented Dec 26, 2014

Deal breaker for me.
I wish there was some way to handle it with css transitions delay. Not sure, since the progress bar object is created from scratch.

Maybe just throwing an event would allow customization for those interested.

@dieulot

This comment has been minimized.

Show comment
Hide comment
@dieulot

dieulot Dec 27, 2014

Owner

Maybe just throwing an event would allow customization for those interested.

Could you give more details on this? Not sure I understand.

What will happen is, the progress bar will be a snippet of code included not in the core code but after the core code. That means it will rely on events, which also means it’ll be easy to swap that progress bar for another one, for those that wish to make their own custom progress indicator.

Were you talking about something else?

Owner

dieulot commented Dec 27, 2014

Maybe just throwing an event would allow customization for those interested.

Could you give more details on this? Not sure I understand.

What will happen is, the progress bar will be a snippet of code included not in the core code but after the core code. That means it will rely on events, which also means it’ll be easy to swap that progress bar for another one, for those that wish to make their own custom progress indicator.

Were you talking about something else?

@tacone

This comment has been minimized.

Show comment
Hide comment
@tacone

tacone Dec 27, 2014

No sorry, I thought you did retract that part also. It should be ok then. Thank you.

tacone commented Dec 27, 2014

No sorry, I thought you did retract that part also. It should be ok then. Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment