Tuesday, April 29, 2008

The Echo Chamber

Most people reading this blog are hopefully aware of the little bubble that encircles the internet startup community's culture, mindshare, and perspective. It is one of those topics that makes for good link bait, but rarely do stories address the potential for observer error or ways to address it.

From a cultural standpoint, most people don't know what a "meme" is, much less what it means to be rick rolled or Lacyed. Which is common to every industry, association, or school, I'm sure... but there is something about the twitter echo chamber that makes them seem ubiquitous in such a way that it is particularly easy to lose perspective. Twitter is a good (if cliched) example. The vast majority of people have never heard of it. Really bright but non-bubble people don't understand when you explain it. But probably two-thirds of the new startups I've heard of in 2008 leverage twitter in some way. Think about it - their mass adoption (which is surely a success criteria, right?) requires graduation from a leap that most smart but non-internet culture people do not find intuitive.

Mindshare is the tricky part. You'd think with all the navel gazing that "outsider art" would be the norm, that the apps which find mass market appeal would be from the people who don't have the problems FriendFeed is trying to solve, i.e. 99% of the population. It just isn't the case though. Without knowing what's out there, what problems are being worked on, what's worked and what's failed, it is very difficult to pick an idea worth pursuing. Beyond competitive analysis, it's an educational foundation that is key to giving startups the best chance at success.

The power of the tools is another example of the absolute necessity of integrating with the bubble. To build a 3-tier .NET component for a web application used to be an assignment we'd set out an evening for. In Ruby it takes, oh, 20 minutes? Libraries, frameworks... it is definitely better building websites from the inside.

So as an entrepreneur, what do you take away? If you read my other postings about giving yourself the best chance of success, I think you have to completely disregard this entry, right? If your goal is mid seven figure early retirement, you should plan your strategy around a market worth mid seven figures. The echo chamber should have that. Mass market appeal is not. Additionally the buzz machine that causes you to lose perspective is an awe inspiring PR machine... at least inside the bubble. I hadn't heard of brightkite before yesterday morning... by 10am I'd seen at least a dozen disparate references.

Going after a niche is an obvious solution... maybe not a niche product like farecast but a niche market like buzz feed. Of course that requires a whole other bubble in which you'll need to become an expert in, but that comes with the territory. Either of these niches (product or market) seem to be talked about much less, but sold much more.

A really good way to deal with this paradox of needing to drink the kool aid to recognize the opportunities but losing touch with what everyday users care about when you do is to have advisors you trust who are on the fringes or outside the twitterverse entirely. When designing UX think about what your mom would use, not what Louis Gray would use. Be mindful of the potential for a PR strategy that relies heavily on "going viral" to steer your product toward the rocks of esoteria, even as you fully appreciate the spectacular power of an idea getting picked up. In essence I believe success is in walking a fine line by taking what you need from the echo chamber but not losing perspective in it.

Wednesday, April 23, 2008

The megalomania trap

Have you noticed the way media stories - even 250 cool kid blog stories - seem stuck in the description of the startup landscape as either "the next (insert billion dollar company name)" or "so much fun, working from home weaving colorful baskets!" lifestyle companies. These two extremes paint a lot of companies' visions and set themselves up to fail.

There's something in our psychology that has trouble differentiating risk, especially the number of zeros behind the odds of success. A 1/10 success still requires you to "do something crazy" in the eyes of the careerists, so heck, you might as well shoot for "Japanese Palace in Palo Alto" money and go for the 1/10,000 shot.

And so these companies do the things companies do when they're trying to get huge and they fail, when if they'd just kept their costs down and moved into more of a niche space they could have been very successful. If they're lucky - when you swing for the fences you often don't get the disappointment of hitting singles. Fortunately it isn't that difficult to have six decent ideas and take them far enough to see how the market reacts, giving yourself better than even odds of a nice retirement. But I've ranted before about the awful space some entrepreneurs get in where they never have any ideas because they're waiting for "the big one", not realizing that the people who've succeeded with a "big one" didn't set out to conquer the world, they just went out to their garage and started tinkering on a project for themselves. That is if you even accept the idea that the big successes aren't flukes to begin with and that they have some lesson for the rest of us. What's the old saying... to have another Microsoft you'd first need another IBM to bend over?

My advice for other realistic-success minded entrepreneurs - or those pursuing "lifestyle" companies or global domination behemoths for that matter is to find cofounders who fall into the same camp. My advice for the megalomaniacs is to build into your plans for world domination a small success at first. If you are really bent on having your own 767 then surely guiding one small startup to a "liquidity event" won't present too much of a challenge.

Tuesday, April 22, 2008

The Cloud

