Thursday, 8 September 2005

Work

I am currently designing an XML language to describe configuration structures and rules to allow our graphical package here at Pertronic to manage configurations in a spreadsheet and graphical format. A couple of the things is that the XML file needs to reference data not stored in the file (e.g. strings for display names) as well as define rules and forced actions, which means I need to have some sort of mini scripting language in it.

It is not the easiest thing to do in the world but it is something that needs to be done. I have been building the core of the new package all this year, using C#, and so far I haven't touched on a single UI aspect. I have been defining the way plugins connect, are loaded, and kept from corrupting the programme. As well as an internal logging system, encryption, built in user security, central multi-language interpreter among other core features.

All of these could have been bludged into the different components seperately and I would have made a working product by now. The fact is that I am building it for maximum speed, expandability and mergability.

However, doing it this way, properly planned out and constructed, I am able to reduce the likelyhood of bugs, and with the componentisation that I am also implementing, I am making it easier for bugs to be found it the future. The negative effect of course is time, but I think the benefits will be seen for years to come.

Well, to tell the truth, I have touched on the UI from time to time, with drawings on paper when I was bored. I even went away and made a few controls, which I may make open source when I have finished them (I did them in my own time, and they are therefore mine). They are not the central controls of the package though, just niceties.

No comments: