Friday, May 30, 2008

Twitter is the new MySpace

I remember when MySpace was the hot new thing. Everyone I knew had an account; it felt much cleaner than Friendster, and you could look up bands and find fuzzy recordings that you could then take back and embed on your profile. The track would play in the background while your friends checked out your CSS templating skills. It all seems very twee and sepia toned now, but I have a handful of offline friends with whom my only active connection is with our MySpace friendship so I leave the account open to atrophy.

Twitter is rapidly becoming the same for me. Anthony Stevens wrote this morning about how the decision was like super-delegates choosing sides. Without getting too political I think the metaphor is apt only if you consider the demographics which tend to come down on either side of that particular decision. Chris Pirillo said it best that Twitter is "asynchronous IRC" - a raw feed. The loudest voices dominate my twitter window, and the noise is deafening. Finding a "new voice" is like a needle in a haystack.

FriendFeed is like Twitter with actual conversations. Someone marks an article from basically anywhere, and it forms a locus for comments on that particular topic. No more sifting through @s and "in reply to's" that don't even point to the same post anymore.

The second big advantage of FriendFeed is in the ability to widen or shrink the pipe you transmit and receive. By opting into services you control what you communicate, and with the hide function and rooms you have a dial to control the gain on the noise stream.

Third, FriendFeed is an amazing place for finding new voices. When a friend-of-a-friend comments on an article you can get a feel for their perspective as an introduction, rather than finding out where they had lunch. If you have something interesting to say it is easy to make your voice heard in context, something virtually impossible with Twitter.

Armchair pundit: the next great movement will be Seesmic + FriendFeed. Video is spectacularly expressive, and in some ways the barrier is actually lower than with written commentary. The main downside is the inability to skim... and on video especially people tend to ramble. I predict new cultural memes for mini-video brevity to fight the problem, followed eventually by software organization... FriendFeed for Seesmic.

In the meantime I'll keep my Twitter account because a lot of friends and colleagues use it, but there is no question in my mind which technology has the edge.

Tuesday, May 27, 2008

Can UGC really go bad?

There was a ReadWriteWeb post this morning from Sarah Perez about the potential for negative feedback in a blog 2.0 context. After watching a couple of startups self-destruct after getting critical write ups it's clear that even for web companies the changing structure of corporate communication has not universally sunk in.

The lines get blurry, but there are two broad categories of feedback which jump out: call them "trolls" and "critics". A good place to find some old fashioned trolling is in the comments section of most articles on TechCrunch; an especially feisty example during the Wired spat here. Does a reasonable reader believe Michael Arrington is a #(&$ #($&##@ ? Of course not... I like to think of crackpot trolls as a status symbol like paparazzi. Name calling and ad-hominem attacks (DH0/DH1 on the Paul Graham scale) can be safely ignored in almost all circumstances, and your readers will do the same. They hurt your brand in the same way someone littering a fast food bag hurts that company's brand. Given the opportunity you'd rather craft the message differently than seeing your logo in a ditch by the side of the road, but most customers will be minimally affected and any response by you would absolutely make it worse.

Negative write ups are the second best thing that can happen for your startup from a PR point of view - after positive ones. In this day and age there is such a thing as bad press but I'd argue only in the contexts of HR or accounting. An early adopter interested enough in your product to discuss why it doesn't fit their needs is bad only for your ego. First, it gets attention to your product, and second it's great constructive feedback. There is an embarrassment of riches in terms of product feedback available today, and I think we're just seeing the first glimmer of companies tapping into that in an organized way. Companies that are already doing so have the added benefits of being seen as progressive and responsive.

Saturday, May 24, 2008

Ira Glass on making things that suck



This was posted on Hacker News this morning and I thought it was worth reposting. Failing sucks, but you can't do this and be afraid to. There's no magic formula that some people are born knowing, just a few lottery winners and a few others who work harder than everyone else.

Tuesday, May 20, 2008

