TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

The Importance of Simplicity

36 pointsby abiabout 16 years ago

3 comments

abiabout 16 years ago
I'm the author of the blogpost and I feel I didn't write enough about how I differentiate simple and complex. Here's a good but very software-specific example that might illustrate that. Imagine you told a programmer (or team of) to create a Digg clone. How many of them would build the entire system with all the features (submissions, comments, friends, profiles, media types, categories, etc.)? I'll wager that most people will attempt to do so. As a result, they'll probably fail. That entire Digg "system" is what I would call complex. On the other hand, when given such an assignment, you should try to write something simpler which would at once also be useful. In this case, write something like Hacker News (but take out comment threading, karma and a few other things)! Once you're done building that, you can slowly add profiles, categories or whatever would benefit the community the most. That's the meaning of "start simple, use a lot and evolve"<p>Another thing, it's important to remember that what was complex yesterday is simple today as we move to a higher-level of abstraction.
评论 #605530 未加载
swombatabout 16 years ago
Very good article, and very true for start-ups.<p>I am always skeptical when I hear someone describe their start-up and it sounds really complicated (especially if they haven't launched yet).<p>I suppose it is possible to deliver complex systems that work for users, but it's extremely hard. And it's already very hard to deliver even simple systems that work for users, so if you like to change your 1% odds into 0.01% odds, either you have money/time to burn, or you're making a bad gamble.
评论 #605524 未加载
mixmaxabout 16 years ago
<i>A complex system that works is invariably found to have evolved from a simple system that worked. The inverse proposition also appears to be true: A complex system designed from scratch never works and cannot be made to work. You have to start over, beginning with a working simple system.</i> this isn't always true.<p>Basically you can do two kinds of products: evolutionary and revolutionary. Evolutionary products can start as something simple and evolve into something more complex. They are the ones we usually talk about because they are easy to do, and make up the bulk of all digital products.<p>Revolutionary products are the ones that can't evolve from something simpler but have to be complex from the start to serve a meaningful purpose. The Apollo space program is a good example: It probably wouldn't have worked very well if they "launched early and launched often" and fixed problems as they went. It would also require too many suicidal astronauts ;-) It had to be perfect the first time. It's basically the same issue as irreducible complexity in evolution: All the intermediate steps have to be useful, or you won't ever get to the finished product. Incidentally this is also why you don't see moving parts such as wheels in biological organisms: The steps leading up to it are no good. Aeroplane manufacturing is the same thing: Either it works or it doesn't.<p>The areticles advice pertains only to evolutionary products and startups.
评论 #605268 未加载
评论 #605454 未加载
评论 #605372 未加载
评论 #605660 未加载