Hi, I have some comments regarding PCEnv and its usability. I will apologise in advance as this email is rather long, and for many of you completely irrelevant.
Firstly, regarding the model tree. If a user wishes to integrate a model for a second time (for example because they want to change the point density, or the integrator used, or the integration times etc), they must clone the model first. While I understand that this is to keep a record of the past integrations so the user may return to previous ones and thus is useful, in my opinion, something like that should be a user choice (i.e the user should be prompted about whether they want to redo an integration, or create a new one). I find that if I have accidentally set the final time incorrectly (or chosen the wrong integrator), and just want to adjust that and re-integrate, I have to clone it first, and then I end up with so many copies of the model in the tree that I have to keep cleaning up the tree in order to keep track of what I have been doing. Which brings me to my second point regarding this: Is there some way you could keep the integration information (integrator, times, point density etc) with each cloned version of the model in the tree? It seems to slightly defeat the purpose of retaining integrated versions of the model when there is no way to differentiate between the clone except by the users memory (which, if anything like mine, is completely unreliable). [If you require an example of why a user would want this, I recently was trying to test out the different speeds of the different integrators on the same model, and got myself completely muddled as to which clone corresponded to which integrator as that information wasn't stored (and I didn't test them in a logical order)]. I also have some issues with the graphical interface. That is, when I open PCEnv, the graph window is all "out-of-shape" and I find resizing it mildly irritating (I resize one and then when I try and resize the second it changes the first etc). It appears that there are 3 graphical windows. I don't think I would ever (personally) use 3 in that format, especially since you can graph multiple things on one graph. However, I agree that it is useful for the user to have the option. I wonder whether it would be possible to have the default as one (or perhaps two) graphs, which are evenly spaced when PCEnv starts up (so no immediate resizing is necessary) and then if the user would like another one, could they perhaps open it in a tab (much like you do in firefox)? I'm not sure that I make sense here. Just an idea really. Some more little things about the graphics. I still find it difficult to find my variables in the pull-down list. I know I have mentioned this previously, but in a large electrophysiology model I am not interested in many of the available variables and find it time-consuming to navigate through them to those variables which I am interested. Especially since the "constants" are included in these lists. I appreciate that CellML/PCEnv doesn't differentiate between constants and variables, and thus they are included in the list, however when I try and graph a constant (for example, Faraday's constant) against time, nothing comes up on the graph. Surely there should either be a graph of a straight line, or F shouldn't be in the pull-down list? Also, when you zoom in on a graph, is there some way to scroll across (like you can in Matlab)? And, is there some way of setting the point density of the graph to be variable so that there is a higher density when the RHS of an ode is changing significantly, and a lower density when it isn't changing much. I have no idea how difficult that would be to implement, however if I run my electrophysiology model over many beats I have long periods of nothing, and small periods (the AP) where a lot is changing. In order to get the resolution I need in these small periods, I need to set a really high density of points, however this slows down the integration process significantly and seems unnecessary for those periods where nothing is changing. Regarding features of PCEnv 0.2, similar to what Andre has already mentioned, some means of viewing the structure of the model (in terms of hierarchy, encapsulation etc) would be very useful. This would facilitate the mapping of variables and determining the private and public interfaces of variables etc. As someone who has very limited experience with CellML, these are the aspects which I find hardest to check if they are correct etc. I don't currently have any suggestions as to what I would find easiest/most pleasing to work with, but as I tend to think quite visually, I would probably like some sort of graphical representation of how the components relate so that I can work out whether I have my maps and the encapsulation correct. That, of course, is only my personal preference. I think that's enough comments for now. For those who have actually read to this point, I hope this is useful feedback and not overly-critical/asking-too-much, as that isn't my intention. Regards, Jonna Terkildsen _______________________________________________ cellml-discussion mailing list [email protected] http://www.cellml.org/mailman/listinfo/cellml-discussion
