A proposal: clean up the social internets

The problem: too many buttons. And, no one likes a babysitter.

There are many of social sites out there. Way too many. And new ones are popping up daily.

This is good (choice always is) but here is a problem: every site out there that wants to provide you with a quick way to “share” their latest post with your friends has to have a button of your favourite social site embedded in that post. And since they can’t know beforehand what your favourite social site is going to be, it leads to a mass of button-nonsense like this

addthis button widget

addthis's solution to the social bookmark button explosion

on every eager blogger’s page on the internets (mine included!). [0]

The reason why no-one has consolidated this mess is that most people immediately think that centralisation is the only way to go: they think that you need a central server of some kind, so that you register and and log in to this central server and set up your preferred social site. Then, the blogosphere would only need to embed a single button on every post, which would open up this uber site (or ask it about your preference) so that the link could be dispatched to all your friends.

And the problem with this scenario is that no-one likes a central uber server. It’s a single point of failure, and more importantly it is like having a babysitter around.

Email’s answer: the “mailto” link type [1]

Not everyone likes Gmail. Or Yahoo. Some people even prefer Hotmail(!). And what’s more, most people have multiple email addresses, and they don’t all stick to the same provider.

Yet there is only one mailto link type, and it works perfectly well. If you want to embed an “Email this” button, all you do is put a link around a cute email button like this

<a href="mailto:?subject=Check%20This%20Out&body=[your url here]">
<img src="email-button.png" alt="Email This" />
</a>

Provided the machine you are on (smart phone, Windows, Mac, Linux, whatever) is correctly configured (and most are) clicking on this link opens up your favourite/default email program, with subject and body already filled out, ready to be sent from your preferred email account. [2]

No mess, no fuss. Just enter your friend’s email, and click Send. No need to have an email button for every bloody email provider on the planet embedded on the webpage.

The solution: a new link type for social sharing?

So what if we had one new link type, similar to “mailto”? Let’s call it “sharethis” for argument’s sake. This would not redirect you to a central server somewhere, but would simply launch your preferred “sharing” program on your machine. An example of such a sharing program is TweetDeck. Another is RockMelt. [3]

This means that you could have one link (per post, per page, or whatever) on your site, maybe wrapped around a cute button of some kind, like this

<a href="sharethis:?message=Check%20This%20Out&body=[your url here]'>
<img src="share-button.png" alt="Share This" />
</a>

If you click on this sharing link, your browser would simply open up your preferred social messaging application (eg. TweetDeck, or in the case of RockMelt [4] it is already open!) with the url ready in the message field (probably even shortened by the application)
and all you have to do is click Send.

Even less mess, even less fuss.

A potential complication; and how this can be avoided

Of course, this could open up a whole new can of worms: how about a “likethis” link too, you say. Or how about “****this”, every time some social site thinks up a new way to “****” something. Won’t this cause a proliferation of link-types, and a similar
explosion of buttons in the future?

Well, since “like”-ing something is similar to “share”-ing it (or ****-ing it, or whatever) you should be able to share or like or **** the item through the application’s interface. The webbrowser only needs to know that you want to share it, not how.

Therefore there is no need to think up new links for every kind of service a social site provides. The proposed “sharethis” link-type is only a means to bridge the ever-widening gap between seeing something online and ultimately (and painlessly) sharing it with your friends.

peace out

[0] To be fair: addthis‘s solution is not wrong, per se. But there are just too many buttons! And as is the case with google’s “preview on mouseover”, having boxes of crap pop-up and and obscure / distract me from the things I want to read is simply annoying.

[1] the mailto link-type was not really an answer to this kind of problem, since the problem didn’t exist at the time: there was no such thing as gmail or yahoo mail back in the day, and the only way to send an email was to have the web-browser launch a seperate emailling application in order to send email. Of course, this was until jwz and the gang implemented an email application *inside* their webbrowser, which was not a good thing, depending on who you ask.

[2] The key here is that most (if not all) email programs can be set up to send email from any kind of email account that supports at least one of two popular protocols, POP3 and IMAP. You are free to use Gmail (for example) from any kind of email application!

[3] Yes, you say, but social sites don’t like desktop apps. Not true, I say. Twitter *loves* them. Even Facebook, although they want you on their website, will rather have you post something from *somewhere* than not take part in the FB experience at all. Both TweetDeck and RockMelt are perfectly capable of interacting with Facebook at a distance.

[4] Of course RockMelt aready does this kind of thing, being a social browser. But the point is to standardise it to *other* browsers as well. After all, choice (of browser and sharing progam) is good, yes?

linux…

I love free software.

I’ve been tasked with adapting lwip to a Xilinx-based MicroBlaze processor at work, and finally got it to a point where I can ping the devboard, telnet into it and load simple webpages from it.

All this was done with a static IP, but of course any embedded device worth its salt needs to be able to acquire a dynamic IP. This is fairly easy to activate in lwip, provided that the rest of the framework is interacting well with the custom-written Ethernet driver.

The proof is, however, in the puddingtesting: I didn’t have a spare router or anything lying at work though, and didn’t want to risk plugging the devboard into the office LAN (and thereby potentially bringing down the office network at 5pm). I tried in vain for a while to configure my desktop (a Mac) to enable DHCP on it, but then gave up. It seems that tools you pay for is really hard to use, especially if you want it to do something that doesn’t have a cute little icon in the “System Preferences” dialog.

So instead I fired up my personal linux laptop, installed dhcp3-server via apt, and voila! the devboard leased an address and it was up and running!

If you are not a geek, the reason that this is so cool is that… ugh, never mind :)

peace out