The friend of mine who long ago introduced me to Perl now works primarily with JavaScript, and now and again asks me for news from the old country. Lately, for reasons salient to their own work, they’ve been very curious about the ++ button on MetaCPAN, the Web’s best front-end to Perl’s public archive of free third-party modules and utilities.

This led me to think about how my use of that button on MetaCPAN feels different from the way I use the “star” or “fave” button on various other systems — and, furthermore, how my understanding of this one-bit button’s proper use carries a slightly different meaning on each. Here, then, I dig into my relationship with the star-or-whatever on four different online services I visit frequently.

MetaCPAN: Every module’s MetaCPAN page features a ++ button, colored either white or orange; in the latter case it also contains a number. See, for example, Catalyst’s page, which at the time of this writing reads 123++. Any logged-in MetaCPAN user can click the button to increment the number — which will also turn it blue, to their eyes only, and prevent further clicks.

The unusual shape of this button — it’s not a star! — comes from Perl’s IRC culture, where users have long expressed agreement or approval of someone else’s utterance by saying “++”. This in turn refers to a common bit of programming shorthand (found in Perl and many other C-like languages) which means “increment the number stored in this variable by 1”.

Knowing this, and given the function of CPAN as more of a static repository than an ever-flowing feed, the ++ button has always carried a subtly unique meaning for me. When I plus-plus a CPAN page, I mean to communicate “I have downloaded and installed this and used it as its documentation directs, and I can confirm that it does what it says it does.”

When browsing the MetaCPAN website, I find myself assuming that all the site’s other users treat the button the same way. The ++ badges also show up one-per-row on MetaCPAN search results, if the results of a keyword search on MetaCPAN result in several modules claiming to serve similar ends, I’ll almost certainly investigate those with higher-numbered badges first. This has seldom led me astray.

This stands in odds with another friend’s more recent discovery that, if you try to increment the number while not logged into the site, you receive the admonition “Please sign in to add favorites”. Favorites? I found that surprising, because I’ve never treated the button as a way to mark my “favorite” tools; rather, I do so to mark legitimate ones, Perl modules that make a claim at usefulness and, to the best of my observation, have attained it.

GitHub: Every project (such as Plerd) features a trio of button/counter hybrids on its front page, the middlemost of which is labeled Starred. So, while it wears the traditional five-pointed morphology, it demurs from making explicit suggestion as to what it might mean to “star” a project.

To me, starring a GitHub repository means “I like this project, but I don’t, you know, like-like it.” It’s a thumbs-up that I sign with my GitHub ID; indeed, if you click on the number beside the star rather than the star itself, you travel to a page listing that project’s “stargazers” by name.

The buttons on either side of the Star button serve those with deeper levels of commitment to a project: click the eyeball if you care enough to have news of all the project’s updates pushed at you, and the fork-symbol to xerox the whole codebase over into your own GitHub namespace, ready for subsequent hacking and pull-requesting. Rare are the projects for which I am prepared (or, for professional reasons, am compelled) to embrace to either of these degrees. Far more often, I just want to express a little goodwill to the creator, and I use the star for that.

Obviously, a MetaCPAN ++ button can transmit the same sort of positive vibes to the creator or maintainer of the software to which it is attached, but in that case it seems a side-effect. Starring a GitHub project feels like dropping a quick note to the creator: “Hey, cool! Good work.” Plus-plussing a CPAN module, on the other hand, feels more like leaving territorial marginalia, with an intended audience not of the software’s creator but rather all its potential users, marking it as legit.

Facebook: I don’t like or understand Facebook. People “like” my posts, but all my posts are just automated carbon-copies of my Twitter posts. Half the “likes” I get are people who I know are also regular Twitter users, but they happened to just see my post on Facebook first. Or maybe they liked a post so much they take the opportunity to fave it twice, across two platforms.

