Category Archives: Code

The Return of the Long Scroll, or how I learned to stop worrying and love parallax

For a long time now, the research on web design has said that people prefer to click than to scroll. So we designers have been pushing short pages, with content “above the fold”, and if everything didn’t fit, then better to put content on a separate page than to have it be down below where users would have to scroll down to get to it.

And that has worked well. It’s worked well for white hat designers with their users best interests in mind. It’s also worked well for grey hat types, very well, in the sense that it inflates the number of hits and pageviews on your site while deflating the bounce rate. Users have to view more pages to get the same content. That’s where you get all the link bait “top ten” lists where each element on the list is a separate page, “Seven child stars who grew up to be super hot.”, etc.

Being a dutiful designer interested in the research and best practices, then, I’ve advocated “click over scroll” for almost twenty years now.

But, now I’m changing my mind.

With the rise of the mobile device, so-called Mobilegeddon, I suspect it’s no longer true that most users prefer to click than to scroll. Clicking can be a huge pain in the ass on a tiny screen. Even if the link area on the screen isn’t too small, which it usually is, you still may find yourself switching hand positions so you can use your finder instead of your thumb. Inconvenient. Not hugely inconvenient, but enough to register cognitiively. And even the smallest little inconvenience on the subconscious level can make a big difference on a web site.

I haven’t been a fan of “parallax” for the last couple of years, a design where content is all huge and lives on one big scroll on the home page, so called because it often uses a background image which scrolls at a different rate than the main content, creating a kind of funky 3-d effect. First of all, it’s very trendy, and I’m not usually a fan of the biggest new fad. Also, it often makes heavy use of JavaScript animations in a way that reminds me of the bloated Flash pages of the 2000s.

But, I’ve come around to understanding the usefulness of a parallax design paradigm. This design is extremely mobile friendly, especially for the “business card” type sites which I find most of my clients, small businesses and non-profits, gravitate toward. If what you have on your site is some short ad copy, some info about your organization, maybe a few bios, and a contact us form, then I think you can do very well putting all of it on one long scroll. That way, your phone and tablet users can easily reach all your content with just one thumb.

The highest level philosophy in web design has always been not to forget the minority groups in your audience. Don’t forget the visually impaired, people on slow connections, people on old browsers, people on Unix machines, people who don’t have Flash, etc. etc. Each group may be a small percentage, but they add up super quickly. So, if we embrace scrolling because of mobile and tablet users, we still have remember to cater to the desktop crowd. For most sites, they’re not even a minority, yet. So, what I strongly advocate and haven’t seen a lot of in the parallax designs I’ve seen is click based navigation *within* the long scroll page. The ancient HTML 1, venerable, often overlooked “jump to” function, using anchor tags and a hash mark in the URL will save the day here. We can add navigation as per normal, and make it simply jump around on the long page. This then becomes an ideal experience both for desktop and mobile users. There’s More Than One Way To Do It.

Problems installing Drush using Pear

I’ve been working with Drupal for going on five years now, and I love the thing. I’m generally so busy with work, that I don’t take the time to step back and learn new tools that don’t immediately apply to whatever problem is at hand. I need to get out of that bad habit. Drush is one of those tools which I should have started using long ago.

Anyway, today, I finally prioritized it. I ran into a cryptic error:

Could not rename /usr/bin/.tmpdrush to /usr/bin/drush copy(/usr/bin/drush): failed to open stream: No such file or directory

It turns out that this is an artifact of having tried to install drush previously and not finished the process. So, typing drush at the prompt failed, but there were drush fragments floating around on the server botching attempts to reinstall.

Hence, the solution is to destroy those blocking fragments:


sudo rm /usr/bin/drush
sudo pear install drush/drush
sudo drush --version

Thanks for ahwebd over at stackexchange for pointing me to the solution.