Usability/Visualization Improvement Request

The engine.
Post Reply
marcel
Posts: 1
Joined: Sun Sep 28, 2008 9:01 am

Usability/Visualization Improvement Request

Post by marcel »

Hi,

I'm experimenting with Smile & Genie - and enjoyed it very much :) Its API and its visualization capabilities are very close to what we need, thus, making genie a good choice for our planned tool.

However, during my experiments I found some (minor) issues in Smile (Java JNI Layer) that affect the visualization in Genie we want to use for our tool. Maybe these issues can be solved in a later version Smile? Here is the list of our (minor) issues:

OutcomeDescription-Limitations (dots and other special characters):
We're planning to use genie to visualize the results of a code recommender engine. Thus, in our app '.', '#' and braces '({[<>]})' are important characters and replacing them with underscores reduces comprehensibility of our models presented to a user. Could these character restrictions be relaxed further?


Saving node visualization as Bar Chart
Serializing a network (using network.write()) results in plain networks. To my knowledge (TMK), there is only a reduced set of functionality in the JNI API that can be used to affect the visualization in Genie. It would be a nice feature if a visulization hint for Genie could be stored for each node - like show as Bar Chart (maybe there is already one using a user property which I don't know yet?)

Integrating the use of predefined Layouters in Smile
TMK, computing the layout information for each node of a network is a manual task. There exists a predefined set of Layouters in Genie which could be used to create a predefined layout easily. Maybe the integration of yet existing layout-engines could be an option (http://www.manageability.org/blog/stuff ... on-in-java) ? Likely, this feature should not be a part of the Smile API but adding some documentation on a Wiki page how to use external layout engines would be a nice feature.

Saving a flag Indicating to infer probabilities immediately after loading(instead of using Ctrl-F5)
Really, really a minor issue ;)

That's all I have in mind yet ;) Thanks.

Best wishes,
Marcel
shooltz[BayesFusion]
Site Admin
Posts: 1417
Joined: Mon Nov 26, 2007 5:51 pm

Re: Usability/Visualization Improvement Request

Post by shooltz[BayesFusion] »

marcel wrote:OutcomeDescription-Limitations (dots and other special characters):
We're planning to use genie to visualize the results of a code recommender engine. Thus, in our app '.', '#' and braces '({[<>]})' are important characters and replacing them with underscores reduces comprehensibility of our models presented to a user. Could these character restrictions be relaxed further?
The outcome _descriptions_ (strings returned/changed with calls to Network.get/setOutcomeDescription) can contain any characters. In GeNie, they're accessed through 'Documentation' page in node properties window - right click on the state id, then select 'State Description' option. Also, the network spreadsheet view gives access to these attributes. Both scenarios are possible with GeNIe's diagnostic extensions enabled ('Enable Diagnosis' option in the 'Network' menu is on).

The outcome identifiers (Network.get/setOutcomeId) are subject to constraints in core C++ SMILE library (letters, numbers and underscore only). The only possible way to store other characters would be by encoding them with some algorithm, for example: anything after underscore is treated as two hex digits representing the ASCII code of the required character. Of course, GeNIe would display encoded strings - this solution would only work if your project involves mostly your own SMILE-based code.

marcel wrote:Saving node visualization as Bar Chart
The actual data structures which handle the barchart view are defined only in GeNIe code (not in SMILE or jSMILE), so there's no way to expose this functionality outside GeNIe.
marcel wrote:Integrating the use of predefined Layouters in SmileTMK, computing the layout information for each node of a network is a manual task. There exists a predefined set of Layouters in Genie which could be used to create a predefined layout easily.
The spring embedder layouter is GeNIe-only. The parent ordering is implemented in SMILE (DSL_network::SimpleGraphLayout). It's not available through current jSMILE implementation, but it should be trivial to add the new method[s] to jSMILE - we provide the complete sources of the wrapper.


marcel wrote:Saving a flag Indicating to infer probabilities immediately after loading(instead of using Ctrl-F5)
We may consider this for future release.
Post Reply