Instant Rails = Epic Win

This week Lappy 9500 had a little zombie problem in its hard drive (for the second time in nine months which is how old it is), so I had to switch to the creaky old silver Dell while I wait for a new hard drive to get here. Reasons why I should have bought a Mac aside, my eyes were opened to the wonder which is Instant Rails.

The migration of my desktop development envrionment consisted of:

Step 1: Copy C:\iRails folder from freshly bitten undead Lappy 9500

Step 2: Paste iRails folder onto C:\ drive of Dell Slowpoke.

Step 3: Recognize.

Seriously... Database: check. Web server: ready. Environment variables: check. IDE, are you kidding: check. Codebase: check. It was glorious.

Interestingly getting set up to use Heroku on a new Windows machine is orders of magnitude more complicated. I understand cloud hosting vs. local environment, but if the story is how super easy Heroku is to use to get up and running with RoR, there is no comparison, it fails in comparison to Instant Rails. My other gripes about Heroku are the lack of a console window and the impossibly small pipe. Building an app on free-beta Heroku can feel like riding a Ninja 250 - the rev limiter is pegged right from the start, and it starts throwing errors above 55 mph.

For the record, to get Heroku back up on Silver Lappy would require installation of Firefox, 7-Zip, GitBash, my codebase and data scripts. I know, it's apples and... green apples, but for keeping me working seamlessly Instant Rails gets my gold star this week.

While I'm digressing on scrappy bootstrapping tools, I also installed ColorPic and the Gimp. ColorPic is a lightweight way to get the hex for any color you find, then fine tune it on your site using the raw hex values. Gimp is a sad pale shadow of Photoshop, but it's free. It isn't good for details or freehanding, but if you just need a curvy shape, a color change, a scale or a crop it gets the job done. Microsoft Expression Design is targetted at doing just this sort of thing and is comparatively really good at it, but if you're going to spend the money my opinion is that you might as well get Photoshop.

Thursday, May 15, 2008

I want to hold your hand



I am coming around, guys. An average tech-savvy-ish American: uses iGoogle widgets so they get news from various sources every day. But doesn't what RSS is, much less why they'd want to export their opml file. Twitter sounds like other peoples' business, and FriendFeed sounds like the sort of thing the government is up to.

So... they have a sense of getting headlines from multiple sources, maybe even more than what Google News can provide. They might even do a little light configuration if there was adequate hand-holding involved. Google are the *masters* of hand holding.

Kevin Fox once criticized a post of mine in FriendFeed; It was a smidgen out of context at the time, but it is dead on from a market positioning perspective:

"It's ever expanding circles. First design for Louis Gray, then for the other 50,000 early adopters, then for their 500,000 friends, then their moms. If you design for their moms first you'll never get the early adopters and moms won't use a service without momentum because they're not good at seeking out the new. Mind you, this is for actual startups. Products with guaranteed initial exposure (like anything Google launches) has different rules. - Kevin Fox"

The actual sentence in question was "When designing UX think about what your mom would use, not what Louis Gray would use." Which is lucky, because I have struggled mightly with the realization that the project that we're going with is in some ways just more duct tape in a web 2.5 environment that seems to be ALL DUCT TAPE. It is some consolation that our idea is dedicated to 'noise' elimination, but in a fit of pique I might very well have said "Forget the echo chamber, let's design it for everyman!"

But what I (fortunately) was going for in that statement was that I want the UX to have that "hand holding" feel Google does. I want you to be using the site well before you even realize you are doing so. Because frankly, I may be an earlier-ish adopter, but I'm everyman too. I smiled in real life when I found out how easy it was to set up Google AdSense. I still get frustrated and quit a new site at the first counterintuitive speed bump or forced account creation. Almost no site "takes" on the first try with me. I would argue that we never have a 'hair on fire' use case - when our urgent, unfilled need makes us willing to struggle through inferior interfaces and functionality - when it comes to news or networking.

