« Return to Thread: Feature requests for 3.0?

Re: Feature requests for 3.0?

by jyoshimi :: Rate this Message:

Reply to Author | View in Thread

Hello again,

I've been thinking about your interesting post all day.   I like your idea of a two-stage approach.  But I want to try to make the first stage so usable that a second stage won't be necessary.  If I fail, then of course the "equation editor model" you describe can always be added.

Before I say more, a digression.  I think of "ease-of-use" as something that should extend to the innards of a piece of software.  It's so nice to open an xml file and be able to understand its contents, or follow a "literate" program.    One thing I've really been trying to achieve with the next version of Simbrain (and with lots of help, and on the basis of suggestions by others) is a clean API, so that users can use parts of Simbrain as a library in their own programs.  (As of v3 Simbrain will be released in several forms, including a small neural network jar). So, the hope is that one person could use Simbrain as a GUI, another could use it as a library in their own program , another person could add their own neuron and synapse types, another could build little applet demos using the libraries, etc.  Think of Mac OS X.  It's this nice fluffy GUI, but there is also a terminal you can open which power users can take advantage of.

Ok, back to the point.  The way I'm thinking of it is that you'd open the "custom neuron" dialog, and there would be a little little editor pane (with a help button on top which would take you to a document explaining how to do simple things).  Users would not even know it was beanshell.   The text you would enter might look something like this.  

        a = 10;
        b = 20;
        double val = getInputValue() + getActivation() + a +  Math.sin(b);
        setBuffer(clip(val)); // clip ensures that the value is between upper and lower bounds

I think a "power user" (e.g. someone who can understand the Hodgkin Huxley equations) could master this pretty easily, after seeing a few examples and experimenting, and use it to prototype their own custom activation functions. Something similar could be done for weights and subnetworks.

At any rate, with this structure in place, it might not be too hard to move to the more graphical "equation editor" model, using something like the method you describe in your "Step 2."

Thanks for the thought provoking suggestions,

- Jeff

 « Return to Thread: Feature requests for 3.0?