Live data from Hacker News

Balsamiq hits $100,000 in revenue

balsamiq.com

51–60 of 73 posts

Re: Balsamiq hits $100,000 in revenue

#51
post #28
post #18

Single founder + non-startup hub + non-web2.0-buzzworthy product == everything you're told not to do. I've said this before, but the biggest takeaway from the balsamiq story seems to be: put your head down and focus on making a great product, everything else will follow.

I think the important criteria it takes to build a successful startup: 1. Make something people 2. Lots of hard work sometimes gets lost within the criteria investors (e.g. YC) look for before funding a startup.

I'm not sure what you're trying to say. You seem to be saying that investors won't fund companies that both make something people (want), and who work hard, and implying that YC also has that problem.

But, YC is almost always investing in companies that have yet to make anything. Their entire business plan is about trying to predict which founders will have these two qualities.

Re: Balsamiq hits $100,000 in revenue

#52
post #42
post #32

Earlier quoted context omitted.

One note about Id and their open source: they "only" release the source for their old engines, the most recent one is closed and licensed. Giving something away -after- it has earned you a billion is less risky than doing it -before- you've earned the money.

Right on. But it's as close as anyone has come to "shipping the source code along with the CD". So even though Id did it after it generated a lot of revenue, they still did it, which is extremely rare. Also, one reason that Id's most recent engine (Id Tech 5) is closed and licensed is because of its brand-new technology: MegaTexture. As of now, no other engine has implemented that feature (or the engine isn't product…

I agree, it's incredibly generous of them and very helpful for the next generation of game developers to be able to read and use "real" code like this.

And I think that more or less all their engines have been revolutionary when they were released, not just this one!

Re: Balsamiq hits $100,000 in revenue

#53
post #48
post #20

Earlier quoted context omitted.

Personally, I feel that we worry way too much about keeping our source code top-secret. One reason people think source code is valuable is because "the resulting product is valuable, so therefore the source code is even more valuable, right?" ... well, no. The product is valuable because of the thousands of small decisions you made as you were developing the product. The source code is just the manifestation of those…

definitely source specific. innovative algorithms stay private for good reasons

Really? Which reasons?

Re: Balsamiq hits $100,000 in revenue

#54
post #50
post #47

Earlier quoted context omitted.

As the creator of a reasonably complex open-sourced research simulation code, I can point out a drawback with open-sourcing: The more successful you are, the more emails you will get with questions etc and responding to them can easily take quite a lot of time away from your real work. Of course, in that this is an increased incentive to document your code extensively, it might be a good thing, too... ;-)

Cool! Which simulation did you create? I couldn't agree more that it's very beneficial to thoroughly document your code. If you're curious, here's a snippet I wrote yesterday to tokenize a .X geometry file: http://pastebin.com/f74646d17 .... that type of aggressive source-code documentation is how I write all my code. My process is basically to write each function's entire algorithm in English, then to write the actu…

I agree that it's very easy to "misspeak" in C++ or C. It's even easier to mislead or obfuscate what's going on (i.e. write correct code that others can't easily understand). So this sort of documentation is great and I applaud you for adopting it.

That said, the fact that such extensive documentation is necessary (or at the very least nice) suggests to me that you'd be better off using a cleaner, more powerful http://www.paulgraham.com/power.html> language that: (1) documents itself to some degree through more elegant syntax (2) takes care of low-level tasks that clutter and confuse otherwise clean code (resource allocation, memory management, etc.) and (3) requires less code to do the same thing, which means fewer lines to document.

There are a bunch of great languages out there that are far more powerful (in terms of abstraction) than C++ or C. Haskell, Lisp, ML, F#, to name just a few. You might consider checking some of these out if you haven't already.

Re: Balsamiq hits $100,000 in revenue

#55
post #20
post #14

Earlier quoted context omitted.

I had this discussion with a (huge) US corporation, and they weren't interested in escrow, saying it was too complex. They wanted source code; and I had the impression that with appropriate license restrictions (i.e. they couldn't sell/distribute it) it wouldn't be a problem (actually, having source would help them give me bug reports). A secondary reason (or perhaps the true one?) was a sense of reassurance that the…

Personally, I feel that we worry way too much about keeping our source code top-secret. One reason people think source code is valuable is because "the resulting product is valuable, so therefore the source code is even more valuable, right?" ... well, no. The product is valuable because of the thousands of small decisions you made as you were developing the product. The source code is just the manifestation of those…

Be very careful about open sourcing a game, especially if it is multi-player.

Because people cheat. A lot.

Re: Balsamiq hits $100,000 in revenue

#56
I've been following the updates here on Hacker News from a distance and finally dropped by to test out the product.

Holy cow. It's awesome. As soon as some cash frees up in the budget I will splurge for the desktop version.

Most surprising, delightful feature: The guides that appear when dragging stuff around to line it up.