So for product positioning by all means target Louis Gray and the other first-adopters, but when you're designing an interface make sure to hold your users' hands.

photo credit vc wear

Tuesday, May 13, 2008

Where do you comment?

Twitter, FriendFeed, and RSS sharing are swiftly ensconsing themselves as the primary modes of communicating interesting information among friends on the web. Though each has a unique role, there is a significant amount (>50%?) of redundancy between them when a user identifies an interesting piece of information. Currently we have great tools for what I believe are emerging as a distinct set of use cases, but we have some redundancy around sharing and commenting that hasn't sorted itself out yet.

The RSS reader is where users find the information they think would be useful to their friends. First, they comment on the initial blog post itself, which gets broadcast using a comment network like disqus or intensedebate. Then they elect to share it in Reader, adding a note. It shows up in your google reader friends' RSS readers as well. Friendfeed also picks this up and broadcasts it to your network there. Finally, you go on twitter and post a tinyurl to link to the article, which also gets picked up on friendfeed.

It can actually get much worse than that if you have mobile listeners, facebook, chatterous, etc.; I use the others because they constitute the main use cases: primary source, a reader of raw material, a streamer, and a broadcaster. The others (while plenty useful) simply rebroadcast broadcasts or stream less comprehensively or read in a more prepackaged or esoteric way. To put it another way, you can insert whatever brand name you prefer for commenting, reading, broadcasting, and streaming/recording.

So, here is my open question: What does it mean when you comment on an article on the article itself vs. in your RSS reader vs. Twittering about it vs. commenting on a share in FriendFeed? Does it depend on your networks for each - i.e. you think one story would appeal to a wider audience than another? Is it random? Would it change if (when?) everyone on Facebook used these tools every day?

For me, my RSS friends are the smallest group, my twitter friends a bit larger, and my friendfeed network are (ironically) usually people I don't know personally but follow because they find interesting items. I don't generally comment on friendfeed items unless it is in reply to a friendfeed comment someone else has made, mostly because I feel like it interacts with a very small audience. I only broadcast on Twitter if I think something is pithy, funny, if it is or pertinent to an individual I know (also ironic). I am trying to do better about commenting on blogs because I like it when people comment on mine, but I have a sense of writing it in stone, which I am loathe to do because I am never sure-sure. It isn't rational. Commenting on a share on an RSS? I haven't figured that out yet, so I generally don't do it.

Sunday, May 11, 2008

Suggestion, Recommendation, and Filtering

As I mentioned in a previous post, Bayesian algorithms have different sets of criteria depending on the expectations of their users. I find three levels that applications fall into.

Purely implicit suggestion algorithms by definition have the lowest level of interaction - they measure what other users have been interested in in the past, compare it to the things you do, and using some reasonably complicated math make suggestions based on that information. Targeted advertising campaigns make sense for this approach - most people aren't willing to make an effort to make it easy to advertise to them, and expectations are zero that you'll be advertised to, and you don't need any trust at all to make them effective.

Amazon is an example of a purely implicit approach taken as far as it can go... and maybe a little too far. An advertising algorithm that directly interacts with users by making explicit recommendations - it tells me "Hey Adam, we think you'd like this..." as opposed to a passive advertising engine like adsense. Unfortunately since the algorithm is implicit I don't have a way to tell the algorithm that the South American Flute music CD was a gift 5 years ago, and I have no interest in the emails they send me suggesting other world music.

Without any more information than the things I buy or view however, the ability for this algorithm to provide useful suggestions faces an asymptote as the math behind it gets better and better - my interest profile snapshot at this moment in time is much more complex than can be gleaned from my historical shopping data.

Recommendation is the next tier up from suggestion. The difference is that suggestion supplies data without a question being asked, while recommendation is in response - potentially abstract - to a question which the user has posed. Pandora, Digg, Delicious - we have become accustomed to interacting with applications that take our input and use it to make direct recommendations. They still use Bayesian algorithms of course, but they are fuelled with direct feedback, which can eventually provide enough information to make pretty good recommendations about things you might be interest in.