Like most nerdy-types I've been interested in cloud computing for awhile now. As long as I've been doing independent consulting I've understood all too well the difference between a "managed server" and a "hosted server": the former implying that some infrastructure guy was going to be handling the patching and the installing of the other scripty things that make the computer not crash, the latter meaning they would provide a server, a rack space, and the phillips-head screws with which to mount it. Clients like the price tag of the latter and don't differentiate types of computer guy, and why should they... part of delivering really really great service means that they can call us and we ought to figure it out and not make excuses like "sounds like a server issue". In the blood and guts of long term support your best hope is that when you say "sounds like a server issue" it doesn't turn out to be your program after all, and you do the best you can to troubleshoot it.

It's these campaigns in the blood and guts of long term support that make The Cloud seem so shiny and light. Not only could you get someone to manage the stuff you are tragically unqualified to do... suddenly that whole mess gets abstracted into the commodity our programmer instincts think it ought to have been all along. The electricity analogy is apt... no more tinkering around with the 5 hp engine on the generator. If a "managed server" where the host does the updates and more importantly has a sense of implicit responsibility for keeping things running is like hiring someone else to manage your generator out in the back yard, the idea of The Cloud is like being able to pull all your electricity from the grid.

Until I watched Jeff Bezos' Startup School speech this was roughly my perception of what cloud computing could offer me - getting Windows Update as far from me as possible. But the disasterous consequences of overnight success on your server situation is the true killer use case for The Cloud. 50 instances today, 3500 tomorrow. You can't plan ahead for that, you'd be a fool to build out that kind of infrastructure. You can't react to it either, by the time you caught up you'd have suffered significant outtages. But the warehouses full of computers at AWS, Google, or Mosso could easily handle your 3450 instance blip.

I've been playing with Heroku lately, a neat tool where you upload your Ruby code, then edit it right in the browser. With Ruby being interpreted it truly achieves Anthony Stevens' target of One-Click Deployment.

Wednesday, April 16, 2008

Programming Required

I identified with this blog post today. If you are a wannabe internet entrepreneur and you don't know how to program computers and you find that learning how to do so effectively is just too taxing: quit now. Seriously, you're wasting your time. If you have a partner who can code but can't do anything else and you guys have matching BFF tattoos and you bring pretty much everything else to the table, okay, it's just that if you can seriously bring everything else to the table then you should be plenty capable of learning how to write clean enough code to help out.

I'm not saying you need to be able to cook up a rules engine integration or a load balancing strategy; somebody needs to be able to do that, but most of the work involved in creating a product is much more banal... CRUD to CSS driven views.

On the flip side, just because you can program doesn't mean you're an indispensible cofounder who breathes miracles into silicon. If all you can do is sling code, you're a commodity. It works both ways... if your logical skills are honed to the point where you can architect and execute a non-trivial project, you have the deductive acumen to analyze a market segment and determine the best product positioning. You can help put together a business plan. You can lick envelopes and memorize an elevator pitch.

In my experience the best dynamic is when all the founders can wear all the hats. Their unique value is not in each person's arcane skillset, but in their unique perspective... one person is the passionate dreamer, the other is the slightly more level-headed passionate dreamer.

It plays into the YCombinator approach of sponsoring teams of two. The exchange of ideas that makes that a powerful dynamic is key not just at a macro level, but in each area of the startup. If you don't have anyone to help fix your code when you get stuck you might as well be coding alone, and when you don't have anyone to tell you that your pink and olive UX design isn't working you might as well be designing alone.

Anyway, if you've got a team that works for you - super. I haven't seen enough co-founder dynamics in other startups to defend this rant, frankly... but if our LLC ever took on a third partner, they'd need to be able to chop wood and carry water.

Tuesday, April 15, 2008

Flash does kind of suck.

Having built towncry in Flex, Flash's web interface suite, I am forced to agree with almost every point in this blog post. For an app which was more of a widget than anything else it made sense - there was a big premium on a clicky-draggy clean interface which was towncry's differentiator - but we had to do some work arounds to support RESTful URIs so you could link to a specific event. This also helped the SEO issues, but it was definitely some time invested in that work around.

Pretty much everything was an integration project... I spent 6 months on towncry, and it was core-functionality enabled after 2.

I think Flex was the right call for towncry, and I am an evangelist for my policy of picking the best tool for each job (which usually means learning a new language every project) but I wouldn't use Flex or Silverlight unless I knew exactly what I was getting into. It makes little apps very slick, but a lot of things you take for granted in non-sandbox environments are major surgery.

While I'm talking about my "new project, new tool selection" policy, here are my get what you paid for them thoughts. I've built significant apps with all but PHP and Python, but I am a wantrepreneur, not an architect. I groan whenever Paul Graham (who I mostly admire) says it, but "hacker" is an apt description. Which is an underrepresented voice in the platform debates... as an entrepreneur all you care about is getting your 1.0 release out as fast as possible, hiring talent, and whether there are major scaling problems which will hinder your quest for world domination.

