Yes Don I have been considering making functions for that but for now they won't save me much lines - maybe if the program grows in source size.
Anyway, I am not too familiar with all of the features other assistants provides, but bear in mind this is a sort of proof-of-concept with no commercial aim. But anyway some of it's top features would be:
-The ability to learn to reply to any sentence (it should in time be able to learn from both reading text files, internet and sometimes ask the user for help if previous fail);
-To keep the program small and fast but still be able to do anything you would need help with (turn on the TV, lights etc.) I am planing to implementing a database containing addresses from where it can call various mini-programs (batch files, exe's etc). This should be implemented after a few processing tweaks and the update to jDB IV (which would enable it to understand if a sentence is a command, question, statement etc.). It should also be able to write it's own programs (most likely by filling code forms with parameters provided through normal conversation, so it can learn to do new things for you.
-I believe personalities can only be simulated, and very poorly too. You can't just change a few parameters and get a new personality. However there will be of course a distinction between different copies of the program - the databases should be very different. Also it could easily remember user preferences such as how often do you want a status update, weather, local news etc. But I will not attempt to take it further than necessary.
To summarize this, it is intended to be a highly adaptable and dynamic program. It can improve it's conversation skills, update it's databases, learn new 'skills' and most importantly it adapts to the user in a real, non-commercial, 'natural' way. Not to mention (once it reaches jDB III / IV ) it should be able to reply to nearly all of the user input correctly.
I am not sure what my goal is, other then proving a small concept and gaining some experience with programming AI. The updates I have planed are not complicated - the concept is simple and the only thing that can slow me down is technical issues.
It is all on paper - ideas, methods, problems - just need to get it compiled. Also anyone is welcome to budge in, if they have the nerves. I am not sure how multiple people working on the same file would work, but contributing with some coding tips or functions that ease these processes is much appreciated.
P.S. Thanks for clearing the terms up as well, Don. Also Art, it should be easy to implement timers, alarms etc. with mini applets as mentioned previously.
Thank you all for the interest in the project