A few notes on what’s coming next (just to keep me on focus). I’m changing direction a bit, compared to the previous roadmap: I’d like to end the prototype faze and prepare for beta. This means I plan to drop the visual (graphics) and audio sensory interfaces for version 1. Instead, I will initially focus on linguistic skills solely and move the visual and audio stuff to later releases.
Storage system
First thing on the agenda is the storage system. I am currently saving everything in xml files (1 neuron = 1 xml file), grate for debugging, crap for real networks: reading/copying and moving 30.000 something files around is just to slow to work with (and that’s just a bare bones chatbot). I initially planned on using an sql db or something similar, but for practical reasons, this is not an option. Hence, it’s going to be binary, blocked flat files.
AICI demo
I would also like to extend the aici demo so that it shows how it can interact with the .net system by perhaps program it to copy files or something similar. Before I do anything to this demo though, the new storage system will have to work, cause debugging it is otherwise far to slow. When this is done, there will probably be a new release.
Modules
next on the agenda will probably be the modules. These are partial networks, that can be imported into or exported from an existing neural network. This way, you can share peaces of your work with others (like a set of frames or some actions, a thesaurus, …).
Designer improvements
From then on, I’m hoping to only do improvements/bug-fixes, mostly on the designer, so it can be moved to beta. These are the major areas that I will focus on first:
- There’s still a memory leak in the designer somewhere. This needs some serious attention. I thought I knew where it was, bit it isn’t there, so I have no idea at the moment what it could be. Mmm…
- The code editor needs a custom control. I’m currently using wpf’s default listboxes for the editor (yes, it’s all listboxes). This was grate to get started, but you’ve probably already experienced some of it’s problems: it gets slow, real fast, only to blow up with a layout recursion exception (bugger). For me, it’s also a pain to get exactly how I want it (you constantly have to fight with it’s default behavior). Solution: custom control.
- The same is true for the mind maps and the flow editor (also all listboxes), which need custom controls.
- I will have to move the search functionality into it’s own thread, cause any small search at the moment freezes the UI. This can’t be off course.
- Finally there are lots of small things still doing strange things at times, but I guess that’s for the beta stage.