Anyway, the platforms according to me:

-If you don't know anything, learn PHP. It seems to be the easiest to get into. Disclosure: I have written small things with it, but no major apps.

-If you have some programming experience, learn Ruby on Rails. It is a very fast vehicle to get up and running with your 1.0. It's also very hot right now. Twitter is doing much better on the scaling front, too. It's got my seal of approval for most web startup applications... but use -d mysql... sqlite hasn't impressed me.

-If you are an experienced Java or Perl guy/gal who wants to get into web development, I'd find an excuse to learn Ruby on Rails. Your MVC experience will come in handy. If you are trying to port a heavyweight Java backend to the web, stick with Java for the interface. Java isn't fun to write, but it'll get the job done. I haven't written a web app in Perl or known anyone else personally who has since 1999, which is to say don't do it, Grampa. I don't care how far it has come.

-If you're building enterprisey software, .NET isn't so bad. The problem for startups is the licensing cost and the derision of the cool kids, but I don't know of a problem it can't solve. C# is more fun to program in than Java, no contest. Visual Studio is nice, Reporting Services is powerful, and SQL Server is more programmer-centric than the alternatives. The cool kids making fun of you is a more significant downside than it sounds though. Good luck hiring startup talent, and getting buzz isn't going to be quite as easy. The community has a significant number of douchebags. Getting started isn't that expensive, but scaling with the Borg gets steep in a hurry. I have written hundreds of thousands of lines of .Net code, but it'd have to be a perfect fit for me to create a new startup with it now. It'd be enterprisey, with heavy reporting requirements, or something I could use our exisiting codebase for.

-My Python experience consists of a helloworld for GAE (Google App Engine) and non-development roles on two Python projects. All I can say is whitespace is not code and should not be treated that way. I might look past that to mess with GAE in the future. The consensus seems to be that Python + Django is like Ruby on Rails with more libraries... which is a good thing.

-Flex/Sliverlight have been covered above. Actually programming in Actionscript was fine, and in a very narrow requirement Flex can be the right tool.

-Everything else has a marginal slice of mindshare, and therefore you're going to have problems finding people to come work for you. In my opinion you are making a huge mistake picking Lisp, Merb (WTF?) or any of the other weird languages you see on Slashdot for your web startup.

I am sure I forgot to mention why your language is the perfect tool for every imaginable project, so you can preemptively add "____ language is teh best, because it supports strongly typed polymorphic template caching!!1" to the comments.

Wednesday, April 9, 2008

Work space

There was an interesting article that got bubbled up on Digg this morning about a shared workspace in Houston. As someone who works from home in Seattle, I would happily pay $100/month for a real office I could use a few times a month, especially if it was around other independent techies. In consulting we called it "hotelling" after "virtual" started to mean something else.

Realizing 90% of the people in the "startup community" I know have an office somewhere already, is there enough demand among Seattle early stage independents to price downtown office space? Does something like this already exist? I know of some associations that have arrangements that look like this, but nothing for independents where you pay a fee and get internet, a cube, and access to a conference room.

Saturday House is super, but quite different... more "hang-outty network and work", not "paid office space".

Somebody tell me this exists... and where I can go to sign up.

Friday, April 4, 2008

Do Something

This blog post highlights what I think is the number one most important piece of advice for other wannabe entrepreneurs getting started - take whatever your best idea is and start working on it. I meet people pretty often who say "I would love to be an entrepreneur, I'm just waiting until I have a great idea". To me it's like saying "I'd love to be a rock star; I plan to start guitar lessons as soon as I come up with a hit single". The most important thing is that you're working - becoming a better programmer, learning new design techniques, being active in the community and learning from failing.

Note that I'm not saying quit your day job. I personally tend to be really conservative about financial stability - I know starving artists do their best work, but if I was worried about paying the rent I would have a hard time with the creative process, where most of the sentences begin "Ok, bear with me. What if...?" If you have a crackerjack idea then go for it, otherwise do some side work, maybe find a partner. You can get a long way into the process before you have to quit if you're up for a challenge (and you'll find that doing side work well and also having a professional day job takes A LOT of commitment - it's good practice for running a startup).

Thursday, April 3, 2008

Eighteen thousand five hundred dollars

Techcrunch/Calcanis announced TC50 will compete directly with DEMO 08. DEMO replied, with a very PR-speak reaction. I'm not sure why they tried to sound like a Microsoft press release, but this morning's follow on had a lot more pew pew. Neither tack helps their case, but they probably weren't going to "win" over the startup set against techcrunch anyway. The only approach that doesn't sound disengenuous is "Dude... ouch."

