Note: Typo corrected. Thanks to Mark for this one. Oy.
Evan of Blogger and Odeo fame just wrote a damn good essay about being “10 Rules for Web Startups” and I thought “Damn but I need to understand that better”. So I figured I make an annotated version and relate it in context of my own startup lessons. This is, after all, how I tend to learn — I take something and dissect it. Anyway. Thanks Evan! Great essay.
#1: Be Narrow
Focus on the smallest possible problem you could solve that would potentially be useful. Most companies start out trying to do too many things, which makes life difficult and turns you into a me-too. Focusing on a small niche has so many advantages: With much less work, you can be the best at what you do. Small things, like a microscopic world, almost always turn out to be bigger than you think when you zoom in. You can much more easily position and market yourself when more focused. And when it comes to partnering, or being acquired, there’s less chance for conflict. This is all so logical and, yet, there’s a resistance to focusing. I think it comes from a fear of being trivial. Just remember: If you get to be #1 in your category, but your category is too small, then you can broaden your scope—and you can do so with leverage.
Me: Yup. In my first company we made a product called HyperWriter which was a pre-Internet GUI based hypertext editor and browser. Think FrontPage but starting in 1987. Yes, Virginia there was a Hypertext industry before the web. No Virginia it did not survive the advent of the Internet with one exception — Eastgate Systems, makers of the ever wonderful Tinderbox run by the equally wonderful Mark Bernstein. Anyway this was a very horizontal product with users in literally every industry like BASF (intranets), Firestone (online training), Higher Education (online courses about nematodes). Those were just a few of the uses that our thousands of customers had for the product. And, while it was a great product, we suffered from lack of focus. Applications for the product broke into two main categories:
- Text based such as online documentation
- Interactive such as education and training
We ended up adopting the positioning statement “HyperWriter – Your one solution for online documentation and interactive training”. This, honestly, served no one well and our rationale at the time was that one of those was too small and we’d be better off not “limiting ourselves”. Clearly both were huge industries and focus would have served us well. Go Ev Go!!!
#2: Be Different
Ideas are in the air. There are lots of people thinking about—and probably working on—the same thing you are. And one of them is Google. Deal with it. How? First of all, realize that no sufficiently interesting space will be limited to one player. In a sense, competition actually is good—especially to legitimize new markets. Second, see #1—the specialist will almost always kick the generalist’s ass. Third, consider doing something that’s not so cutting edge. Many highly successful companies—the aforementioned big G being one—have thrived by taking on areas that everyone thought were done and redoing them right. Also? Get a good, non-generic name. Easier said than done, granted. But the most common mistake in naming is trying to be too descriptive, which leads to lots of hard-to-distinguish names. How many blogging companies have “blog” in their name, RSS companies “feed,” or podcasting companies “pod” or “cast”? Rarely are they the ones that stand out.
Me: Yep. Google clearly thrived by being the best in the world at something that everyone else disregarded (search and then advertising). Look at Oddpost, the best damn web mail client ever. Look at all the new startups around doing AJAX versions of “traditional” web apps like calendaring. New platforms always give an opportunity for retakes of prior apps.
Now — about the name. Yes Evan is right about making your identity stand out but you need to be really careful about it particularly when you mess with things that sound cool.
My good friend Shimon is doing it with a wicked cool AJAX based Todo List manager (Voodoo Todo) after he did excellent work on Frassle a very, very cool blog publishing platform. And I’d love to give you a link but I just googled his name and several variants on it and damn if I can find it. I gave you the Frassle mention in the hope that he had a link from Frassle to Voodoo. Sigh. He doesn’t.
Update: Its voo2do.com.
#3: Be Casual
We’re moving into what I call the era of the “Casual Web” (and casual content creation). This is much bigger than the hobbyist web or the professional web. Why? Because people have lives. And now, people with lives also have broadband. If you want to hit the really big home runs, create services that fit in with—and, indeed, help—people’s everyday lives without requiring lots of commitment or identity change. Flickr enables personal publishing among millions of folks who would never consider themselves personal publishers—they’re just sharing pictures with friends and family, a casual activity. Casual games are huge. Skype enables casual conversations.
Me: Interesting. I hadn’t ever thought about it but Evan’s right — there is a huge opportunity by looking at the web from this perspective. My gut says there’s a huge opportunity still in photos. Flickr nailed the single user photo sharing solution but, having spent the Thanksgiving holiday with my inlaws, I firmly believe that the problem is really easy sharing amongst the family unit. But that’s the point of another blog entry… Got it. Be casual.
#4: Be Picky
Another perennial business rule, and it applies to everything you do: features, employees, investors, partners, press opportunities. Startups are often too eager to accept people or ideas into their world. You can almost always afford to wait if something doesn’t feel just right, and false negatives are usually better than false positives. One of Google’s biggest strengths—and sources of frustration for outsiders—was their willingness to say no to opportunities, easy money, potential employees, and deals.
Me: *chuckle*. Very true. Everyone always wants something and often its not good for you. One tweak here and one tweak there and soon you have a whole big mess.
#5: Be User-Centric
User experience is everything. It always has been, but it’s still undervalued and under-invested in. If you don’t know user-centered design, study it. Hire people who know it. Obsess over it. Live and breathe it. Get your whole company on board. Better to iterate a hundred times to get the right feature right than to add a hundred more. The point of Ajax is that it can make a site more responsive, not that it’s sexy. Tags can make things easier to find and classify, but maybe not in your application. The point of an API is so developers can add value for users, not to impress the geeks. Don’t get sidetracked by technologies or the blog-worthiness of your next feature. Always focus on the user and all will be well.
Me: Man oh man is that true. I can point to things in my own site that aren’t user centered where I didn’t fight hard enough for the user’s perspective and Evan’s dead on here. User. User. User. (Said to the tone of “Marcia Marcia Marcia”). Note to self: Buy the new book from 37 Signals.
#6: Be Self-Centered
Great products almost always come from someone scratching their own itch. Create something you want to exist in the world. Be a user of your own product. Hire people who are users of your product. Make it better based on your own desires. (But don’t trick yourself into thinking you are your user, when it comes to usability.) Another aspect of this is to not get seduced into doing deals with big companies at the expense or your users or at the expense of making your product better. When you’re small and they’re big, it’s hard to say no, but see #4.
Me: Well that’s why Feedster exists. I’m a search guy and I saw an idea on a blog for “RSS Search Engine” and I said “I Can Do That and, damn it, I want that” and 3 days later I not only had one but it was featured on Slashdot. And, initially at least, we did hire people who used it. And we did add features based on my desires (although we’ve moved away from that). I’ve called this “Scratch Your Own Niche” before.
#7: Be Greedy
It’s always good to have options. One of the best ways to do that is to have income. While it’s true that traffic is now again actually worth something, the give-everything-away-and-make-it-up-on-volume strategy stamps an expiration date on your company’s ass. In other words, design something to charge for into your product and start taking money within 6 months (and do it with PayPal). Done right, charging money can actually accelerate growth, not impede it, because then you have something to fuel marketing costs with. More importantly, having money coming in the door puts you in a much more powerful position when it comes to your next round of funding or acquisition talks. In fact, consider whether you need to have a free version at all. The TypePad approach—taking the high-end position in the market—makes for a great business model in the right market. Less support. Less scalability concerns. Less abuse. And much higher margins.
Me: Yep. We used to actually have a self service advertising system using Paypal to allow people to place their own ads on the Feedster.com site. Before our first CEO wanted it taken down we had made some $6,000 cash in ad revenue. Teeny numbers I’ll admit but I wonder what it would be if we hadn’t taken it down. Perhaps I should have fought harder for that one. Alas. Seriously though its ok to charge money. I just counseled a startup recently to give special pricing to Web 2.0 companies but charge less if they blog. Charge even less if they blog regularly.
#8: Be Tiny
It’s standard web startup wisdom by now that with the substantially lower costs to starting something on the web, the difficulty of IPOs, and the willingness of the big guys to shell out for small teams doing innovative stuff, the most likely end game if you’re successful is acquisition. Acquisitions are much easier if they’re small. And small acquisitions are possible if valuations are kept low from the get go. And keeping valuations low is possible because it doesn’t cost much to start something anymore (especially if you keep the scope narrow). Besides the obvious techniques, one way to do this is to use turnkey services to lower your overhead—Administaff, ServerBeach, web apps, maybe even Elance.
Me: Yep. Acquisions are, without question, the end game for most firms these days. Being tiny is definitely a way to go. I’d question Elance though. I’m not an outsourcing guy. I believe in creating and owning your own intellectual property.
#9: Be Agile
You know that old saw about a plane flying from California to Hawaii being off course 99% of the time—but constantly correcting? The same is true of successful startups—except they may start out heading toward Alaska. Many dot-com bubble companies that died could have eventually been successful had they been able to adjust and change their plans instead of running as fast as they could until they burned out, based on their initial assumptions. Pyra was started to build a project-management app, not Blogger. Flickr’s company was building a game. Ebay was going to sell auction software. Initial assumptions are almost always wrong. That’s why the waterfall approach to building software is obsolete in favor agile techniques. The same philosophy should be applied to building a company.
Me: Well said. Startups should be able to turn on a dime and react to new things. We were slow to react to podcasting but we’re starting to do the right things in that area now.
#10: Be Balanced
What is a startup without bleary-eyed, junk-food-fueled, balls-to-the-wall days and sleepless, caffeine-fueled, relationship-stressing nights? Answer?: A lot more enjoyable place to work. Yes, high levels of commitment are crucial. And yes, crunch times come and sometimes require an inordinate, painful, apologies-to-the-SO amount of work. But it can’t be all the time. Nature requires balance for health—as do the bodies and minds who work for you and, without which, your company will be worthless. There is no better way to maintain balance and lower your stress that I’ve found than David Allen’s GTD process. Learn it. Live it. Make it a part of your company, and you’ll have a secret weapon.
Me: Given that I’m blogging this at 2:08 am after a hard core day I hear you Evan. Clearly I need to look at GTD and I will. Note to self. That said, you will have crunch times and you best know how to do it and survive it (I’ve got a blog piece on this coming out).
#11 (bonus!): Be Wary
Overgeneralized lists of business “rules” are not to be taken too literally. There are exceptions to everything.
Its time to become a P^3 person. I mean I know Perl, I know PHP. Why not *drum roll* Python?
- Download Python 2.4. Done.
- Ask knowledgeable Python Person “What Gui Framework?”. “WxWindows”. Download. Done.
- Open obligatory 2 year old Python book that my wonderful wife gave me as a present back in 2003. Read first chapter. Done.
- Type “Hello World” into Idle. Done.
- Plan first project. Make it something I need. Ah yes. Got it. Need to research if its viable in Python. Requires a tree control, launching external apps under Windows, getting a process ID and an edit control. Should be viable.
- Write first blog entry about Learning Python to force myself to follow through on it. Done.
Heh. Feels good to be geeky again. P^3 is the goal I say, P^3. Hm… Given that in another age I did prolog can that make me already P^3 or does code you last wrote in 1987 not count anymore ?
I’ve got a good friend, someone I know via IM, that wants to start a company. He’s always asking me for advice, which is good of course, but I thought it would be better to just start blogging it since I know he’s a reader. Anyway. Here’s today’s “Advice Bit”:
Now I’ve been through the startup mill a few times now and there’s one thing that’s starting to **finally** sink in: Metrics Matter to VCs. I’ve spent a few bits of odd time lately revamping the Feedster internal stats system so I can better gauge how to manage what features on Feedster need improvement and its been illuminating. One of the things that I’ve learned also is that, in a web environment, you can get metrics on ***anything***. A product manager asks you for a tool? That’s fine. But start capturing usage metrics. Then, when you’re having trouble debugging the tool, see if Feature foo is actually being used. If its not then just delete feature foo.
Now the true lessen here for new startups is that if you’re starting out and you have NO codebase then you can build metrics in from the ground floor. Every engineer knows that if you know a constraint on a problem early its a lot easier to solve the problem. Accept that you need metrics on every facet of the organization and build that in early.
Hm… I’m a self admitted IM freak. I use IM religiously and devoutly, normally logging 12+ hours daily on IM. So I tried the new Gtalk client recently and it had some problems that affect me, being an IM freak, that I’d love to see addressed. I doubt they will be since I’m utterly not the target demographic (non advanced end user) but giving them some ideas is my daily positive karma contribution:
- Standard Windows Interface. I’m not sure what is it about writing an IM client which makes you want to change the core OS interface but Gtalk, like Trillian, does this. Example — why isn’t there a maximize button? See my previous Trillian essay about this. Trillian is a brilliant product but I don’t want to learn how to use a very different set of GUI primitives.
- Logging. Yes Virginia I know that IM logs are loved by some and hated by others but, if you need them, not having them is killer. I just had one of the best IM sessions in a long time over Gtalk and at the end of it I needed to capture the urls, thoughts, etc and I knew that if I closed the window w/o saving it to a file I was hosed. Files are so 1980s anyway. Particularly when you need to copy the text, launch notepad, save it and so on. Which brings us to …
- Redefine Logging. IM logs are very, very useful but rarely implemented in a useful fashion. Logs w/o search are like peanut butter w/o chocolate — they go great together! There’s an interesting IM product on the Mac, Chatalog, I think the name is which forwards your chats to your .mac email account. Why not a default folder named “IM Conversations” with sub folders for “Bob”, “Bill”, etc and each im convo saved there. IM and email are really two halves of the same whole — online interaction either synchronous or asynchronous.
- Tabs. Conversations need to live in tabs. Tabs need to be available vertically or horizontally. Vertically gives a lot more concurrent convos which is key.
- Windows are Cognitive Burdens. I’ve never understood the separation between buddy list and conversation windows once im clients have a tabbed interface. Having more windows to manage is a distinct cognitive burden. I know it doesn’t seem like much but it is. That is, after all, why you see even Microsoft lessening the reliance on MDI. Why isnt the address book just a tree control in a split pane ?
- Pictures in the Address Book. I don’t know about you, but for at least certain people, I’d far rather have a picture of them than their name. I’d much rather send my wife an IM by clicking on her pretty face than “waytoolongrandomimhandle”.
- Multiple Identity. Like a lot of IM junkies I have *ahem* multiple accounts. There’s fuzzygroup my erstwhile personal IM handle. And then there’s feedster2003 for handling Feedster support and then there’s *censored* which I use solely for when I need someone to be able to contact me and I need to focus and can’t stay online in a general context. And there’s more. For me IM accounts are a bit like bunnies; they keep popping up. Now this is an edge case that’s far over the line but I suspect most people who do even a little bit of serious IM at least make the work versus home distinction — or they would if the client supported it. I personally live and die by Gaim because of three things:
- multiple identity
Not only was I dumb but I couldn’t spell or type!
Here are some tips when caffeine starts to either not work or, well, make you want to vomit rats:
- Bright Light. I’ve got a 300 watt halogen going in a 12 x 10 room and its having a noticable effect on my consciousness
- Loud Music. Hopefully my neighbors appreciate a Beastie Boys / Quiet Riot / Def Leopard / Dead Milkmen combination.
- Cold. I’ve got the window open and its chilly in here! It works though.
If you find that VIM’s auto indenting makes pasting in text, well, suck then enter this:
to reverse it.
And, yes, I rated it as life changing. This one tip will make a huge difference in my use of VIM. I used to sometimes exit VIM, edit the file with nano -w and then re-enter VIM. This completely eliminates that so its huge.
I’ve been getting the serious urge to upgrade my digital camera lately. Right now I’m using a 5 year old 3 megapixel Kodak which, while working wonderfully, makes me feel kinda lame truth to tell. And I had an absolute blast taking lots and lots of pictures over the Thanksgiving Holiday at Shelley’s parent’s house. Now I’ve always owned Kodak digital cameras and I, honestly, have no real desire to change. I’m thinking about the Kodak P880:
I’ve also been thinking about the Canon S2:
They’re both 5+ megapixel which is more than enough for anyone who’s not a pro (imho). They both seem to have good lenses. My preference for the Kodak is that it will likely have a substantially better user interface and be much more usable. My wife’s Canon A80 PowerShot is just plain painful. They’re both SD media sadly relegating the Compact Flash slot on my Thinkpad into instant uselessness. Sigh.
Update: A quick of DPReview makes me think that I should also look at the Kodak Z740:
So anyone have any thoughts about any of these? I know that the first is much higher end but since I keep my gear for 5+ years in general, the price difference doesn’t feel that much. And I have a little one who’s fast as the dickens so a fast acting camera is important (I missed several great images this past week).
Matt has his usual wonderful thoughts, this time on options in software. Having once sold a piece of software with roughly this many options (shown on left). Matt’s right — most people won’t use the options and you can always expose a plugin api for it if you have to.
Good job Matt! This was a gutsy post to write — what Geek doesn’t want features? Having big options dialogs makes you look like you have tons of features. And you do, just not usable ones. Its all about the 80 / 20 rule and clearly you understand that. And, while Joel would argue that the 20 is always different, I don’t buy that. While there always are differences, there are also commonalities that, if you take the time to understand your users, can be leveraged to everyone’s advantage.
I’m in the middle of, yafh*, working on improving the look and feel of Feedster’s site. I needed to know how to wrap images around text. And, while I could have looked up on some HTML reference site, I did what I have done every single time I needed to know this since I started blogging. I checked Scripting. Why? Well I always seem to remember “Dave Does this” and its always easy for me to find since I regularly read him. So thanks Dave!
*Yet Another Feedster Hackathon; this time I arrived back from Thanksgiving by 7:30 pm, was eating Pizza by 8, bought a big screen flat panel by 9, crashed and rose again at 1:00 am to coordinate with Mike and grind on the new UI.