29 November 2006

Random ideas

I'm still trying to decide what product to build. In the meantime I'm reading a lot of articles and forums about MicroISVs, which should help me get acquainted with the usual problems that they face and maybe will help me avoid some traps along the way.

Some time ago I've read an article (sorry, I can't seem to remember where) that basically stated that there are actually two types of products that will be successful in the market and can't be easily copied by the competition. One type of product is based on lots of small and simple components that work well together; the trick to the "not easily copied" property is that there is quite a lot of code to write to replicate the functionality and, since all the components interact with one another, getting them to work well together and squashing all the bugs takes a long time. The other type of product, which is more interesting to me, gets its "not easily copied" property from the fact that it needs really advanced and hard algorithms to work well (think neural networks, genetic algorithms, compilers and the like), which means that the barrier to entry for the competition is actually finding the developers that understand all those concepts and algorithms. Apparently, these developers are rare, but I'm one of them.

Oh, I just found that article I was talking about and my summary above looks like I could still remember the essential points of the article about six months after I read it. Not bad. Since I am mostly interested in neural networks and genetic (evolutionary) algorithms, my idea is to use this as the basis of my barrier to entry of the "small body of clever code" type.

One area where neural networks and evolutionary algorithms can be applied is, of course, games. I think that it would be awesome if a computer controlled enemy in a game would actually learn and adapt to the style and strategy of the person playing the game. If this would be implemented properly the cheating "AI" in current games would fall out of style. On the other hand, building a game means much much more than a nice AI and I have no experience or talent for designing nice graphics and sounds. A smart-but-ugly game will always lose when compared with a not-so-smart-but-good-looking game.

Another area where neural networks and evolutionary algorithms can be used is in stock trading applications, particularly stock price prediction. They can either be used directly to estimate the future stock price (see for example this article) or to find patterns in the stock (akin to what this article describes, see the comment for the nice details).

Actually, you can expect to find these algorithms everywhere.

28 November 2006

First post ;-)

Following Ian Landsman's advice, I decided to start this blog. I'll be posting about how I'll try to start a MicroISV and I hope it will be an interesting read.

At the moment I don't have any idea about what product to build. Maybe I should start some brainstorming like Benji Smith, although I don't think I can manage to get 30 ideas in 30 days (and neither did him).

The "short term" goal of the MicroISV should be to replace my job, so it should bring enough money to be able to sustain me and my family. The long term goal is to be determined. ;-)