Scott Abel, The Content Wrangler

by Scott Abel, The Content Wrangler

Facebook is incredible for so many reasons, most of them positive. But, not all of them. The world’s most popular social network is loaded with incredibly stupid, time-sucking functionality that makes using the service much more difficult than it need be. In many cases, lazy programming and unnecessary clicks are to blame.

Replacing Multiple Clicks With One

Most of the challenges I experience using Facebook are usability problems. I’m certain I am not alone. Consider the absence of the ‘select all’ button, long a standard feature in most any software application. At its most basic, ‘select all’ prevents users from having to waste time individually selecting (clicking on) each item they desire to process.

Facebook forces you to invite one friend at a time, not practical nor productivity-enhancing.

The ‘select all’ feature would come in handy in several places. One if the most useful would be in the Facebook mailbox.

Whenever you want to send an announcement to all of your friends (invite everyone to a charity event, for example, or share something important with a large group of people), Facebook makes you open your friend list and select each member individually. When you only have a few friends to notify, this lack of functionality is no big deal. But when you have hundreds — even thousands — of friends to notify, the absence of the ‘select all’ button makes inviting everyone extremely difficult and very time-consuming. And, it doesn’t need to be this way.

Third-Party Developers To The Rescue

Thank goodness for third-party developers who have taken the time to create workarounds to manipulating Facebook into behaving in user-friendly ways. One such solution can be found on the blog of Tim Linden, who developed a quick and easy way to ‘select all’ of your friends whenever Facebook presents you with the click-heavy one-at-a-time approach.

Here’s How It Works

