Hi,
well those thoughts also cross my mind very frequently.
Let me explain :
- we currently have plugins that are coded in C++ and do whatever they do. Their behavour is hardcoded and barely settable by any settings. And also, it's quite hard to change their behavour, cause you have to be experienced C++ and LMCE programmer to do anything with it...
- on the other hand majority of us need somekind of custom determined behaviour and a lot of users probably feel quite incompetent to do anything useful (including my self from time to time).
EXAMPLE: the most obvious example of above thoughts is that your light comes up, when you start watching media and sun is shining happily through your living room windows. I know, you can try to change that behavour, but this task is certainly beyond ordinary user.... And in those eyes LMCE is pretty useless if disregards day or night.... :-)
Let me stress some similar program with some similar community. Misterhouse is not similar to LMCE, but is useful backend where any average user with some newbie knowledge of Perl can contribute useful things, modules and change behavour of the system according to his needs.... What is the secret ? Simple, they have pretty well prepared easy code access to all needed info, objects, their data, events in system, etc... - so user writes just simple if-then-else behaviours without digging into internals...
And sadly this is the state where LMCE is nowhere near that... What we would need to have is basically remove that behaviours from hardcoded plugins (except maybe those that are really needed) and then try to prepare everything in GSD and Ruby way (so user could write minimal code with easy access to objects, data, events , etc...).
GSD is the best example of this, now we need something like GSD for event handling and simple behaviour coding...
If still disagree, try to compare how many GSD devices were contributed and how many changes were done in plugins... And this is the key, we could have a lot of users contributing and working on similar features as are currently present or missing from plugins, if we make that step...
Of course, I'm willing to help as much as I can, and there is one thread where one user is trying to do so. But a push from Ruby and GSD gurus would be really helpful... I guess this will be easier that we think (Ddamron did nice example skeleton for device driver in Ruby, we need similar for event/state/action programming).
DDamron, if you're around please tell us if you can help with this and have some time or at least help us with guidance how to start building that skeleton in proper way - I guess no one is at your knowledge level in this area ...
I feel that this leap forward will give all of us a push in right direction...
Thanks in advance,
regard,
Bulek.