Visualization is one of the most critical factors toward the goal of realizing cyberspace situational awareness (CSA). Toward this gigantic and very important goal, I’ve been evaluating JSON, and in particular NetJSON and netjsongraph.js. The initial results are illustrated in the featured video in this post.
Busy coding many hours a day, I’ll keep this post short and hopefully to the point.
In a nutshell, JSON is an excellent way to represent objects and JDL-style object bases for serial object transport between devices and also for object base storage. NetJSON is a good start; however, NetJSON falls short of the requirements needed to realize cyberspace situational awareness.
For example, in NetJSON, the required fixed attributes for the NetworkGraph specification is restricted to only network routing, routing protocols and other properties of dynamic and static routing. I found this too restrictive and provided a very narrow view of the need for various different graphs in network security situational awareness and cyberspace SA. This means that NetJSON is incomplete and may not suitable for CSA, overall.
netjsongraph.js is written in compliance with the NetJSON spec. For this reason it was necessary to hack the netjsongraph.js code to define graphs in meaningful ways for other than routing. On the other hand, the netjsongraph.js code is well written and easy to modify, so I ended up making the first order changes I needed to make in the .js files in less than 30 minutes.
netjsongraph.js is also lacking in any animation capabilities. This means we would need to write D3.js animation code or CSS animation hooks to begin the process of getting the 3D “space and time travel” look and feel I want for CSA and cyberspace travel.
I have not given up on netjsongraph.js yet, however. It’s a lot of fun to use netjsongraph.js and it does work moderately well for “baby steps” and easy prototyping toward the visualization of graph fusion and CSA. I am considering to buy a LEAP motion device soon and integrate LEAP into these early netjsongraph.js demos.
Finally, it does appear that these prototypes are only baby steps and short lived experiments; and eventually I will need to move to a gaming development platform such as Unity 3D and add VR / AR features to move closer to the goals of CSA and cyber travel that I have in mind.