Followers vs Friends

It’s always bothered me that most social networking sites only have one level of friendship. You are either someone’s friend, or you are not. In the real world, we have multiple levels: spouses, partners, family, friends, coworkers, acquaintances, etc. Since there’s no depth to our friend lists on these sites, it appears that we are equally close to everyone.

Different sites attempt to deal with this in their own ways. Twitter changed the term from “friend” to “follower” in an attempt to make it more impersonal. Flickr, as far as I know, is the only major social site that set up multiple levels: friends, family, and followers, to make it easier to control who can see your private photos. Facebook and Linkedin require the person you friend to friend you back, theoretically limiting the site to reciprocal relationships.

On the surface, the Facebook/Linkedin approach seems like a good one. No one can list you as a friend unless you acknowledge them. But I can’t be the only one who is uncomfortable blocking or ignoring a friend request from someone you went to high school with, but haven’t seen in years. Either I say yes, and then my friend list is polluted with updates from someone I don’t really care about, or I say no, and then I seem (and feel) rude. To deal with this, Facebook has implemented a “mute” setting to hide updates from friends you don’t care about! How ridiculous!

Add to this the problem of people who turn their friend list into a popularity contest. Sure, you might have thousands of followers on Twitter, but how many of them do you actually talk to? For that matter, how many are just spam-bots?

“It’s a bit like when I worked at a newspaper: Every reporter thought “Well, our circulation is a million copies, that must mean a million people read my column.” Facing the reality that only 10,000 of those people read the column, or that perhaps only 1,000 of them were reading the advertisement on the opposite page, forced a useful and important reckoning into some false assumptions that were underpinning that industry’s workings.”
– Anil Dash, Nobody Has A Million Twitter Followers

Using a Flickr-style system with multiple levels of friendship is an easy way to deal with this problem, but it’s not perfect. It won’t prevent people from gaming the system by just flagging every follower as a friend. It also requires work from the user, so there will always be some users who just ignore the rankings and leave everyone at the default level of follower.

In a perfect world, this system would be automated. By default, everyone is a “follower,” which doesn’t imply any level of relationship beyond “this person is interested in seeing my updates.” Then I propose a second level called “friend” which followers are automatically promoted to based on their interactions with you over a time period. For simplicity’s sake, let’s say a friend is someone who you’ve had at least one conversation with in the last 30 days. (It has to be a two-way conversation, otherwise people could spam you and get promoted to your list. What we’re really trying to track here is the people that you actually interact with.)

In my case, I’ve got 150-odd followers on Twitter, of whom, perhaps 10 would get promoted to friends, because I don’t have a lot of conversations. For me, a simple “one conversation in 30 days” rule would work well to show who I actually interact with the most. Someone like Warren Ellis, with over 350,000 followers, would need a more complicated algorithm. I don’t have the math skills to write it up myself, but it seems like it should be possible to create a kind of sliding scale that would analyze how many conversations you have, and promote the people you talk to the most to friend status.

“When it comes to microfame, the worst place to be is in the middle of the pack. If someone’s got 1.5 million followers on Twitter, they’re one of the rare and straightforwardly famous folks online. Like a digital Oprah, they enjoy a massive audience that might even generate revenue. There’s no pretense of intimacy with their audience, so there’s no conversation to spoil. Meanwhile, if you have a hundred followers, you’re clearly just chatting with pals. It’s the middle ground — when someone amasses, say, tens of thousands of followers — where the social contract of social media becomes murky.”
– Clive Thompson, In Praise of Online Obscurity

The best part about a system like this is that it’s self-correcting. If an old high-school friend comes out of the woodwork, follows me and starts chatting with me, and I respond to be polite, they might bump up into my friend list temporarily, but over time as we drift back out of contact, they would naturally fall off the list.

That adds the possibility of a second filter for the friends list – tracking how often they appear on the list. Obviously, someone who is always in my friend list is a closer friend that someone with a single spike of activity who then faded into the background. Again, I don’t have the math, but it should be possible to make the friend list take this into account.

I’m sure I can’t be the only person who has this frustration with social networking. If you have any thoughts, please leave a comment on this post, or friend me on Twitter.


The Importance of Terminology

There are certain terms used in the web industry that most people think of as “industry-standard,” but are actually used in slightly different ways at different companies. For instance, I’ve run into several definitions for “alpha,” “beta,” “wireframe,” and “comp” at different shops I’ve worked at. Learning how a new company uses these terms isn’t that difficult, and the definitions are usually similar enough that it’s an easy adjustment.

I recently ran into a situation where my new manager’s definition of a term was different enough to radically change the situation. That term was “front-end.” Now, I think most people in our industry share a similar definition of front-end – it’s anything that the user sees through the browser, as opposed to back-end, which is anything that has to do with the server.

The problem arose from a gray area in our definitions with regard to javascript. In my mind, javascript can be used for both front-end and back-end work, depending on whether you’re using it for style and effects or more ajax-y stuff where you’re talking to the server. To my manager, however, since javascript is run in the browser, it’s front-end, no matter what you’re using it for.

Neither of us is wrong, the problem is that we were trying to describe two different things. I was describing intent and he was describing technology. I was arguing that javascript that talks to APIs on the server is back-end because of the work it’s doing, and he was arguing that it was front-end because it’s javascript.

In the end, I adapted the way I was speaking to clarify what I meant, and started talking about functionality vs. styling instead of front-end vs. back-end. Neither of us changed our minds, but at least we were talking about the same thing now, instead of using the same words, but meaning different things.


In Praise of Specialists

There is a split in the web industry that you might not be aware of. No, I’m not talking about Mac vs. PC. I’m talking about companies hiring generalists or specialists.

When I say specialist, I mean an employee whose focus is on one particular skillset, eg, flash, copywriting or front-end development. They may have other skills, but the bulk of their training and experience is in a relatively narrow field. Conversely, when I say generalist, I mean an employee whose skillset is more broad, eg, a designer who has experience with flash, has spent some time doing front-end development, and maybe even dabbles in PHP programming. These jacks-of-all-trades delve less deeply into any given aspect of their field, but have (or claim to have) basic experience with everything.

Keep reading…


New Year, New Job!

In October, after four years at Pop Art, I decided it was time to move on. While I will always miss the incredible people I worked with, and the passion everyone brought to the job, the company had changed and it wasn’t the right place for me anymore. While negotiating my exit, I interviewed for a job at R2C Group, which I accepted.

However, in my first week at R2C, it became clear to me very quickly that it was a poor fit. I spoke to my managers, and we all agreed to do everything we could to address the situation, but in the end the company’s needs and my own were incompatible. I gave notice, and my last day was Christmas Eve. I didn’t have another job lined up.

Keep reading…


How to Hire a Front-End Web Developer

The following is an email exchange I had with a friend at another company about a year ago. We were talking about the best way to go about hiring a front-end developer, and I was sharing some tips from our hiring process.

“Hi Scott, we are in need of a CSS expert/ninja. Our company has gone through agencies and the whatnot, but the candidates that have come from that route haven’t exactly knocked our socks off. I’m hoping that since this is what you do you might know some people, have some advice, or know some agencies that specialize in this area.”

I’ll tell you how we found Libby, our other CSS rockstar.

Keep reading…