Last week I wrote a bit about the high level ideas that form the foundation of the next generation of Ilwis. Though the piece was a bit (very) general I still felt it was necessary to write that down as it is the starting point of everything else. The core design of the framework is connectivity and not functionality. The assumption is that once you can connect to anything, functionality (done by ‘others’) is easy to add.
Last week I wrote about the ‘why’ of a next generation Ilwis. This week I will talk a bit more about the foundation of the framework. We have a number of explicit goals we want to reach with.
- Connectivity. The physical format or location of data is irrelevant. It is about the information contained in the data. So independence of format and location is a primary goal
- Interoperability. Integration of different providers of functionality in a transparent way. Not limited to the access protocol they use.
- Accessibility at programming level. Ilwis is and will be written in C++ which can be a technical challenging language. To ease the threshold for external programmers we will
– Use an external C++ interface that is very simple to use for those who want/need to program in C++
– Provide bindings to other languages. Python and Java are the primary candidate
– Ease the threshold for desktop – UI programming
- Flexibility. The framework must be deployable in multiple roles. From the traditional fat-desktop-client to lean mobile clients and client/server configurations. There will not be one Ilwis, but many (in different roles).
Well, the 3.8 is finally finished. Really? Yeah, think so. The perfect software doesn’t exist. There is always room for improvement, there are always new ideas. But at a certain moment you have to draw a line. The question then becomes “is it good enough?”. In January I decided that, apart from some known missing things, I would wrap things up in April. The beginning of April I looked things over and, apart from the WMS client, all things were done and seemed to be in working order (WMS client was done in time). Sure some issues are still there, some inconsistencies in the UI, but as far as I could see nothing serious. Perfect software takes forever so I decided to release.