Difference between pages "Symbian" and "Tools:Visualization"

From Forensics Wiki
(Difference between pages)
Jump to: navigation, search
 
m (Abandoned Social network Graphers)
 
Line 1: Line 1:
'''Symbian''' is an open operating system, designed for mobile devices, with associated libraries, user interface frameworks and reference implementations of common tools, produced by Symbian Ltd. Symbian evolved from [[Psion]]'s [[EPOC]] in 1998. Symbian OS is currently owned by [[BenQ]], [[Ericsson]], [[Panasonic]], [[Nokia]], [[Siemens AG]] and [[Sony Ericsson]].
+
Although not strictly for forensic purposes, '''visualization tools''' such as the ones discussed here can be very useful for visualizing large data sets. As forensic practitioners need to process more and more data, it is likely that some of the techniques implemented by these tools will need to be adopted.
  
== Versions ==
+
==Programming Languages and Developer Toolkits==
 +
If you are building forensic tools, you probably want to start with one of these:
 +
; Java and Swing
 +
: Advantage: Portable and lots of good documentation out there.
 +
: Disadvantage: Programs are a bit verbose, and only offers about 1/2 the performance of C
  
There are several variations of the Symbian OS that are tailored for different devices. The capabilities of the Symbian OS depend on the device for which it was tailored. Each variation is called a ''Device Family Reference Design'' (''DFRD'').
+
; Python with tkinter
 +
: Advantage: Portable
 +
: Disadvantage: Python is one of the slowest modern languages around.
  
=== DFRDs ===
+
; Python with wxWidgets
 +
: Advantage: Portable and a better development environment than tkiner
 +
: Disadvantage: wxWidgets is not installed by default, so you'll need to get it installed. Not as well documented as Tkinter
  