True filtering is a lot more serious. Filtering is as far from recommendation as recommendation is from suggestion, because it requires trust. You provide the raw data you want filtered, and then trust the system to give you the subset you are actually interested in and not cut out the things you consider critical. Spam filters are a great example of this. When my radio station plays something I don't like, it is much less serious than when the filter deletes that email from grandma. Alex Iskold wrote an interesting article that was applicable for netflix, but it's not a good fit for filtering as we're talking about it - when filtering messes up the analogy isn't like finding a restaurant that wasn't recommended but you liked anyway; it's more like finding out all your friends had a party that they didn't invite you to because they didn't think you'd be interested in.

I don't want to talk too much about the stuff we're working on, but I can say this: if you're primarily focused on the wisdom of crowds, ur doing it wrong. Your holy grail is the Greatest Newspaper In The World, which... misses the point. There are a lot of editors at every major paper in the world who get up every morning and work their butts off to do just that... and then Google News and Reuters skim off the cream. If you want to cobble together the world's best most popular newspaper, you're playing for scraps. No, the goal of the filtering web 3.0 evolution is going to be to finish the job RSS started, to create your ideal newspaper. Stay tuned.

Thursday, May 8, 2008

Noise vs. Missing Out

There has been an interesting conversation going on in the last couple of days about the "noise" Friendfeed's adoption in particular but social media as a whole foists upon the tuned in on a daily basis. David Risley's post got it started, and it ironically stirred up a flurry of noise on Friendfeed almost immediately. Robert Scoble's response was that with any new technology the adopters and their noise outpace the filtering functionality to keep it contained.

As someone who is interested - ok, obsessed - with this topic, I've been mulling it over. I think we all have a slightly different use case for these tools, and with each use case comes a different granularity that is our optimal noise filtering level - but I think we'll find that the need is the same. I'd posit two concepts, a "Perfect Filter" (an impossibility), and a "Crude Filter", and wonder how their application would affect the different taste levels on the Noise to valuable information ratio scale.

Scoble in swim trunks is a vivid image on one end of the spectrum - I persoinally like using Twitter's "Everyone" tab when I want to get my mind blown by the fire hose, but it's a novelty for me. The A-listers don't want to miss a thing, and are willing to invest the time to weed through a lot of chaff to find it - in lieu of a better system. Their experience with the Perfect Filter might have the fewest number of posts removed... slice a few trollish comments and implement way to roll-up duplicates, a nice graph representing trackbacks and the discussion nodes around the topics of the day, but by and large a similar overall set of data. This subtle approach multiplied by their amount of time using the tools might wind up benefiting the most. The Crude Filter is simply not useful for this group - it cuts out too many items they want to read.

The regular early adopters choose not to spend hours on end sifting through posts and reposts and comments and cetera about every topic that flows through friendfeed, twitter, and the blogosphere on a given day. Instead of being an annoyance the natural state is not acceptable, and so the Crude Filter becomes valuable. Give me all posts that others (presumably the famous guys) have already marked as interesting. It'd be nice to see if anything is associated with these keywords and make sure to cut the items that use this other one. Items will be missed, but in the end "If the news is important enough it will find me". The only difference between the crude and the perfect for this user are those serendipitous stories that somehow the A-list hasn't caught onto yet or more likely that appeal to an esoteric interest of yours. A filter (or inversely a recommendation engine) using math that corresponds to this temporal plane, i.e. "is doable" can get the average early adopting cool kid a whisker away from perfect. They don't mind waiting until Arrington gets back from lunch and lights the story up to find out about the latest acquisition. They can set up keywords for their interest in lolrus bukkits and catch... most articles. And do it in 10 minute breaks 2-4 times a day.

