[...] it also depends on where you are on Maslow’s hierarchy of needs. The lower on the pyramid your product is, the crappier it can look. If your product is core to helping people make money, pirate movies, or sell your useless couch, you don’t need a designer. But if you’re high on the pyramid, ugly/clunky UI makes it impossible to for people to see your vision.
Never heard this advice in reference to Maslow, but it's truth! I should print this up on cards and give it to a load of my tech and designer friends.
The entire "It's like [Craigslist/Amazon/eBay]... but with a beautiful design/UI!" fallacy falls to its knees with this paragraph.
The killer feature is obviously to be able to look at a region and see what's available, but the filtering options are also way easier to use than craigslist's rather pathetic interface.
- this is cool, but I could build something better (how many 37signal open source clones are there)
- this is cool, but way too expensive (Github complaints)
- this is cool, but let me use Google AdWords to get free upgrades (DropBox)
- this writing is great, but I'm blocking all the ads on the page (daringfireball)
Another problem is that when developers decide to do their own startup, the only domain they really understand is software development.
There are millions of people who have problems who can't code - building another bug tracker, productivity tool, email management app, GTD widget might be fun, but the economy of real "business" software that's out there is far larger and more lucrative.
Just the other day I was watching Stanford's talk by David Friedberg about how he built the Climate Corporation which, in my words, provides bad weather insurance for businesses and farmers. The guy doesn't own a farm or a business that's impacted by weather, he's not a user of his own product, but he still went ahead and understood the intricacies of that industry and was highly successful.
Being your own product's user is fantastic, I think it really helps, however you'll be leaving out a lot of good ideas on the table.
Maybe I'm unique but my needs also include stuff like food, shopping, talking to friends, driving, running, clothes, and more.
Another problem is that when developers decide to do their own startup, the only domain they really understand is software development.
I don't care about the "domain". I've got a problem and I'm fixing it. I happen to be a developer, so I can use technology to fix it.
As the OP said, you're overthinking it.
You probably don't spend 8-10 hours per day eating/preparing food, nor driving, nor running etc. You may engage in those things, but you're not an expert in those domains.
The OP point was that there's many lucrative domains out there that don't have optimal solutions to their problems yet, but most people who do software all day only really understand the ins and outs of the software dev industry as opposed to, say, the funeral business and their unique needs. Yes, you probably have been to funerals, and even said "wow, i've got a need/want for better funerals", but really digging deep in to an industry takes a lot of time and effort.
I don't believe this to be true - most, if not all, developers have hobbies and interests. For example, I'm into photography, so I would much rather build a photography software that I would enjoy using rather than something to solve a carpenter's problem (just an example) that I don't really care about.
For me at least I find that the benefits for this is two-fold: one, like the author said, so that I can be my own critic as I possess the domain knowledge, and secondly, I'll be much more passionate about working on something that I care deeply about.
http://www.forbes.com/sites/nathanfurr/2011/11/18/nailing-th...
Clay Collins also advocates for a similar approach that he calls the "interactive offer":
http://paulgraham.com/schlep.html
http://lesswrong.com/lw/21b/ugh_fields/
What are some ideas that you would do if you weren't concerned about "working smarter" or something having to be elegant from the get-go?
My most successful product has been a magazine (and let me define that success: very successful in terms of contacts it's given me, unsuccessful financially). The "build process" for that has been neither elegant nor free of mountains of schlepping.
I think people forget that there are a lot of other characteristics besides intelligence necessary for successful Entrepreneurship
Although I understand the sentiment, and have followed it with a number of my projects, an aweful lot of companies build and sell software that is not necesarily useful for their own purposes (banking, financial, retail etc).
A better and more general rule, and one that has been stated millions of times is simply its really REALLY important to known and understand your client*.
The client could be a 'normal' Internet user, or could be a multi-million dollar enterprise, but unless you understand them, you can forget trying to get money out of them! (and if they are a multi-million dollar enterprise, the people you need to sell to are very unlikely to be the people that actually use the system and you absolutely do need a mature product strategy and the necesary resources to even make a single sale).
That is to say, you yourself are the client (sort of), meaning there's not so much need to make any effort understand the client, because you already know what you know/how you feel about $THING(/etc.).
I really don't get this narrow self-identification of oneself as a programmer. How does being a programmer stop or exclude you from being other things? I'm a programmer, husband, musician, cook, dancer, friend, teacher, comedian, shopper, businessman, writer, house owner, movie-watcher, music fan, son who lives away from his parents, and much more.
Programming is a great skill, but not my identity.
There is a way out of this echo chamber though: don't teach others to program but let them teach you about their field.
A software industry who only caters for itself (the "scratch your own itch" fallacy) is irrelevant. How many Basecamps do you need?
That's not to say that there's no value to be extracted from popular subjects. Of course there is a lot of capitalization to be done on trends and fads, and mass markets are the biggest, but as a daily visitor to HN I think I can safely say that I could come here once every two weeks and gain almost the same marginal value, significantly less than what I'm gaining in daily work experience.
If you have innovated and not imitated you will have something that no one else has. It's really that simple. You could sit and fret about how easily Google could destroy you, you could worry about the fact that maybe Facebook offers a similar app/service/whathaveyou… None of that matters. Build your thing.
True originality always wins out in the end.
I have enlisted other companies within the industry to use our software before it is completed, so we can get it right before release.
My job is to help them reach required outcomes in the fastest and easiest way... this process has helped me to stop trying to imput what i think it best, which only clouds what customers really want to pay for.
A year into my first startup, my first major product epiphany was to never, never, ever try to build a product you couldn’t be a user for
You have to have the vision, understand everything around it. Relying only on (potential) outsiders doesn't cut it. You need prioritization, focus (" means saying NO"), simplify the UX... You need to be committed. Otherwise you just get "feature creep"
The main reason I want to be the user of the product I make: it's 100 times easier to get out of bed in the morning to work on the thing you want to use that day. If you are working on something for someone else, and the "I'm an entrepreneur" honeymoon wears off and you are struggling to get your first revenue, it's HARD to work on that thing you think other people need. Even if you've got some evidence that other people need it.
Doing customer development is so much harder in practice than theory :) When you get to be your own customer, you get to save tons and tons of times waiting for folks to return your emails and calls.
Speaking of examples, a lot of products have come from building things for oneself (BaseCamp for instance.) Building a product you use may not be much of a help if you're making any fundamental mistake. However, it makes the life of the developer a hell lot easier.
When you are designing a service you use, intuition comes to your aid. Some things just feel right and some things just wrong. It is not something I can really put into words. Intuition, like determination, may not be something you could measure or plot on bar graphs but boy, it does matter.
or, you know, you're overthinking the problem. ;)