Monthly Archives: February 2010

Inspired comment on information sources


A post by Rands here has inspired a comment from me, which I have decided to cross-post here because I feel it gives justice to some of my recent thoughts on information streams. Enjoy!

Rands, thank you. You ideas really resonated with me since there is quite a bit of overlap with my own recent thinking on the subject of information and knowledge.

Specifically, I’ve been thinking about the information streams that we come in contact with in our lives, and how these information streams fare in terms of value (or knowledge or wisdom) they deliver. My latest blog post is actually about migrating from Google Reader to Twitter for most of my information needs, and I believe that this personal experience exemplifies a trend.

You noted the profound simplicity of putting personal thoughts and ideas in front of the world, but the flip side (the reader side) of this is equally important. We as readers increasingly find ourselves in an informational deluge. Now more than ever we are all looking for a coping strategy to overcome the flood of information to reach what we really care about. I am hardly a Twitter advocate, but I think tools like Twitter and Facebook perform a tremendous service getting us there.

Twitter and Facebook are founded on a trust network which is modeled after real-life social network and is tuned for our established social behaviors. The social network is a natural concept, and it has been a part of our human genetic and cultural heritage for millions of years. The information doesn’t come from CNN, which has kind of a global trust score in our heads, but it comes from a trusted individual, which has a very local, topic-specific trust score and past performance attached to them.

My recent experience as a content consumer


Over the last month or so I’ve noticed a dramatic change in my online behavior.  For some time now I’ve been a regular Google Reader user.  I’ve set up the RSS feeds from all the excellent blogs and newspapers on the subjects that I am interested in and the bloggers I’ve come to expect quality content from. I had the feeds organized by categories like “work”, “books”, “news” and “tech”. My usual pattern was to log in Google Reader scan the different feeds and catch up on what was going.

I’ve also started paying more attention to the people in my Google Reader social network. I actually have no clue how these people got in there, since I definitely don’t remember adding them by hand. I think what Google did was to add people I’ve exchanged emails with and who had a Google Reader “profile” automatically. Actually, if someone can shed some light on this, I would appreciate it.

Anyways the people were good sources of interesting articles that they read and starred. These would appear in their “inboxes” on my Google Reader page. Since I had at some point a conversation with them (or was friends with them) we naturally shared some interests, and I enjoyed reading what they enjoyed reading.

The main problem with Google Reader was that I was always way way behind, literally thousands of items behind, and that depressed me. Every time I logged in, I saw how far behind I was, and I chastised myself for not logging in more and spending more time reading this great content that was just sitting there waiting for me.

Enter twitter. I actually joined twitter some time ago, and I really hated it at first. The thing I hated the most was the artificially imposed 140 character barrier. I hated the internal lingo of RT, @, # and whatever other weirdness that imposed itself on all its users. It was yet another jargon to get used to, and I am not a big fan of jargons. So I was quiet for a few months on twitter, not really getting what it was all about.

My first two tweets were:

  1. Still trying to figure out why I only have 140 letters to express myself. Wtf is this, some kind of joke? Livejournal? I repeat myself
  2. Haiku: another social network // what do i care? // i’ll just use it for bitching

And these are very indicative of the user experience I was having at the time.

So at this point you are probably asking yourself: is there a point to this post? Yes, in fact, I was about to make one. The point is that I finally got the value of twitter about a month ago, and the value is that I get quality content only from people that have a history of delivering — not from a site that’s hit or miss but from a live person who has a consistent set of interests and acts as a screen, a filter over many different sources of information. If the person is proven, so is their content, and the more interests you share with them the better.

The particular subject that I became interested in was startups. I wanted to get some insights into what the startup community was talking about and what things were trending, and in span of several weeks I read more quality pieces than I could have ever spotted if I simply signed up for the RSS feeds of a handful of happening startup blogs. The signal to noise ration is insanely high when you have the power of collective human filtering at your fingertips.And that IS the value of twitter to me.

Oh yeah, someone’s been talking too much about his girlfriend and not so much about startups? Bam! – just unfollow him/her. It’s that simple. That’s the learning/pruning part of the algorithm, and it yields immediate results.

So here I am telling you about all this stuff. I made a point (sort of), but is that somehow related to the app we are building? Incredibly it is. No, I mean the twitter switch was not pre-meditated, it just happened naturally after we decided we were going to build something. But the point is that the core assumption of our future product is that people are fundamentally more interesting to watch than sites and that people are far better sources of content than RSS or content editors.

Everyone has already done their homework and built their network of connections in real life. Whether we consciously control the process or not we pick the people who are like us and who share our values and beliefs. More importantly, they often share our interests. The only thing we need to facilitate is delivering relevant social content from your network to you, also making it easier for your network to create this content. And that’s effectively what we are doing.

So coincidence or not, but I do feel we are onto something here..

On private joys of ownership


One of the biggest surprises of the startup experience so far has been the pleasure of owning. I am not talking about owning a multi-million dollar company or any company for that matter. I am talking simply about making something when there was nothing there before and putting your name on it. It’s not a matter of perceived or objective or any other type of value that can be put on the the thing you are making, it’s just a private joy of building, identifying with and taking pride in what you’ve build.

