top | item 889265

Surprises

165 points| lackbeard | 16 years ago |collison.ie | reply

32 comments

order
[+] ewingpatriarch|16 years ago|reply
"Now, when coding, I try to think: 'how can I write this such that if people saw my code, they’d be amazed at how little there is and how little it does'."

golden. i've been trying to pound this concept into my head lately, and this is a very well-stated version of it.

[+] pg|16 years ago|reply
This is in fact a very powerful idea. It's been my rule for a couple decades now. I think I learned it partly from Rtm, who has always been a kind of code miser.

Curiously enough, there is one weird edge case where this approach can bite you: when you're launching something new that you're going to publish the source of, and which a lot of people are already predisposed to hate...

[+] seldo|16 years ago|reply
This has definitely given me a better way to phrase my current coding style than "on-demand" or even "lazy" coding. Basically, the way I work is: I build what's being asked for, and no more. I try and anticipate where future demands might come in, and build things such that there is "room" for those features, but I don't build them before somebody asks for them, even if they just take 5 minutes. 5 minutes of dev is also 10 minutes of debugging and 15 minutes of testing, and that adds up quickly.
[+] daeken|16 years ago|reply
"Perfection is achieved, not when there is nothing left to add, but when there is nothing left to take away."
[+] iisbum|16 years ago|reply
100% agreed, been over engineering things for too long
[+] jack7890|16 years ago|reply
The first point hit home big time. When you're doing a startup you feel like every day is precious and the tide of change is racing along impossibly fast. It's healthy to remember that the world doesn't reinvent itself every month. The problem you're working on now will probably still be relevant in 1-2 years.
[+] pg|16 years ago|reply
It's true that you rarely have to work fast because the world will leave you behind otherwise (though that has occasionally been the case with startups we've funded). The reason you have to work fast is that your initial idea is probably wrong, and you have to iterate till you get it right.
[+] unalone|16 years ago|reply
The site I had the idea for three years ago still hasn't been made. A friend and I are ambling along getting it launched, but there's no particular drive. We figure if it hasn't been solved yet it won't be this year either.
[+] sonofjanoh|16 years ago|reply
That also depends on the problem you're trying to solve. In a year or two there might be multiple solutions already and yours will be "yet another" one even if good but commercially not as successful. It's good to have these calming posts but deep inside there will always be anxiety and a fear of "missing the boat".

Timing your product/service well is one of the many things you have to get right to be successful.

And to get a head start by releasing early won't trigger the sleeping competition to overtake you in the early stages. You'll be the first and you can change along the way...it might be the wrong approach to solve the problem and you can have invaluable feedback along the way.

[+] 10ren|16 years ago|reply
True, not every month, but every so often. It's more like punctuated equilibrium. In between, you might have something like 10-15 years.
[+] Harj|16 years ago|reply
How slowly things change.

depends on the context. for huge macro level projects e.g. iPhone reshaping cell phone industry or FB having Google size revenue, ebay's network effects being broken, that all takes time.

but in the same time period (past 2.5 years) a lot of things have completely changed. FB platform has gone from launch to supporting companies that could IPO (and made a whole load of single developers v rich). social gaming has gone from scrabulous to now posing a credible threat to the entire console gaming industry. the wii destroyed the xbox and ps3 within its first year of launch and now sells more than both of them combined.

i'd argue that it's the faster moving trends that impact startups and startup opportunities more than the slower moving macro trends.

[+] mkull|16 years ago|reply
+1 for paying attention to international customers

For our ecommerce startup, we did nothing as far as internationalization goes other then offering to ship our product outside of the US and Canada. We were amazed at the response we got and it was one of the factors that helped us get cash flow positive very quickly

[+] jasonlbaptiste|16 years ago|reply
I have a lot of concepts, I'm still narrowing down and going through in terms of what I'm working on next. Time and getting going is a big source of anxiety. This post helped calm that down a bit. Worth the read.
[+] gord|16 years ago|reply
what about prototyping smaller pieces? - its a good way to clarify your thinking, try out the tech, and come up with new ideas.
[+] kniwor|16 years ago|reply
For a web app, what is the least painful way to achieve internationalization? What language/framework would you use if you were writing a fresh one from scratch?

I had tried to convert a php web-app to handle utf8 correctly through and through a few years ago and gave up after a lot of pain. Is life any better now? Any guides/resources? Is life in ruby or python frameworks significantly better in this respect?

[+] geedee77|16 years ago|reply
I've always done it with MS stack. ASP.NET, SQL Server etc all seem to handle unicode correctly (as long as you don't expect your users to still be on IE6!).
[+] gord|16 years ago|reply
With PHP / lamp stack utf8 is reasonably well supported.

hmm maybe 'supported' is misleading - its a melange of hacks, but you can get it done, certainly.

[+] 10ren|16 years ago|reply
Niche. For a startup or mISV, catering to a particular internationalization locale makes a lot of sense. But I think you'd need some expertise in that locale, e.g. be able to speak the language, for support, and know the customs and conventions.
[+] ibsulon|16 years ago|reply
I would worry about trying to specialize in internationalization. It can be a lucrative market, and things like iphone apps are relatively easy to do. Trying to aim for the international audience, however, can be deceptively hard.
[+] axod|16 years ago|reply
Surely the biggest surprise was auctomatic being acquired? and not seemingly for the product but for the team. :/
[+] eli_s|16 years ago|reply
"...a good product is so much more important than first mover advantage"

couldn't agree more.