Whenever you encounter the dreaded select friend window and Facebook tries to force you to select friends one-at-a-time, follow these simple instructions:

  1. Copy this piece of code:
    • javascript:elms=document.getElementById(‘friends’).getElementsByTagName(‘li’);for(var fid in elms){if(typeof elms[fid] === ‘object’){[fid]);}}
  2. Return to The Facebook window in which you encountered the friends list.
  3. Place your cursor in the address bar (the field at the top of your web browser in which website addresses are displayed.
  4. Erase the website address that is displayed.
  5. Paste the code you copied in step one into the address bar field and press ‘return’.

Workarounds like Tim Linden

That’s it!

It may take a minute or more for the script to work its magic, depending on the number if friends you have in your Facebook friend list. You’ll know the script has completed its work when you see that all of your friends are selected (highlighted).

Replacing Multiple Clicks With One … Continued

There’s nothing some Facebook members like more than to ‘poke’ their friends. Poking is a feature of Facebook that is difficult to describe. According to Wikipedia: “The poke feature is intended to be a “nudge” to attract the attention of another user. Many facebook users use this feature to attract attention or say hello to their friends. It can also be interpreted as flirting.”

“A previous version of Facebook’s FAQ gave additional insight into the origin of the feature, stating: ‘When we created the poke, we thought it would be cool to have a feature without any specific purpose. People interpret the poke in many different ways, and we encourage you to come up with your own meanings.’ Pokes are often initiated when one member of a party wishes to engage in sexual endeavors with the other member. Due to this common interpretation, many Facebook users poke people they like, or friends as a joke.”

While poking someone is a super simple task, technologically speaking, managing to return the favor (poke back) can be a time-consuming task riddled will an abundance of unnecessary clicks.

[Editor’s Note: Check out SuperPoke if you’d like to do more than poke. SuperPoke allows you to hug, kiss, slap — even throw sheep.]

Poking is a time-consuming part of Facebook life, but it shouldn’t be

On any given day, I receive 100 or more pokes. Facebook groups everyone who has poked me into an easy-to-access list that it displays on my wall. But that’s where the convenience ends. To poke friends back, I must click on the ‘poke back’ link next to the name of each member in my poke list. Talk about time-consuming.

But it doesn’t end there. Each time I click the ‘poke back’ button, a new window opens (confirmation dialog box) to alert me that I am going to send a poke and asks for my permission to do so. Once I click the ‘yes’ button Facebook sends the poke. Then, another window opens to tell me that the poke has been delivered successfully.

All of this is totally unnecessary. It’s ridiculous that I have to poke friends back manually, one-at-a-time, but it’s even more unacceptable (and very amateurish) to make me confirm my decision. Yes, Facebook, I was sure when I clicked the poke button the first time.

Software programming guru David Platt says in his book, Why Software Sucks and What You Can Do About It, that users should “never see a confirmation dialog anywhere, under any circumstances. A programmer who shows one had abdicated responsibility and should not be in the interface business.” Software, Platt says, only needs to ask for confirmation when there is no ‘undo’ function. And there should always be an ‘undo’ command, he says. “Confirmation is a crutch for the lazy or ignorant programmer.”

Third-Party Developers To The Rescue…Again

While software programmers have gotten us into this mess, creating a slew of user interface nightmares in products of all types, some software developers are finding ways to use their problem solving and coding skills to provide improvements in the software user experience arena.

Mike Soh has developed a solution for the slow poking conundrum many Facebookers find themselves in. Unfortunately, it (a Greasemonkey script) only works in the FireFox browser. But, for me, it’s worth it to fire up FireFox just to take advantage if this awesome workaround called Auto-Poke.

Here’s How It Works

  1. Launch FireFox.
  2. Visit the Auto-Poke home page.
  3. Click the ‘download’ button.
  4. Follow the on-screen instructions.
  5. Point your browser to your Facebook page.
  6. Scroll down your page and view your poke list. You should see the script running and the words “Auto-poked” appearing next to each member in need of being poked. If you do not see any activity in your poke list, refresh your browser.

[Note] Be aware that Facebook frequently changes the way its functionality works, making the job of third-party developers of solutions like Auto-Poke to keep their products updated and working. This means you’ll need to update any third-party scripts or apps you use to extend Facebook functionality and you may experience “unexpected challenges” as much of this code is a work in progress by volunteers who sometimes release code that, when installed, might introduce new challenges.

The Cost Of An Extra Click

Some of you may wonder why I’m making such a fuss over a few extra clicks. My personal irritation with Facebook is really not about extra clicks, per se. After all, I have been able to discover third-party workarounds for the most irritating Facebook user interface challenges I experience. This commentary is really about inconsistency of functionality, lack of support for software design best practices, and ignorance in the area of software usability, human computer interaction and experience design.

Let’s be clear. Crafting sloppy software is disrespectful. It means Facebook doesn’t value members enough to make the experience as consistent and user-friendly as possible. Sure, these problems are common among start-ups with little experience designing for community. But by now, Facebook (at a whopping 500 million + members) is no longer just a start-up; it’s the world’s largest and most influential social network.

The Inmates Are Running The Asylum by Alan Cooper

Alan Cooper, in his book, The Inmates Are Running The Asylum, points out that software developers believe “overlook how bad it is. Instead, they see its awesome power and flexibility. The see how rich the product is in features and functions.” This lack of a user-centered design approach, Cooper says, is caused by interactive features being designed by software developers, instead of qualified interaction designers.

That said, it’s not really important what I think about a few extra clicks here or there. What is important for the future growth and profitability of Facebook is that its developers optimize the experience for business. After all, organizations of all shapes, types, and sizes are exploring ways to leverage the power of Facebook to extend their marketing reach, to enhance customer service and support, and to develop a loyal audience of followers. Businesses don’t have time for extra clicks, nor do their employees have the ability to easily install the third-party workarounds I suggest to make their Facebook experience more productive. Furthermore, the IT teams at many organizations lock down their computer networks and prevent employees from downloading and installing scripts, add-ons and plug-ins.

In organizations that choose to leverage Facebook as part of their business communication strategy, an extra click can be very costly, especially if you have to perform the same extra steps several times a day, every day, throughout the typical work year.

And all those clicks add up. According to research from Microsoft Developer’s Hall of Fame member Platt, the cost of an extra click in an organization of 1,000 people is $120,000 per year per click. Wow! That’s per click. So, if you perform the same function over and over again every day, the dollars associated with wasted time and inefficiency adds up quickly. To make Facebook as appealing as possible to businesses, Facebook must reduce the number of unnecessary steps involved in every type of functionality. It’s not enough to let a developer decide. It’s about metrics. It’s about return on investment. It’s about money.

In summary, it’s time for Facebook to grow-up and to bring on board the most talented folks in the user experience/interaction design/user interface spaces to help guide the development of interaction features. It’s also time that Facebook borrowed a page or two from the human computer interaction industries to make the changes needed to elevate the overall user experience. As it stands today, the Facebook experience is mediocre at best.