Which is what leads me to make crazy statements like "design for your mom, not Louis Gray". Since you guys don't know my mom, a better analogy would be "design for the people who have customized iGoogle or Yahoo's homepage, but spend less than an hour a day reading the news online". There are the tools available and the unmet need to really improve this very large segment's experience. The A-list is looking for duplicate filtering and article grouping, but my gut instinct is that to actually filter out unique content would require a level of sensitivity to earn their trust that the technology is not yet extant to accomplish. Or if it does, news of it has fallen through my filter...

Wednesday, May 7, 2008

Minimalism in website design

There is a saying among long distance backpackers, "If you don't have it, you don't need it." The idea is that you can cut far more from your kit than you thought possible, and your being around to miss something implies anthropically that it wasn't as essential as you thought. Health and mileage are what matters, and the stuff on your back becomes a separate equation, a tradeoff between discomfort while carrying for comfort in camp. You quickly shed the non-essentials, then the essentials, then the dire until your pack, now well under 15 pounds in warm weather, ceases to be noticed at all. At this point you find yourself weighing, debating, and finally allowing in the smallest luxuries... a rain jacket, a small paperback, an ipod. Just enough to soften the roughest edges of the experience without interfering with what matters - health and mileage.

My favorite site designs take the same approach. A few months ago the Economist did a story about Twitter's Evan Williams I related to.

"... Mr Williams... tries mental tricks. One is to ask “what can we take away to create something new?” A decade ago, you could have started with Yahoo! and taken away all the clutter around the search box to get Google. When he took Blogger and took away everything except one 140-character line, he had Twitter. Radical constraints, he believes, can lead to breakthroughs in simplicity and entirely new things. "

Twitter my be a little baroque for my taste, but the philosophy is there. Some other newer sites that embody this spirit are Muxtape and Twistori.

Hillel from Jackson Fish Market talks about "artisanal software" with a gourmet foods metaphor, and it's an excellent analogy for startups and the way our sites work best when small in scope and carefully crafted. We need to be careful not to fall into the other trap of artisanal foods - making our hobby our business - but solving small problems extremely well is what we do best.

So to make a beautiful website: start with a scope that covers only the essential solution of a problem that needs solving for your primary use case "story". Cut all features that aren't absolutely necessary. 90% of the "good ideas" is about right. You'll save yourself effort if you can identify them ahead of time... I am notoriously bad about coding things before I realize they are non-essential. Then come up with 15-20 different visual designs that add as little as possible to the greatest effect. Think of every .png as a rock in your backpack.

This philosophy can be applied to almost everything you do or create, and it has never let me down. The less clutter you bring into your life and your work, the more effective you can be at the things you do and the more time you can spend doing what you love.

Monday, May 5, 2008

5 techniques for optimal productivity

I am just coming up for air after a very intense 20 days, where I took an idea from "hey, what if..." to a stable application that does some non-trivial processing. I have found five techniques that really help me stay sane and happy while working very hard. Your mileage may vary.

1. Set an alarm. I wake up at 8:00 every morning, even on weekends, and even though I can wake up whenever I want. The idea is to help you get to sleep consistently at the same time. I find that my natural cycle moves toward 26 hour days if I don't train it otherwise.

2. Total sobriety. I do my best work late at night, which would be compromised after a few beers. I sleep better, feel better, and work better when I am completely sober. Besides, I find that when you are in love with your job you don't have any use for a numbing agent.

3. Work out. I do a quick weight circuit every other day, and get my cardio from cycling and walking everywhere I go on the hills of Seattle. Free weights and a swiss ball are all I need to stay in shape.

4. Eat all day. I am never interested in the first splash of cereal I make myself eat first thing in the morning, but I am always glad I do. I munch all day long on fruits, veggies, and other healthy snacks, and try to eat small-ish meals. I avoid "bombs" for lunch because I'll be sleepy in the afternoon.

5. Meditate. I make time to meditate most days lately, and find it very helpful for keeping me relaxed and clear-headed.