Feature requests for 3.0?

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Feature requests for 3.0?

jyoshimi
Administrator
Hi everyone,

Major refactoring is winding down for version 3.  There are a quite a few new features in v. 3, including new components (vision, sound, and a full suite of charts using JFreeChart), scripting ability, improved saving and opening of simulations, a separate neural network jar for use outside of the Gui, and lots more.

But there is still a ton of work to do before the beta release, and so there is time to incorporate new features.

I'd be interested if anyone has any suggestions, in terms of features they'd like to see, lessons they'd like to be able to teach using the software, ideas regarding the GUI design and usability, etc.    Even if the suggestion does not make it into the next release, it could make it into a subsequent release, and the feedback would be useful to me.

Best, and happy new year,

- Jeff
Reply | Threaded
Open this post in threaded view
|

Re: Feature requests for 3.0?

Alexander_aka_Casper
Hi, this is super programm. I like it! I can say more: I love it! I'm interested in modelling human's vizual analyzer. Do u plan to insert GRAPH module to display neuron activity at timeline? I think it is not very hard? And other suggession: can you insert field so i can write there my own eqatations? For example Hoghin-Hagsley neuron eqatations. (I want to test my own models). Is it hard to do? (Sorry for my bad english)
Reply | Threaded
Open this post in threaded view
|

Re: Feature requests for 3.0?

Alexander_aka_Casper
In reply to this post by jyoshimi
It's me again! :) When do u plan to finish your 3.0 version?
Reply | Threaded
Open this post in threaded view
|

Re: Feature requests for 3.0?

jyoshimi
Administrator
In reply to this post by Alexander_aka_Casper
Hi Alexander (or Casper?),

Thanks for your enthusiasm!  

"Do u plan to insert GRAPH module to display neuron activity at timeline?"

Yes, we are using JFreeChart for v3, which has lots of great charting capabilities.  Here is a screenshot with the kind of time-series you're asking about.



"And other suggession: can you insert field so i can write there my own eqatations? For example Hoghin-Hagsley neuron eqatations. (I want to test my own models). Is it hard to do?"

Others have requested this in the past, and it's been on the todo list for a long time, but because you're asking for it I'll bump it up in priority!  One question is what the best user experience would be for this.  What would be the most intuitive way to implement this?  I'd be interested in what you and others think.

But realistically, I think the easiest would be to give users the ability to create custom activation functions using a small beanshell script (we have expanded beanshell scripting abilities for version 3).  This would mean writing a few lines of java code to implement your custom activation function (the same could be done for synapses and subnetworks  too).

But again, I am curious how you and others would intuitively want to see this implemented.

Best,

- Jeff
Reply | Threaded
Open this post in threaded view
|

Re: Feature requests for 3.0?

jyoshimi
Administrator
In reply to this post by Alexander_aka_Casper
Well, the hope is to have it done some time this year, but it's hard to say. At the very least I'm sure we can get an "alpha" release out.   Most of the major refactoring is done (it took a long, long time to get certain things right).   But now there is a ton of finish work to do.  This isn't my main work so I can only work on it in my spare time.   So, if anyone wants to help out!   =)

Also note that we have moved development over to google code,

http://code.google.com/p/simbrain/

 which I'm pretty excited about.  I'll announce that in a separate thread.

- Jeff

Reply | Threaded
Open this post in threaded view
|

Re: Feature requests for 3.0?

Alexander_aka_Casper
In reply to this post by jyoshimi
Yes, graph is great! No other words!

About eqatations... I read your article at
http://www.brains-minds-media.org/archive/1411
and, as i see from it, you are using your application in studing prosess in social studies. Am i write? I think it would  be hard to explain to students java programming. So, it should be something  simple. May be, something like Microsoft Equation.... Student select signs and operations from panel and fill its params.. But i think, it is hard to realize.

As for me (and, i think, many others) BeansShell and link to the langs syntax will be enough, but... One of project's goals is "Easy-to-use, visual GUI ... ets.". So, is it sutable?

May be this approach:
Step 1. Inserting BeansShell scripting in one version (may be 3.1) (small efforts, as i understand).
Step 2. In next (or next, next, ..., if the interest would be) insert any GUI, may be, like i proposed. This GUI will have button "Get script" wich will convert operations from panel into BeansShell script. (Support of scrips was realized in first step.) User could see this script and correct it, if need.
Reply | Threaded
Open this post in threaded view
|

Re: Feature requests for 3.0?

jyoshimi
Administrator
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
Reply | Threaded
Open this post in threaded view
|

Re: Feature requests for 3.0?

Alexander_aka_Casper
In reply to this post by jyoshimi
Hello!

Small disadvantages of DataWorld.
I worked with many rows, so:
1. I should add rows one by one, or form csv file. In v.3 it will be good to set, how many rows need to be added. For example: "1500 rows, please" :))
2. There is no scroll bar in dataWorld, when opening long CSV. So, i can see only first rows, and others only after closing network and dataWorld in CSV.
Reply | Threaded
Open this post in threaded view
|

Re: Feature requests for 3.0?

jyoshimi
Administrator
Hi Casper,

These are great suggestions.  We have the scroll bars in 3.0 but not the option to just specify a table size using fields, which I'll put on the todo list.  It also strikes me that it would be nice to make the table just grow as data are added, like in the case you had from the previous email.  I'm not sure what the best interface for doing that is, but I'll think about it and I'm open to suggestions.

Thanks,

- Jeff