I almost never hit the like button on anyone else’s post, even for joyous announcements. The epitome of a Facebook post is a major, happy life event, an engagement or a wedding or a sonogram or a birth, and of course I want to share in my friends’ joy with these. But for me, knowingly incrementing a counter from 146 to 147 feels worse than just silently appreciating it. It feels like… clocking in, perhaps. Something rote to perform, more to avoid a feeling of exclusion than to genuinely show support. Compare to Twitter, where (at least when using a third-party client) I can’t see the number of RTs and faves until I specifically ask to, making the act of faving feel like a small but personal connection.

To “like” a Facebook post is to leap into a noisy group-hug, and this almost never appeals to me. Sometimes I do like comments left on my cc:ed tweets, though. In this case alone, the action does feel like one-to-one “I hear you, friend” communications, of a scale and subtlety I feel much more at home with.

Twitter: An acquaintance recently tweeted some slightly acid wistfulness, recalling a time when Twitter users treated the social network’s fave-stars more like bookmarks intended for one’s own future use, than as a Facebook-style positive-vibe particle to blip at the tweet’s author. Until then I hadn’t considered how I myself used to use faves exclusively for the former purpose, but gradual changes to both the platform and the client software that serves it had long since nudged me into using it for both reasons.

I tend to use Twitter via third-party clients, which have always had a one-button interface to review all the faves you’ve ever declared. Sometimes I enjoy browsing them, for the same reason one might idly thumb through a collection of one’s own photographs, digital or otherwise. Tweets I’ve faved become, in this way, tweets I’ve scrapbooked, and revisiting them sparks memories of the times and personal contexts surrounding my pinning each one.

If I understand correctly, first-party Twitter clients, such as the website itself, used to prominently feature a fave-browsing button as well. When I look at the website today, though, I see nothing like that. As I don’t visit the website nearly as often as I launch Tweetbot, I couldn’t tell you when that feature faded away. (As a side effect, it does bring to light how Twitter has so far proven less destructive with its API than certain tech-pundits feared a few years ago, if it apparently continues to offer a “browse the active user’s past faves” endpoint for clients’ use.)

Some time ago, cognizant of how other users clearly used the the ability to fave individual tweets more to offer a thumbs-up to the tweet’s poster than to bookmark the tweet on their own end, I “invented” a way to have it both ways. By this time — I don’t think it started out this way — Twitter client programs could receive live notifications when a tweet got faved or retweeted. This included mobile client apps installed on mobile devices otherwise at rest, such that folks faving my own tweets would make my pocketed phone buzz. I would look at my screen and instantly feel a little bit happier.

So, figuring that enough other people had a similar setup to make the action worthwhile, when I read a tweet that made me want to smile and wave at the poster but not store it in my “faves-box” forever, I’d fave the tweet, count to five, then un-fave it. My thinking ran that the poster would see the note that I’d hit the “I see you there!” button, smile back at me, and then neither of us would need think on it any further.

I would continue to do this from time to time right up until the present, unsure whether anyone else in my social circle followed this same practice. This changed only this past week, when I received a notification that a friend faved a recent tweet, and — before I necessarily realized it — my hands moved to automatically visit my notifications page at, the one part of the Twitter website I have started to frequent lately. I wished to see my tweet in the website’s context, with my friend’s approving avatar arrayed underneath it. But it did not see it! I reloaded once, twice: still not there. I pulled up the tweet in detail: 0 RTs, 0 faves. What happened? Did they press the fave button by accident, and then thought better of it? Did they change their mind and think that my tweet was actually horribly embarassing?!

Oh: or were they using my innovative system, exactly as intended? Well.

And so I discover that my relationship with Twitter’s faving system finds itself the most confused and ill-defined of all these systems, despite it being the one I overwhelmingly use the most often, both as starred and bestarrer. I don’t find this to interfere with my original statement that these stars mean a subtly different thing in all these networks and services, at least for me. Stars, whatever their shape or label, play the role of a toggle left to find its own meaning, drawing wholly from the application context they waggle away within.

How to respond to this post.

Next post: I read: Invisible Cities

Previous post: Thinking back on “The Hacker’s Diet”

Loading responses...

Share a response

To share a response that links to this page from somewhere else on the web, paste its URL here.