3 ms·
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 t
by abi 17y 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"
Another thing, it's important to remember that what was complex yesterday is simple today as we move to a higher-level of abstraction.
- jzachary 17y agoIn the academic/applied research setting, I find sensor networks are the canonical example of this phenomenon. People jump off into "secure energy-efficient self-organizing" sensor network architectures, that they lose the ability to even articulate the problem they are ultimately trying to solve.