I am not a stellar programmer, and I have not written that much code in my lifetime.  But even when I did write something it was never my own.  And now, for the first time, what I write is mine, and that is somehow a very different experience.

Betting on existing social patterns


One of the premises we are betting on is that social behaviors are the most ingrained and persistent.  What we’ve done is actually try to identify (of course this is skewed by our own naive perception of how people operate) the social group dynamics and sustainable behaviors that we can transfer online.  In other words, if people are doing this in real life, they should be willing to do it online as well.

This works only as long as there is some incentive, some value proposition over the traditional way of realizing this social behavior. It has to be somehow enhanced, which is hard since we are fighting an uphill battle with existing habits and norms.  But if we get this right the rewards are also great, since you are tapping into fundamental drives and needs. This is like Maslow’s pyramid type of stuff.

The enhancement part is tricky too.  We’ve zeroed in on a number of limitations that apply to this set of behaviors in the physical realm, and we’ve been basing our strategy on overcoming these obstacles and making it easier, faster, more rewarding for the user to do this online. There are many assumptions, some of them technical, to validate. But of course the biggest hurdle is to verify the core premise that this social behavior is transferable. That’s the main challenge.

Another issue that has bubbled back up to the surface (thanks to a comment here by @cindyalvarez) is privacy. We considered it at the very beginning and this is yet another unknown, which is up in the air for the time being. The comment makes me think that we cannot afford to neglect the issue.

Needless to say, it’s getting increasingly complicated to not talk about what the application actually is. The wire balancing act is getting trickier by the post. Moreover the blog is moving much faster than the product, so I will try to mix in other topics that divert your attention from the elephant in the room, which is really what the whole hoopla is about anyways.

No product ever failed because it was “ahead of its time”


I claim that no product ever failed because it was ahead of its time.  It doesn’t mean that products can’t fail for other reasons. Of course not.  I guess what I am trying to say is that “ahead of its time” is just papering over something else, and this something else comes in two forms:

  1. The product is behind (as opposed to ahead of) its users expectations.  In other words, it’s just a bad product. It doesn’t solve any problem, and if it does solve a problem it does so in a way that is somehow deficient from the point of view of the user. The technology may not be there yet, it’s slow, ugly, whatever.  Bottom line is: it just doesn’t live up to the user’s expectations. This is the product/market fit that everyone talks about so much.
  2. The product is ahead of its ecosystem. Obviously some products just don’t make sense without certain complements, infrastructure, business models, etc. Sometimes the stuff that you have to stand on hasn’t been invented yet. The users would love to use the product, but the product cannot survive on its own, it needs a certain business or technology ecosystem. Agreed, the notion of ecosystem can be very vague, but it’s basically stuff you have no control over. Some of this can be filled in with enough money thrown at it, but mostly the ecosystem problems are too large for one company to tackle.

What does it have to do with what we are trying to build?

Well, 1 is up in the air until we let our first users play with the application. Right now we are running on a set of assumptions about user wants that we need to validate.  So once we have the alpha we’ll have the first indication of whether the product is decent, i.e. whether somebody is willing to use it and on what terms. Frankly I can’t wait.

2 is easier. The coast is clear in terms of ecosystem. The things that we think we’ll need are already there. Of course, once we start tracking 1 better, we may realize that there is something in 2 that doesn’t exist and is needed to satisfy 1. We’ll see.

Saying no to refactoring code


Isn’t 80% of code quality just the choice of font and formatting?  :)

As a case in point, the code viewed in our git repository’s web interface somehow seems to much cleaner and more well organized than the same code in Eclipse. Psychologically that’s a good thing, and I’ve trained myself to look at the code online when the urge to refactor comes. If that doesn’t work, I look at the product backlog and listen to all the other stories calling my name. If by this point I am still not convinced, I run the unit tests and see the dots that roll across the console window, appreciating how much I prefer them to F’s (failure) and E’s (exception).

So when you are about to refactor something take a step back and… I don’t know, just say no.

On a more serious note, I think it’s a perfectly natural to want to tidy up the code, make things more ordered, more maintainable, etc., but if there is no immediate business issue behind it (especially if you are at the early stages), I feel refactoring anything is actually hindering your progress since it’s not bringing you any closer to your immediate goals. The odds are you are going to throw that code away anyways or discover that none of the customers want to use it.

Keeping it frugal (or running a startup on less than 25c a day)


Ok, this is how frugal we are. Consider it a part of the overall leanness assessment.

Currently our total monthly bill is $6.30.  This goes to for hosting of our project code base, tickets, release plans and time tracking (Disclaimer: I am not affiliated with them in any way, but no complaints so far).

Other things we use:

  • Fee App Hosting – Google App Engine
  • Free Document storage and sharing – Google Docs
  • Free voice calls and video conferences – Skype
  • Free blogging – WordPress

The next “big” expenses will be the domain name(s) and a real Google Apps account.

Getting to alpha will cost a total of $200-300 excluding the cost of labor. :)