This is my first blog in a long time. It will be the first in a potentially long series and the subject will be quite different from that of my series of blogs in 2011/2012. In 2011/2012 I mostly wrote about functionality in ILWIS, i.e. the development of the new map window and all the visualization stuff that spawned from it. I probably will still write about that (work never stops), but my main focus will now shift to programming – programming for ILWIS NG (or ILWIS-Objects as people suggested to me).
In the first blog series, I tried to explain what changed in the 3.8 version and why it was so fantastic (!?). I consider that done now. Sure, new things will still be included in 3.8 and old things will be improved/resurrected or whatever, however, it is unlikely that you will see such sweeping changes as the 3.8 introduced. Since 3.8.3 is now more or less finished and a big reference document about the map window has been written, it is time to shift direction.
Last year I mentioned that a decision had been made to redesign ILWIS from ground up in order to align it more closely with current developments in the GIS/RS and IT world in general and of course the goals of 52°North. At the end of last year, after a number of sessions about the design goals, principles, documentation and other related subjects, I started with a base implementation of the low level stuff for ILWIS-Objects.
My new blog series will focus on why the programmers do certain things, which choices are made and how some mechanisms work. Why do I spend time on it? Well, there two reasons.
First of all, it is immensely useful to be forced to write your ideas on paper (ok, screen). It forces you to clarify your ideas and to make a defensible case for it. As long as the ideas remain in the informal space that is your mind, it is easy skip logic and muddle along. It is always surprising to me how people (including myself) are able to support remarkably incomplete notions and still have the feeling that they “have thought things through”. Writing things down shows the gaps in the logic, the things you missed. No, it is no panacea. Stupid things remain stupid even if you write them down, but at least others may point that out to you.
Secondly, I hope to interest others in the process and maybe even motivate them to participate. Redesigning and rewriting ILWIS is a huge task that will take some time. Will it be successful? I don’t know. I am optimistic about it, but I don’t fool myself about the magnitude of the task. So it will be useful if others feel motivated to help in this process. Help could be useful at many levels – at design level, at requirements level, at documentation level and certainly at coding level!
We will see how this pans out. For us at 52°North and the ITC there is a business case for doing this work, so it is not a short term hype that will ebb away after a few months. It will continue, but the pace is dictated by the availability of resources.
The next blog, next Monday, will be about the business case for ILWIS-Objects.
In the meantime, on a more practical and short term level
- Ilwis 3.8.3 will be done this week and put up on the download site. I hope it is there this week but it might also be next week.
- It will be accompanied (as a separate download) by a document (~60 pages) that describes the new 3.8, map window. Maybe, at a later date, I will include it in the help. It is rather large (many illustrations) and I found it a bit doubtful to significantly increase the size of the ILWIS download for a piece of documentation. But I could be mistaken in this.