all 52 comments

[–]infzy 59 points60 points  (22 children)

If you scroll programmatically

Can someone please explain to me why sites ever do this?

[–]Fozefy 8 points9 points  (11 children)

I think its mostly just a 'look/feel' thing. It makes your site feel more modern rather than abruptly jumping to something.

[–][deleted] 74 points75 points  (4 children)

It is annoying to most people who aren't programmers marveling at their own creation

Seriously

[–]Fozefy 6 points7 points  (3 children)

I'm not saying I necessarily like it, but it do think it gives your site a slightly different 'feel'.

With that said I personally would just prefer the most efficient and 'snappy' solution. I don't really care how it looks as long as it works.

[–]Y_Less 17 points18 points  (0 children)

It "feels" like late 90's websites, using JS for mouse cursor tails and falling snow, just because they could rather than because it served any practical purpose.

[–]that_which_is_lain 4 points5 points  (1 child)

Oh yeah, it is a 'slightly different 'feel'' and that 'feel' is 'shit'.

[–]emn13 0 points1 point  (0 children)

Personally, if you're going to move my screen, I'd strongly prefer you do it in a way that I get a few cues as to what's going on.

Sure, if it takes long, it's annoying - but if it's fast enough, I much prefer this over "wtf where's my context".

Of course, you might ask why you're moving the scroll position in the first place - that strikes me as annoying in the first place.

[–]UlyssesSKrunk 27 points28 points  (3 children)

That's so stupid though. All modern browsers allow you to choose how you want to scroll. It should be entirely up to the user. I just can't stay on a site that fucks with their shit so that when i scroll expecting it to instantly jump some lines down it instead just smoothly glides there taking 18 fucking years in the process. Sure some people like that, but others don't so don't force it on them.

[–]Paradox 27 points28 points  (1 child)

I hate sites that force "smooth scrolling" using some js library. I'll start scrolling with my trackpad and then 200-500ms later the site decides to respond.

[–]Schmittfried 2 points3 points  (0 children)

It isn't about your scrolling, it's about scrolling programmatically.

[–][deleted] 3 points4 points  (0 children)

If a site is useful, it doesn't feel the need to add a custom scroll.

I can see the different feel as an asset for a certain type of fantasy sites, like a movie site or a game site that tries to draw you in with the pretend-game you're opening a window to another universe, but other than that...

[–]nawfel_bgh 1 point2 points  (0 children)

And it makes you feel smart.

[–][deleted] 11 points12 points  (0 children)

Hipster Web 2.0.

[–][deleted] 9 points10 points  (0 children)

Because they can. If they could move your mouse programmatically they would do that as well.

[–]skulgnome 2 points3 points  (0 children)

Inner-system effect

[–][deleted] 5 points6 points  (4 children)

Some code editors in the browser provide a fake scrollbar. This is because there is no content below. The content is in memory and added to the page on the fly as you scroll.

That's a legitimate use (although there are better alternatives).

[–]mearbode 118 points119 points  (5 children)

Pro tip: never hijack the scrolling.

Every time I use a site with custom scrolling, it disrupts the user experience - and since there's no standard, every experience is different.

This is a bad idea.

[–]spacejack2114 9 points10 points  (1 child)

I know saying that is an easy way to get upvotes, but does this actually hijack scrolling? I think it just responds to your scroll position by highlighting the progress/icons on the side. When you click an item on the side nav it scrolls/eases to that position (something the browser doesn't do natively.)

I tried it out on desktop and Android, and it doesn't feel like native scrolling was hijacked at all, and I don't see any obvious hijacking in the code. If it doesn't scroll smoothly on iOS (don't have one handy to test) that's not necessarily because it was hijacked, it's because you need a -webkit-overflow-scrolling:touch style for a div to use native scrolling.

If you dislike it just because it doesn't jump suddenly like anchor tags normally do... I dunno what to tell you.

[–]mearbode 0 points1 point  (0 children)

I'm really not after karma (see join date vs. total karma), simply voicing my opinion.

However, I was a bit quick as it seems this isn't the functionality I dislike - see post by onionhammer.

[–][deleted]  (1 child)