Frankly I'd have some sympathy. DEMO isn't evil, and Techcrunch is gunning for them like they were sacrificing kittens at the keynote. "Demo must die." they say. But balancing TC50's agressive posture is the unavoidable figure, the cost for a startup to present at DEMO - $18,500. Their excuses for this are myriad, and frankly seem to boil down to "because we can get away with it".

Presenting at DEMO means you haven't gone live yet - a soft rule of the show is that you go live during the conference. Therefore it's reasonable to assume that that $18k isn't coming out of revenue - so it's somebody else's money. Money you could have left on the table and held onto another smidge of equity. Money that could have paid for all sorts of things that would improve your product.

DEMO says that that money proves you're serious. I'd argue that it implies you aren't - if you have the option of a similar conference, TC50, for free.

Wednesday, April 2, 2008

Representing

All you need to know about web design...



... and SEO/SEM

Naming Startups

I was reading Megan Dorn's blog post this morning about coming up with a name for your company, and I was frowning. There were some fine points, but some others I strongly disagree with.

"Kleenex" is a brand that is counterproductive - it leads entrepreneurs down the rabbit hole. Exxon and Kodak are the other two examples you see all the time. A totally made up blue sky name is fine if you have a billion dollar advertising budget to teach everyone in the world what it means. Compare "Jaiku" and "Twitter". Twitter is onomatopoetic but even more than that it sounds like what differentiates it - twitter evokes the frequent, lightweight messages skittering about. Jaiku is a cipher at best. Which is probably all you can say about any "blue sky" made up name - your best case first impression is completely neutral without a budget to teach us what it means.

"Domain Names" - Don't event think about branding around something you don't have the .com for. Choosing names without a registrar's search box open in front of you is a fun exercise, but expect to come up with 20 names, especially if you struggle with uniqueness. I personally couldn't do it... I have to know if the .com is available before I even start rolling it around in my head - why waste my time without knowing?

"Competitors" - I can't find the Mark Cuban quote about how many streaming sites had the word "cast" in them, and how no one could remember any of them. Looking at your competitors names for inspiration seems like a pretty bad place to find it, and an opportunity for groupthink. Instead look at the competition to highlight what differentiates you, then pick your name around that.

"Expansion" suggests that you name your startup something that would fit if you moved into other industries. I couldn't disagree more. It is orders of magnitude easier for a trillion dollar AT&T (American Telephone & Telegraph) to teach us "Oh yeah, we sell broadband internet now too." than for a "Yahoo" in someone's garage to teach us "Hey everybody, we're a portal".

Ok, that was a lot of what not to do. Here are a few tactics I use.

Parallel Words: Come up with a list of words that are associated with things that are associated with what your startup does instead of a direct description. Words you might use to describe an action involved in using the site but don't precisely describe the startup. Um... if you had a music site, a parallel word could be "Phonograph".

Evocative Verbs: Come up with a list of words that have drama built in. These make great modifiers. I keep trying to work "Unless" into a name.

Phrases: You have to be careful not to get too hung up on an esoteric phrase, but a common phrase which can be twisted a little can make a great name. They often have a built in resonance which made them slip into the vernacular in the first place.

Free Association: You should have a pool of words that describe what your startup does directly. Be creative, think about verbs and what differentiates you. Short words are actually your friend more than long ones.

Misspellings: Avoid them. "Digg with two Gs" can get away with it (it's certainly better than "Dig") but it always introduces the possibility of confusion. Never misspell a word which has any chance of looking like it was accidental... don't flip ie clusters, don't replace one vowel with another, etc. Doubling up consonants seems to be safest if you have to go that route.

The .com thing: I despise domain squatters, I get angry just thinking about them. There is a special place in hell next to the spammers and the RIAA reserved just for people who register a domain with the goal of extorting money out of companies that actually create things. But truth be told I think they are a boon for naming a company. They keep you out of the generics, where your name gets lost. Branding around a single English word or even a simple concatenation is a really bad idea, and the squatters make it impossible.

Two Word Pairs: Take all of your lists from above and start mixing and matching them. I find that two word pairs are the easiest way to get closer to the goal...

The Goal: A unique name that evokes what you do without describing it explicitly. A name that you don't have to tell people how to spell, and that can be understood over the phone the first time. One that is memorable, you can brand around, and that would look good on the side of a square building in an office park. Very few brands have all of these aspects nailed in a 10 character or shorter name.

Naming is one of the most difficult and important parts of starting a business, so make sure you give it the energy it deserves. When you find the right name you'll know it immediately because you'll know why the hundreds you threw away didn't work.

Tuesday, April 1, 2008

April Fools

Not much to report today, as I tried to ignore all news and blog sites due to rampant dumb hoaxes.

I figure if the fake news is funny enough it will find me.