Feature Thoughts on social sharing (Read 3901 times)

Started by Nightwish, September 09, 2011, 19:00:04

0 Members and 1 Guest are viewing this.
Share this topic:
Thoughts on social sharing |
September 09, 2011, 19:00:04
This is an item, you can hardly ignore as a developer, no matter how much you personally hate or dislike it. People just love the Like/Tweet/+1 buttons and they have reached the forum world quite some time ago. Having a way to like/tweet or share a topic or post is, by many, seen as a "must have" feature and consequently, you'll find mods for almost any forum software. Some other packages have already added it as a core feature.

The singlest biggest concerns with these social buttons are related to privacy. Most people think that they are save when they do not click a Like or Tweet button, but this is just wrong. The buttons start to submit information as soon as they are embedded into a web page and this usually happens when a page has completed loading. If you are logged into Facebook or twitter, they can (in theory) track every page you visit that has a Like or Tweet button embedded. If you are *not* logged in, they can still track you, because the buttons use cookies to identify users and when you later log into your social network account, they can - again, in theory - figure out what pages you did visit while you were logged out.

But that goes even further. Say, you do not yet have a Fb or Twitter account, you can still be tracked with cookies and should you later sign up, they could in theory find out what sites you had visited before even though you did not have a Facebook, Twitter, or Google account.

Because neither of them are fully transparent with what data they collect and store, nobody can fully tell the real impact on privacy. Some people go as far as developing conspiracy theories stating that the social media networks are the ideal way to spy on users and because they are all led by U.S. companies, they provide an easy way to create user profiles for authorities and track online activities from millions of users. Now, true or not, this doesn't matter. The fact that they *are* collecting this information is already enough reason to do something against it. In fact, many users are not interested in the more harmless outcome of user tracking in form of targeted advertising, something that Facebook has admitted to do.

In some countries, particularly in Germany, there has been increasing political activity and criticism regarding the social media buttons. Some go as far as proposing a law that would essentially ban the buttons from web sites and threaten web masters with legal action(s) should they not remove them from their sites.

So far, the only action a user can take to block these nosy social buttons is to disable 3rd party cookies. This will work, but it can break a lot of other, sometimes useful, functionality on some web pages, so it is not an option for most users. For some browsers, you can install add-ons that specifically block Facebook or Twitter embedded code - that's better than the cookie solution, but still not perfect, because it will usually block it everywhere and make social media buttons unusable.

So what if a user would basically retain the ability of using these buttons if he wishes to do so on a specific site, but doesn't like to be tracked by every page he visits?

     Privacy enhanced social sharing

This is a new way of embedding social media buttons on web pages and it has been introduced a couple of days ago by the German IT portal under the title "2 clicks for more privacy". They are the most popular portal for IT professionals in German speaking countries and, unlike many other IT portals, they don't always glorify Fb, Twitter or even Google for being the single most important thing in IT history. In fact, they are critical and tell people not only about the good things of social networking but also about the risks, especially when it comes to the ever ongoing erosion of privacy.

   Two clicks for more privacy or how it works

Simple, yet efficient. When a page that is supposed to have social buttons loads, the code only loads placeholders. They look similar to the official Like/Tweet/+1 buttons, but not 100% identical. They also look "grayed out" suggesting that they are inactive versions of the real button and that's exactly what they are.

A click on such a placeholder button will then activate the real button by loading the necessary JavaScript and allowing the script to embed the IFRAME that holds that real Like/Tweet/+1 button. Once activated, the user can then click the button to submit the page.

  • A user must explicitly activate the button before using it. No data is submitted to Fb, Twitter or Google before this happens, so no issues with privacy.
  • Less impact on page load performance and traffic. Matter of fact is that all the scripts that are required to embed these buttons are fairly big and this can be problem, especially for mobile users. These buttons have the potential to slow down page loading and generate additional traffic that is often totally redundant for everyone who has no intention to use a social media button. Basically, you are forced into loading content that you don't want to see or use at all.

Well, the only real disadvantage is that you must click twice and you need to click once to see how many people did already like, tweet or +1 a page. This shouldn't be an issue but for those who are either not concerned about privacy issues at all or simply too lazy to click twice, there is an optional and site-wide opt-in solution. This is cookie-based and allows a user to permanently disable the placeholders. Doing so will restore the normal behavior of social media buttons and make them load automatically when the page loads. Just like everywhere else.

   The technical blurb

The solution is implemented as a jQuery plugin, so obviously, it requires JavaScript but that's fine because the social media buttons already do. It is fairly compact and customizable and comes complete with styles and images.

Here is the original article by
It is unfortunately in German.

   How and why it matters for this project?

Basically, I'm still unsure how and to what extent I'll implement social sharing features, but should I decide to add it as a core feature, I'll most likely go with this solution and offer additional profile settings for registered users to control their privacy. Instead of using a cookie to disable the place holders, a profile setting would make a bit more sense for a forum and it should not be too hard to modify the code to offer this.

Also, what content should people be able to share? The basic approach most forums follow is for topics only and maybe a Like/Tweet/+1 for the forum index page. Sharing topics is fine, but sometimes it's better to share a single post, especially when it is part of a long thread (who wants to read the entire thread when all you are interested in might be a single post?). However, embedding social buttons for every post on a page is not an option (way, way too messy), so for posts it would either be a passive sharing solution or a Ajax-based method that loads on demand.

Furthermore, sharing should be controlled by a permission, because sharing stuff from a private forum that isn't accessible by guests does not really make a lot of sense. So let the admin control which boards are allowed to have social media content in topics or posts.
Every program has at least one bug and can be shortened by at least one instruction -- from which, by induction, one can deduce that every program can be reduced to a single instruction that doesn't work.
My SMF-based forum fork
2 Like It