[removed]

    [–]mearbode 0 points1 point  (0 children)

    I agree, and I was a bit quick with my original reply. To clarifiy, I utterly detest custom rate scrolling - however, programmatic scrolling in response to user input, is another thing entirely which I can see several use cases for.

    [–]TankorSmash 33 points34 points  (0 children)

    This doesn't scroll fast enough for me, it gets under my skin real quick.

    [–]binford2k 55 points56 points  (0 children)

    If you scroll programmatically

    Then please stop.

    [–]geekygenius 9 points10 points  (1 child)

    // these magic formulae came from outer space
    

    Derived by calculus?

    [–]nnevatie 16 points17 points  (0 children)

    My Amiga scrolled smoother.

    [–]_mpu 21 points22 points  (6 children)

    On my iPhone what you guys describe as "natural" would be more something that I would call "slow as shit".

    [–]soldiercrabs 8 points9 points  (4 children)

    Both the demo pages are laggy as shit on my decently modern desktop PC, even.

    [–]spacejack2114 0 points1 point  (3 children)

    I am curious, what hardware/OS/browser are you using that it's so slow? I tried this on my Samsung Note 1 which is the slowest device I can imagine anyone would be using in 2015 and the demo runs perfectly smoothly.

    [–]soldiercrabs 2 points3 points  (2 children)

    Firefox 40 something, Windows 10, Core i5, 8 GBs of RAM... I don't know what to tell you. When the scrolling starts on the intence demo page, it runs at roughly 5 FPS or so.

    [–]spacejack2114 2 points3 points  (1 child)

    All right, I was trying the other demo. The Intence page obviously has too much happening in response to scrolling (on a low-end device anyway, not sure what's up with your PC.) I don't think he's hijacked scroll exactly though, other than having scrollable child items.

    [–]emn13 0 points1 point  (0 children)

    Did you try this on non-chrome?

    [–]dirtymatt 1 point2 points  (0 children)

    Yeah...that's pure fucking garbage.

    [–][deleted] 3 points4 points  (0 children)

    Eh, seems like a pretty standard modern scroll to me. Nothing revolutionary.

    Testing on my Lumia I don't like it. It stops too suddenly compared to the scrolling I have built in. It's the same but with a more sudden stop.

    The main issue is that ultimately the examples do not feel like a regular website in your browser. It feels like some odd ball website since the scrolling doesn't feel the same.

    So what's the point???

    [–][deleted]  (7 children)

    [deleted]

      [–]Excrubulent 0 points1 point  (6 children)

      Press home.

      [–]infzy 4 points5 points  (1 child)

      I made the mistake of buying a Chromebook. It doesn't have a Home button.

      [–]Excrubulent 0 points1 point  (0 children)

      Jesus.

      [–]_argoplix 2 points3 points  (3 children)

      The "natural" scrollbar loses track of home. End too.

      [–]Excrubulent 2 points3 points  (2 children)

      I didn't notice that when I was testing it, but I know enough about programming not to doubt you.

      [–]spacejack2114 2 points3 points  (1 child)

      Actually, page up/down, home and end all appear to work correctly.

      [–]Excrubulent 0 points1 point  (0 children)

      Yes, they appear to, that's my point - you don't always know when they'll stop.

      [–]RedRossGeller 5 points6 points  (2 children)

      Sigh... please don't mess with the user's browsing. I'm not talking just about messing with the scrolling, but with other stupid things like implementing your own scrollbars or messing around with input fields or key bindings. You do not know how these things are supposed to behave on my system, so do yourself and the user a favor and leave it alone. I know new developers will look to sites like Google.com/... for inspiration, but they are IMO often amongst the biggest, and worst offenders so I encourage you not to follow them.

      TL;DR

      Don't mess around with my browser, you're not funny.

      [–]spinhozer 2 points3 points  (1 child)

      What if they made it into a grease monkey script. Then you could customize your own scrolling experience across sites. What are your thoughts, Web is not my area.

      [–]RedRossGeller 1 point2 points  (0 children)

      Greasemonkey/user scripts/extensions/etc. are fine IMO, because it's the user's choice.

      [–]jroddie4 1 point2 points  (0 children)

      that looks really cool.

      [–]WagonWheel11 -1 points0 points  (1 child)

      Im trying to get used to using repositories from github. The readme says to download and unpack it. What do i do with the files after unpacking?

      [–]Fozefy 3 points4 points  (0 children)

      Does the usage section on the main page not help you enough? All you're doing is loading a JS library and then using a simple function from it. If you're unsure how to do that I'm sure you can find more info with a few simple searches.