Hello Mike, Thanks for your interest in the project. NetworkViz was created to be a graph visualization package and maybe support network analysis in the future. Creating a package from scratch, has the following pros and cons.
Pros: - Flexibility - Tight integration with existing Julia Graphs packages (eg. LightGraphs) - Use interactive features offered by Escher Cons: - Difficult to implement - Latency issues due to Escher - Limitations of ThreeJS.jl The future of NetworkViz.jl depends on further developments in ThreeJS.jl since it depends on ThreeJS for rendering the graphs. Considering visualization of a huge number of nodes, NetworkViz isn't that efficient currently since it is a prototype and it uses Escher. But, getting Blink integration working with ThreeJS can avoid the dependency on Escher. That way, latency issues can be reduced to some extent. Since the motive of the project in initial phases was to create an interactive WebGL solution to be used with LightGraphs, I think NetworkViz is pretty much useful. Generally, for visualizing large graphs with around a million nodes, I'm considering creating a Julia wrapper for vis.js <http://visjs.org/> or cytoscape.js <http://js.cytoscape.org/>. As you said, since wrapping web-base libraries in Julia has turned to be very nice, I would like to use the GSoC opportunity to do the same. I'm currently working on improving the performance of NetworkViz. - Abhijith On Thursday, March 17, 2016 at 9:51:44 PM UTC+5:30, Mike Innes wrote: > > This looks promising so far. With things like plotting, wrapping web-based > libraries has turned out to work very nicely; what's your take on wrapping > something like Cytoscape instead of starting from scratch, in terms of pros > and cons? > > On Thu, 17 Mar 2016 at 13:17 Abhijith Anilkumar <[email protected] > <javascript:>> wrote: > >> Hi, >> >> I'm happy to announce the first registered version of NetworkViz.jl >> <https://github.com/abhijithanilkumar/NetworkViz.jl>, a julia interface >> to visualize graphs using ThreeJS.jl >> <https://github.com/rohitvarkey/ThreeJS.jl> and Escher.jl >> <https://github.com/shashi/Escher.jl>. The package is tightly coupled >> with LightGraphs.jl <https://github.com/JuliaGraphs/LightGraphs.jl>. It >> uses Escher.jl to interactively modify the visualization. The following >> examples demonstrate what NetworkViz is capable of : >> >> >> - WheelGraph Visualization >> <https://www.youtube.com/watch?v=qd8LmY2XBHg> >> - Code-Mirror example <https://www.youtube.com/watch?v=Ac3cneCRTZo> >> >> >> I've planned to implement the following features in the future releases : >> >> - Implement different Graph Plotting algorithms >> - Better Text Support >> - Blink Integration >> - Generalize the package (to work with packages other than >> LightGraphs) >> >> >> I would like to take this up as a GSoC project and continue working on >> the package. I would therefore like to ask if there is someone who would >> like to be a mentor for this project? >> >> Please give your suggestions so that I can use it to improve the package >> and make it useful for the community. >> >> Regards, >> Abhijith >> >