Device Family Reference Designs (DFRDs) are variations of Symbian OS tailored for different types of mobile information devices including one for smart phones, one for pen-based communicators, and another for keyboard-based communicators. There are three DFRDs: Crystal, Pearl, and Quartz.
+
; [http://www.pyside.org Python with Qt (PySide)]
 +
: Advantage: Portable and a better development environment than tkiner or wxWidgets
 +
: Disadvantage: Though not difficult, PySide has to be installed separately
  
=== Crystal ===
+
; [http://processing.org processing.org]
 +
: Advantage: Programming language specifically developed for visualization; compiles to java byte code
 +
: Disadvantage: Very oddball
  
Crystal is a DFRD tailored for feature-rich, communicator-type devices. Hardware platforms are phones with a full keyboard and a relatively large, landscape-oriented
+
; JavaFX - Java's version of Flash
display. Crystal devices are designed for business users who need a lot of information.
+
  
=== Pearl ===
+
; Flash
  
Pearl is a DFRD for a Symbian [[smart phone]]. Hardware platforms typically look like standard [[cell phones]] with small displays and limited keyboards.
+
Or you could try one of these higher-level toolkits:
  
=== Quartz ===
+
; Crystal Space 3D
  
Quartz is a DFRD for a pen-based phone similar to the [[Palm]] [[PDAs]]. Hardware platforms do not include keyboards, and the relatively large displays are portrait-oriented (vertical). Quartz devices are designed for consumer users and are geared toward information gathering.
+
; Panda#D
  
== History ==
+
== Applications ==
 +
Most of these are scriptable.
 +
===Open Source===
 +
====Data Plotting====
 +
* http://ploticus.sourceforge.net
 +
* http://www.gnuplot.info/
 +
* [http://www.opendx.org/ OpenDX] - Based on [[IBM]]'s Visualization Data Explorer for 3D, runs on [[Unix]]/X11/Motif. (2007)
 +
* http://tulip.labri.fr/TulipDrupal/
 +
* http://highcharts.com/
 +
* matplotlib
  
Symbian is a joint venture between Nokia, Motorola, Ericsson, Matsushita, and Psion that became independent in June 1998. Symbian was established by leaders in the computing and mobile industries to enable the mass market of communicators and smart phones. Here is a brief overview of the milestones in the history of Symbian.
+
====Graph and (Social) Network Visualization====
[[Image:Piechart.png|thumb|Chart illustrating the market share which Symbian enjoys through the various user interfaces.]]
+
* [http://code.google.com/p/boomslang/ Boomslang] --- A thin layer of python over matplotlib that makes it easier to do common plots.
* In 1980, Psion Software was founded by David Potter.
+
* [http://www.cytoscape.org/ Cytoscape] - Cytoscape is an open source software platform for visualizing complex networks and integrating these with any type of attribute data.
* 1990-1998 Psion releases devices using the EPOC16 OS, also known as SIBO. These devices are catagorized as Series 3.
+
* [http://www.graphviz.org/ Graphviz] - Originally developed by the [http://public.research.att.com/areas/visualization/ AT&T Information Visualization Gorup], designed for drawing connected graphs of nodes and edges. Neato is a similar system but does layout based on a spring model. Can produce output as [[PostScript]], [[PNG]], [[GIF]], or as an annotated graph file with the locations of all of the objects — ideal for drawing in a GUI. Runs from the command line on [[Unix]], [[Windows]] and [[Mac]], although there is also a [http://www.pixelglow.com/graphviz/ MacOS GUI version].
* 1997 EPOC OS Releases 1–3. The Series 5 device becomes available, its was the first movement towards 32-bit Symbian.
+
* [http://www.codeplex.com/nodexl NodeXL] - Free/open excel add-in extends the spreadsheet with network metrics and visualizations. (Only runs on Windows)
* In 1998, Symbian Ltd. Created.
+
* [http://gephi.org/ Gephi] -Gephi is an interactive visualization and exploration platform for all kinds of networks and complex systems, dynamic and hierarchical graphs
* 1999 - EPOC Release 5. Series 5 devices are in production using ER5. Symbian OS v6.0 and v6.1 becomes the first 'open' Symbian OS phone.
+
* http://graphstream-project.org/
* 2003 Symbian OS v7.0 and v7.0s released.
+
* http://projects.skewed.de/graph-tool/ - graph-tool is an efficient python module for manipulation and statistical analysis of graphs (a.k.a. networks).  
* In 2004, Psion sells Symbian. The first for mobile phones using Symbian OS. Symbian OS v8.0 and v8.1 released. Symbian OS v9.0 fails and is taken out of production before hitting the market.
+
* http://igraph.sourceforge.net/
* 2005 - Symbian OS v9.1 announced.
+
* http://nwb.cns.iu.edu/ - NetworkWorkbench, a workbench for network scientists.
 +
* http://socnetv.sourceforge.net/ - "Social Networks Visualizer (SocNetV) is a flexible and user-friendly tool for the analysis and visualization of Social Networks."
 +
* [http://jung.sourceforge.net/ Java Universal Network/Graph Framework (JUNG)] - Graphing, [[data mining]], [[social network]] analysis, and other stuff.
 +
* [http://bioinformatics.icmb.utexas.edu/lgl/ Large Graph Layout (LGL)] - A bioinformatics system from University of Texas. They really mean Large.
 +
* [http://www.analytictech.com/netdraw/netdraw.htm NetDraw] - "a free program written by Steve Borgatti for visualizing both 1-mode and 2-mode social network data."
 +
* [http://pajek.imfm.si/doku.php Pajek] - Windows program for drawing large networks.
 +
* [http://sourceforge.net/projects/sonia/ Social Network Image Animator (SoNIA)] - Originally developed at Stanford. Written in Java. Makes movies.
 +
* [http://wilma.sourceforge.net/ WilmaScope] - Real-time animations of dynamic graph structures. Written in Java. Sophisticated force model with strings and attraction.
 +
* [http://www.caida.org/tools/visualization/walrus/ Walrus] - A 3-d graph network exploration tool. Employs 3D hyperbolic displays and layout based on a user-supplied spanning tree.
 +
* [http://afterglow.sf.ne AfterGlowt] - A tool to convert CSV data into DOT descriptions with highly configurable instructions.
 +
* http://tulip.labri.fr/TulipDrupal/ - Tulip is an information visualization framework dedicated to the analysis and visualization of relational data.  
  
== Benefits of Symbian OS ==
+
See also: http://en.wikipedia.org/wiki/Social_network_analysis_software
  
* Faster time-to-market for platform vendors
+
====Abandoned Social network Graphers====
* Open, standards-based platform for third-party application developers
+
(Abandoned means that it hasn't been updated since 2009)
* Excellent connectivity
+
* [http://graphexploration.cond.org/ Guess: The Graph Exploration System] - Originally developed at HP, this is a large Jython/Java-based system that you can use for building your own applications. Distributed under GPL. (2007)
* Advanced design
+
* [http://sourceforge.net/projects/ivc/ InfoVis Cyberinfrastructure] - Another graph drawing system written in Java. (2009)
* Extensibility
+
* [http://www.andrew.cmu.edu/user/krack/krackplot.shtml Krackplot] - "KrackPlot is a program for network visualization designed for social network analysts." (2006; Windows only; no source, apparently)
* High-performance, 32-bit OS with pre-emptive multitasking
+
* [http://www.sfu.ca/~richards/Multinet/Pages/multinet.htm MultiNet] - A data analysis package for drawing conventional data and graph data.  (2007)
* Long battery life
+
* [http://developer.berlios.de/projects/nv2d/ NetVis 2D] - Another graph visualization and layout tool written in Java. (2005)
* Wide industry support and commitment
+
* [http://www.informatik.uni-bremen.de/uDrawGraph/en/uDrawGraph/uDrawGraph.html uDrawGraph]
* Applications that can be designed once and run on multiple devices
+
* [http://ubietylab.net/ubigraph/ Ubigraph] - a tool for visualizing dynamic graphs. The basic version is free, and talks to Python, Ruby, PHP, Java, C, C++, C#, Haskell, and OCaml.  (2008)
* Diversity of devices for consumers
+
* http://www.paterva.com/web5/
  
== External links ==
+
====Computer Network Visualization====
* [http://www.symbian.com/ Symbian homepage]
+
* [http://tnv.sourceforge.net/ The Network Visualizer]
* [http://developer.symbian.com/ Symbian Developer Network]
+
 
* [http://www.symbianfreeware.org/ Symbian Freeware]
+
=== Commercial Graphic Applications and Tools===
* [http://www.allaboutsymbian.com/ All About Symbian]
+
 
* [http://my-symbian.com/main/index.php Symbian OS and Smartphone Information Center]
+
* [http://www.aisee.com/ aiSee Graph Layout Software] - Supports 15 layout algorithms, recursive graph nesting, and easy printing. Runs on [[Windows]], [[Linux]], [[Solaris]], [[NetBSD]], and [[MacOS]]. 30-day trial and free registered versions available. Academic pricing available.
 +
* [http://www.geomantics.com/ Geomantics] - Geographical, Visualization and Graphics software. Runs on [[Windows]].
 +
* [http://www.kylebank.com/ Graphis 2D and 3D graphing software] - Runs on [[Windows]]. Free 30-day evaluation copy available.
 +
* [http://www.openviz.com/ OpenViz] and  [http://www.powerviz.com/ PowerViz] - Both from Advanced Visual Systems, super high-end visualization toolkits. $$$$
 +
* [http://www.tomsawyer.com/ Tom Sawyer Software] Analysis, Visualizaiton, and Layout programs. - Heavy support for drawing graphs. Beautiful gallery. ActiveX, Java, C++ and .NET editions.
 +
* [http://www.netminer.com/ NetMiner] - A comprehensive tool for Social Network Analysis. Runs on Windows, with a Linux version under development. $35 for "Express" student version, $250 for "Professional" student version, $950 for "Normal" "Professional" version.
 +
* [http://www.analytictech.com/ucinet.htm UCINET] - A comprehensive package for the analysis of social network data as well as other 1-mode and 2-mode data.
 +
* [http://www.clarifiednetworks.com/logster Logster] - an ultra-easy software tool to visualize Apache-style logs on a world map.
 +
* [http://www.clarifiednetworks.com/Clarified%20Analyzer Clarified Analyzer] - Visualizes Network Traffic and allows to drill down from visualizations to the packet level.
 +
 
 +
== Visualization Toolkits and Libraries ==
 +
===C/C++===
 +
* [http://public.kitware.com/VTK/ The Visualization Toolkit] - C++ multi-platform with interfaces available for Tcl/Tk, Java and Python. Professional support provided by [http://www.kitware.com/ Kitware].
 +
* [http://kdirstat.sourceforge.net/ KDirStat], an open source implementation of [http://www.cs.umd.edu/hcil/treemap-history/index.shtml Treemaps] written in C. (Treemaps are a visualization technique developed at the University of Maryland for visualizing large amounts of multi-dimensional data.)  You can find a copy of it in [http://www.derlien.com/ Disk Inventory X] and  
 +
===Java===
 +
* [http://csbi.sourceforge.net/index.html Graph Interface Library (GINY)] - Java
 +
* [http://hypergraph.sourceforge.net/ HyperGraph] - Hyperbolic trees, in Java. Check out the home page. Try clicking on the logo...
 +
* [http://ivtk.sourceforge.net/ InfoViz Toolkit] - Java, originally developed at [[INRA]].
 +
* [https://jdigraph.dev.java.net/ Jdigrah] - Java Directed Graphs.
 +
* [http://jgrapht.sourceforge.net/ JGraphT] - A Java visualization kit designed to be simple and extensible.
 +
* [http://prefuse.sourceforge.net/ Perfuse] - A Java-based toolkit for building interactive information visualization applications
 +
* [http://www.ssec.wisc.edu/~billh/visad.html#intro VisAD] - A Java component library for interactive and collaborative visualization.
 +
* [http://www.softwaresecretweapons.com/jspwiki/Wiki.jsp?page=LinguineMaps Linguine Maps] - An open-source Java-based system for visualizing software call maps.
 +
* [http://zvtm.sourceforge.net/index.html Zoomable Visual Transformation Machine] - Java. Originally started at Xerox Research Europe.
 +
* [http://openmap.bbn.com/ OpenMap] A Java-based Geographical Information System framework, from [[BBN]].
 +
===JavaScript===
 +
* [http://mbostock.github.com/d3/ D3 - Data Driven Documents] - A visualization library for the Web.
 +
===Unclassified===
 +
* [http://gravisto.fim.uni-passau.de/ Gravisto: Graph Visualization Toolkit] - An editor and toolkit for developing graph visualization algorithms.
 +
* [http://www.gnu.frb.br:8080/rox Rox Graph Theory Framework] - An open-source plug-in framework for graph theory visualization.
 +
* [http://touchgraph.sourceforge.net/ TouchGraph] - Library for building graph-based interfaces.
 +
 
 +
==Journals and Conferences==
 +
* [http://www.palgrave-journals.com/ivs/index.html Information Visualization Journal]
 +
* [http://rw4.cs.uni-sb.de/~diehl/softvis/seminar/index.php?goto=seminar ACM Symposium on Software Visualization]
 +
==Research Groups==
 +
===Berkeley===
 +
* [http://bailando.sims.berkeley.edu/infovis.html Bailando Visualization]
 +
* [http://vis.berkeley.edu/ Berkeley Visualization Lab]
 +
===Brown===
 +
* [http://www.cs.brown.edu/people/rt/gd.html Roberto Tamassia's resources on Graph Drawing]
 +
===Stanford===
 +
* [http://window.stanford.edu/projects/rivet/ Rivet Project] (Visualization complex systems)
 +
===UNM===
 +
* [http://www.msi.umn.edu/user_support/scivis/scivis-list.html Scientific Visualization at the Supercomputing Institute]
 +
===Wattenberg===
 +
* [http://www.bewitched.com/ Bewitched], a one-man research group.
 +
==See Also==
 +
* [http://www-static.cc.gatech.edu/gvu/ii/resources/infovis.html GVU's Information Visualization Resources link farm]
 +
* [http://directory.google.com/Top/Science/Math/Combinatorics/Software/Graph_Drawing/ Google Directory of Graph Drawing Software]
 +
* [http://directory.fsf.org/science/visual/ GNU Free Software directory of scientific visualization software]
 +
* [http://www.manageability.org/blog/stuff/open-source-graph-network-visualization-in-java/view Open Source Graph Network Visualization in Java]
 +
* [http://www.insna.org/INSNA/soft_inf.html INSNA's web page of Computer Programs for Social Network Analysis]
 +
* http://www.dmoz.org/Science/Math/Combinatorics/Software/Graph_Drawing/
 +
* http://www.ontopia.net/omnigator/models/index.jsp
 +
* http://visant.bu.edu/
 +
* http://sourceforge.net/projects/touchgraph/
 +
 
 +
CAIDA has 15+ years of work visualizing Internet topologies. You may find their tools to be useful:
 +
* http://www.caida.org/tools/visualization/
 +
* http://www.caida.org/publications/visualizations/
 +
* http://www.caida.org/tools/visualization/walrus/gallery1/
 +
* http://www.caida.org/research/topology/as_core_network/

Revision as of 09:27, 21 October 2011

Although not strictly for forensic purposes, visualization tools such as the ones discussed here can be very useful for visualizing large data sets. As forensic practitioners need to process more and more data, it is likely that some of the techniques implemented by these tools will need to be adopted.

Contents

Programming Languages and Developer Toolkits

If you are building forensic tools, you probably want to start with one of these:

Java and Swing
Advantage: Portable and lots of good documentation out there.
Disadvantage: Programs are a bit verbose, and only offers about 1/2 the performance of C
Python with tkinter
Advantage: Portable
Disadvantage: Python is one of the slowest modern languages around.
Python with wxWidgets
Advantage: Portable and a better development environment than tkiner
Disadvantage: wxWidgets is not installed by default, so you'll need to get it installed. Not as well documented as Tkinter
Python with Qt (PySide)
Advantage: Portable and a better development environment than tkiner or wxWidgets
Disadvantage: Though not difficult, PySide has to be installed separately
processing.org
Advantage: Programming language specifically developed for visualization; compiles to java byte code
Disadvantage: Very oddball
JavaFX - Java's version of Flash
Flash

Or you could try one of these higher-level toolkits:

Crystal Space 3D
Panda#D

Applications

Most of these are scriptable.

Open Source

Data Plotting

Graph and (Social) Network Visualization

  • Boomslang --- A thin layer of python over matplotlib that makes it easier to do common plots.
  • Cytoscape - Cytoscape is an open source software platform for visualizing complex networks and integrating these with any type of attribute data.
  • Graphviz - Originally developed by the AT&T Information Visualization Gorup, designed for drawing connected graphs of nodes and edges. Neato is a similar system but does layout based on a spring model. Can produce output as PostScript, PNG, GIF, or as an annotated graph file with the locations of all of the objects — ideal for drawing in a GUI. Runs from the command line on Unix, Windows and Mac, although there is also a MacOS GUI version.
  • NodeXL - Free/open excel add-in extends the spreadsheet with network metrics and visualizations. (Only runs on Windows)
  • Gephi -Gephi is an interactive visualization and exploration platform for all kinds of networks and complex systems, dynamic and hierarchical graphs
  • http://graphstream-project.org/
  • http://projects.skewed.de/graph-tool/ - graph-tool is an efficient python module for manipulation and statistical analysis of graphs (a.k.a. networks).
  • http://igraph.sourceforge.net/
  • http://nwb.cns.iu.edu/ - NetworkWorkbench, a workbench for network scientists.
  • http://socnetv.sourceforge.net/ - "Social Networks Visualizer (SocNetV) is a flexible and user-friendly tool for the analysis and visualization of Social Networks."
  • Java Universal Network/Graph Framework (JUNG) - Graphing, data mining, social network analysis, and other stuff.
  • Large Graph Layout (LGL) - A bioinformatics system from University of Texas. They really mean Large.
  • NetDraw - "a free program written by Steve Borgatti for visualizing both 1-mode and 2-mode social network data."
  • Pajek - Windows program for drawing large networks.
  • Social Network Image Animator (SoNIA) - Originally developed at Stanford. Written in Java. Makes movies.
  • WilmaScope - Real-time animations of dynamic graph structures. Written in Java. Sophisticated force model with strings and attraction.
  • Walrus - A 3-d graph network exploration tool. Employs 3D hyperbolic displays and layout based on a user-supplied spanning tree.
  • AfterGlowt - A tool to convert CSV data into DOT descriptions with highly configurable instructions.
  • http://tulip.labri.fr/TulipDrupal/ - Tulip is an information visualization framework dedicated to the analysis and visualization of relational data.

See also: http://en.wikipedia.org/wiki/Social_network_analysis_software

Abandoned Social network Graphers

(Abandoned means that it hasn't been updated since 2009)

  • Guess: The Graph Exploration System - Originally developed at HP, this is a large Jython/Java-based system that you can use for building your own applications. Distributed under GPL. (2007)
  • InfoVis Cyberinfrastructure - Another graph drawing system written in Java. (2009)
  • Krackplot - "KrackPlot is a program for network visualization designed for social network analysts." (2006; Windows only; no source, apparently)
  • MultiNet - A data analysis package for drawing conventional data and graph data. (2007)
  • NetVis 2D - Another graph visualization and layout tool written in Java. (2005)
  • uDrawGraph
  • Ubigraph - a tool for visualizing dynamic graphs. The basic version is free, and talks to Python, Ruby, PHP, Java, C, C++, C#, Haskell, and OCaml. (2008)
  • http://www.paterva.com/web5/

Computer Network Visualization

Commercial Graphic Applications and Tools

  • aiSee Graph Layout Software - Supports 15 layout algorithms, recursive graph nesting, and easy printing. Runs on Windows, Linux, Solaris, NetBSD, and MacOS. 30-day trial and free registered versions available. Academic pricing available.
  • Geomantics - Geographical, Visualization and Graphics software. Runs on Windows.
  • Graphis 2D and 3D graphing software - Runs on Windows. Free 30-day evaluation copy available.
  • OpenViz and PowerViz - Both from Advanced Visual Systems, super high-end visualization toolkits. $$$$
  • Tom Sawyer Software Analysis, Visualizaiton, and Layout programs. - Heavy support for drawing graphs. Beautiful gallery. ActiveX, Java, C++ and .NET editions.
  • NetMiner - A comprehensive tool for Social Network Analysis. Runs on Windows, with a Linux version under development. $35 for "Express" student version, $250 for "Professional" student version, $950 for "Normal" "Professional" version.
  • UCINET - A comprehensive package for the analysis of social network data as well as other 1-mode and 2-mode data.
  • Logster - an ultra-easy software tool to visualize Apache-style logs on a world map.
  • Clarified Analyzer - Visualizes Network Traffic and allows to drill down from visualizations to the packet level.

Visualization Toolkits and Libraries

C/C++

  • The Visualization Toolkit - C++ multi-platform with interfaces available for Tcl/Tk, Java and Python. Professional support provided by Kitware.
  • KDirStat, an open source implementation of Treemaps written in C. (Treemaps are a visualization technique developed at the University of Maryland for visualizing large amounts of multi-dimensional data.) You can find a copy of it in Disk Inventory X and

Java

JavaScript

Unclassified

Journals and Conferences

Research Groups

Berkeley

Brown

Stanford

UNM

Wattenberg

See Also

CAIDA has 15+ years of work visualizing Internet topologies. You may find their tools to be useful: