Tuesday, January 29, 2008

Objectives for Nomignolov project

While browsing among books in a second-hand market, I stumbled upon a quite unusual book: Atlas of Management Thinking by Edward De Bono. This was a very uncommon and fortunate event for many reasons (e.g. second-hand markets in Turin have mostly Italian books, etc) but this is not relevant here.

De Bono claims that this was (1981) the first book written for the right side of the brain, aka the part that deals with images. In fact, the book shows visually a lot (200) of concepts regarding basic thinking, risks, failures, opportunities, objectives, etc.

Having read the book, I thought that maybe I could write some objectives for Nomignolov in the same way. Now I try to comment the results. I won't explain here how I intend to reach these objectives. Anyway, these are mid-term objectives (maybe 1 or 2 years?).

Nomignolov

This is the image of the program, from where the mascot derived :-) The program is composed by three parts (bottom to top): logic, gui and scripts.

The supporting and shaded square is the logic of the program. It is the most important part of Nomignolov. The logic means how the program behaves, how it takes and deals with games, what it thinks a board is, the algorithm minimax, etc. It's the core of the program.

The white rectangle is the GUI, that is what the user sees when he plays. It's the most exposed thing of the program, but could change (i.e. the logic could support another GUI). The image shows another very important concept: the GUI is completely independent from the logic. This will be evident when I'll release the source code of the GUI, that could be reused for another program.

The multitude of squares (here: two), detached from the program, are the scripts describing games, puzzles, etc. All that Nomignolov will do depends on these scripts.

Objective 1: other people writing scripts.


Given the description of Nomignolov, objectives are indeed easy to understand. Given that the dashed circle represents an undefined group of people, the first object is to see scripts written by others.

Objective 2: gain popularity.


The arrow points to a more defined group of people that knows about Nomignolov. The circle is a solid line, meaning that the people actually use the program, instead of just being aware of its existence. The arrow points to them from the GUI of the program, because it is the "face" the users see.

Objective 3: spread the program.


In this picture, more and more people are aware of the program. The circle remains dashed, but this objective is not in contrast with the previous one. It stresses another aspect of the people that are influenced by the program in a general way. I think that enlarging a solid circle is a lot more difficult.

Objective 4: others developing part of the program.

As already said, I plan to release the source code of the GUI. This objective means that part of the visible program is modified by other people. Note that here, as in objective 1, the arrow points from the people to the program.

Objective 5: work on AI and experimenting in a general way.

After all I've said, the meaning of this image is straightforward. Note that, for the time being, I don't plan to release the source of the program. So in the picture there are no circles.

Objective 6: build a community of Nomignolov users.

Here the circle is a double solid line. This means that the people are in contact with one another. In objective 2, the group has a solid interest in Nomignolov, but here the interest is shared among members of the group. What does it mean in practice is far from sure. The community could emerge spontaneously, but the drawing suggests that Nomignolov has an active part on it. The community could be a newsgroup, a forum, a site dedicated, etc.

0 Comments:

Post a Comment

<< Home