Cleverest feature: The intuitive way that the link bars work. I didn't need to be told that the commas break up the links, just showed in the example. Slick.

Well done, good sir.

Re: Balsamiq hits $100,000 in revenue

#57
post #37
post #18

Single founder + non-startup hub + non-web2.0-buzzworthy product == everything you're told not to do. I've said this before, but the biggest takeaway from the balsamiq story seems to be: put your head down and focus on making a great product, everything else will follow.

put your head down and focus on making a great product, everything else will follow And market the hell out of it. The Balsamiq approach to marketing (market the success story) is quite similar to that of 37Signals, actually, and both essential and very effective.

Absolutely.

The "build a great product and they will come" myth is bullshit 99% of the time (unless you have a built in marketing engine-- SEO or viral). Balsamiq won the same reason that 37s did (and JoelonSoftware for that matter)... They had a great story, told it well, and the story happened to resonate/be interesting to their exact target market (web geeks / entrepreneurs).

Bravo!

But try to build great software for supply chain management, or managing a beauty parlor and let me know how "everything else will follow" there. There's a reason that SalesForce.com (which, arguably, has/had a great product) has spent 60-70% of their topline on sales and marketing.

Re: Balsamiq hits $100,000 in revenue

#58
post #39
post #20

Earlier quoted context omitted.

Personally, I feel that we worry way too much about keeping our source code top-secret. One reason people think source code is valuable is because "the resulting product is valuable, so therefore the source code is even more valuable, right?" ... well, no. The product is valuable because of the thousands of small decisions you made as you were developing the product. The source code is just the manifestation of those…

Some other options: You could open source the engine, but not code that is specific to the game (then people couldn't run the game). For a legal distinction, you can also make source available , without making it open source. e.g. "look, modify but don't redistribute." See the creative commons licenses. Or make it available only to buyers of the software. A benefit to open sourcing the engine: it would make it possib…

Thank you for the insightful reply.

Re: Balsamiq hits $100,000 in revenue

#59
post #16

It's been excellent to follow Balsamiq's progress and I'm stunned by the progress he's made. Congrats and here's hoping for the best for you. Just remember, don't overdo it. $100,000 isn't much in the grand scheme of things, so keep pinching those pennies!

yeah I think he is starting to miss the point, since he is starting to think of himself as a small business and not a start up. $100K on the startup scale is nothing

since he is starting to think of himself as a small business and not a start up.

Startups are a form of small business; viz. young ones.

Re: Balsamiq hits $100,000 in revenue

#60
post #55
post #20

Earlier quoted context omitted.

Personally, I feel that we worry way too much about keeping our source code top-secret. One reason people think source code is valuable is because "the resulting product is valuable, so therefore the source code is even more valuable, right?" ... well, no. The product is valuable because of the thousands of small decisions you made as you were developing the product. The source code is just the manifestation of those…

Be very careful about open sourcing a game, especially if it is multi-player. Because people cheat. A lot.

Yeah, very true. I have an idea about how to detect cheaters, if you want to hear about it. Basically, I think the way to detect whether someone is cheating in an online game is by applying spam filtering techniques.

First consider that every server-side game state (like a player's position in the game world) can be considered a statistic. So for example, a history of a player's speed at points in time would have certain maximums. (i.e. "players don't usually move at 500MPH. And if they do, they only do so for very short periods of time.")

Therefore, by definition, a cheater is a player whose statistics are significantly different from the norm. A speedhacker could be detected because his max speed would become way above the "typical" maximum player speed over a significant amount of time (like, he begins to run at 500MPH for 2 solid minutes). So we can then boil the problem of detecting cheaters down to evaluating probabilities (which is the same way spam email is identified).

This type of system would also handle the case where there's a game bug that accidentally causes players to run fast -- the system won't accidentally boot everyone, because everyone is now running fast, so therefore that fast movement speed becomes "normal". Now let me point out that the very same thing could be accomplished much more simply by just writing code to boot players when their speed exceeds a certain hard-coded maximum global speed, then being very careful to not introduce a superacceleration bug. However, that's special-case code, which should typically be avoided. It also doesn't take into consideration that a player's speed could legally be significantly accelerated for a short period of time by physics, for example, or for a number of other reasons. The idea is to analyze samples of a number of different game statistics, then boot any player whose maximum statistic value significantly exceeds the normal maximum value over a significant amount of time.

This type of system would prevent a situation where a cheater discovers how to manipulate the timing variables in packets, then tricks the server into thinking he's moving faster than he actually should be. (I believe Counter-Strike: Source is still affected by that particular speedhack problem.) We would also be able to detect and ban players using aimbots, because it is very statistically significant for a player to murder 20 opponents in 10 seconds, for example.

So if people modify the client to cheat, the server will identify and ban them. Godda love probabilities and statistics.

Post reply on HN