Social Networks Visualiser (SocNetV) 
      - version 0.43.1  -

Homepage: http://socnetv.sourceforge.net


Author: Dimitris B. Kalamaras
email:  dimitris_kalamaras@compupress.gr
	

Contents

1. Overview
2. Installation
3. Command Line Usage
4. Interface
5. Menus' description
6. Feedback
7. Open source and GPL
8. Frequently Asked Questions


1. Overview

	Social Networks Visualiser (SocNetV) is a Linux
	GPL program designed to allow people draw, 
	visualise and layout social networks. SocNetV
	can read and write various network file 
	formats, such as PAJEK, sociomatrix and dot.
	It enables the user to visually modify
	an existing network or draw a new network 
	using the mouse. Network and actor properties,
	such as distances, centralities, diameter etc,
	can be easily computed. Also, SocNetV can create
	random networks given a link probability. 

	SocNetV is developed on Qt 3.0+, an application
	development toolkit based on C++, using 
	KDevelop 3.1.1, the open-source development
	framework.  

	SocNetV is published under the General Public
	Licence (see section 9).  

	A word to the wise: 
	-------------------
	This program is NOT antagonistic to any
	commercial/scientific SNA programs, like 
	PAJEK, visone, UCINET, AISee, KrackPlot, 
        which are developed by groups of 
	professionals and scientists.
	SocNetV is rather a personal trip to learn SNA
	and C++ programming. If you find it useful
	I'll be glad. But be aware that there is 
	no warranty of efficiency, correctness or
	usability. 
	

2. Installation

	Prerequisities
	--------------
	Installation of SocNetV is straightforward. 
	All you need is a working Linux distro, with
	the following packages installed:
	a) g++ 3.4
	b) Qt 3.0+

	Most distros have these packages installed by default.

	Installation Steps
	------------------
	1) Download the latest version of SocNetV.
	2) Untar (decompress) the archive using:
	   tar zxfv SocNetV-v0.XX.tar.gz
	3) cd socnetv
	4) $QTDIR/bin/qmake
	5) make
	
	6) Run SocNetV by issuing:
	   ./socnetv


3. Command Line Usage
	
	SocNetV is primarily a Linux GUI program. 
	Nevertheless, some command line options
	are available. Type:
	a) ./socnetv filename.net
	   to start snv with network named 
	   filename.net loaded.
	b) ./socnetv -v
	   to print version of snv and exit.
	c) ./socnetv -d 
	   to enable debugging mode, in which
	   snv prints comprehensive messages
	   about what it is doing.


4. Interface
	
	The user can interact with SocNetV in two ways:
	a) from the menus and the toolbar, or
	b) by right/left/both-clicking on the canvas. 

	The window of SocNetV is composed of, from
	top to bottom: 
	- a menu bar,
	- a tool bar,
	- a canvas, and
	- a status bar.

	The menu bar provides familiar GUI menus
	such as FILE, EDIT, VIEW and HELP as well 
	as more network-oriented menus such as 
	NETWORK, LAYOUT, STATISTICS. Menu commands
	are explained in detail below.

	The tool bar provides the common GUI 
	instructions, i.e. open file (network), save
	file (network), print network and display a
	help file.	

	The canvas, occupying the 80% of the SocNetV
	window, is the place where networks 
	are drawed and displayed. The initial
	background color of the canvas is gainboro. 

	Key elements of SocNetV are Actors and Links.
	In the terminology of graph theory, Actors 
	and Links are called Vertices and Edges, 
	respectively. 
	
	In SocNetV, Actors and Links are graphical
	items displayed on a canvas, which occupies 
	the most of the SocNetV window.  There is a 
	multiplicity of actors and edges shapes, 
	styles, and colors, enabling the user to
	discern various patterns.
	
	The canvas lets the user to interact with 
	the network in multiple ways producing 
	different results: 
	
	a) by left-clicking on an actor and moving
	   the pointer; The actor moves.
	b) by left-clicking on an actor or a link;
	   Actor information is displayed on the
	   status bar.
	c) by right-clicking on an actor; A menu 
	   appears carrying commands, such as 
	   add link, remove Actor, change value,
           change color, change label etc.
	d) by right-clicking on a link; A menu 
	   appears carrying commands, such
	   as remove link, change weight,
           change color, etc.
	e) by left-clicking on the canvas; A menu
	   appears with general commands, such as:
	   add actor, change all actors color,
	   change all edges color, draw bezier, etc.
	f) by middle-clicking (three-button mouse) 
	   or pressing both mouse buttons (two-button
	   mouse) while pointing an actor; The pointer
	   changes shape to a "small hand". Middle-
	   clicking or both-mouse-clicking on another 
	   Actor will instantly create a link between
	   those two Actors.
	g) by double-clicking on the canvas, a new actor is created and displayed.
	

	Inside SNA
	----------
	A social configuration, such as a network,
	can be represented by a graph.

	Formally, a graph G is represented as G=(V,E),
	where V is the set of vertices and E is the 
	set of edges betweem vertices. In SocNetV, a graph 
	vertice is called "actor" while edges are 
	called edges or more often links. 

	In line with the work of Harary, links can 
	have signs (+) and (-) reflecting positive
	or negative, respectively, relations between
	actors. Moreover, links can have arrow heads
	indicating a "direction" of the relationship
	from an actor to another. In SocNetV, those 
	links are called arcs or inLinks and outLinks.
	Thus, an outLink/arc from Actor A to Actor B
	with a positive sign might mean "A likes B"
	while a negative arc from B to A is the 
	sociogrammatic equivalent to "B dislikes A".
	
	Moreover, each Actor may hold a color, a size
	and a value. Colors, usually, express a common
	structural property of a group of Actors. 
	Values will be used in the future when network
	dynamics (simulation) will be implemented.
	Sizes are used only to display actors at
	different sizes.
	

	Structural Analytic Indices
	---------------------------

	Of major importance to Social Network Analysis 
	is the so-called centrality of each actor
	inside the network, as well as the overall
	network centralisation. An actor's centrality
	is a magnitude of structural importance.
	SocNetV provides the following indices:
	
	InDegree
	
	OutDegree
	Degree
	Closeness
	Betweeness
	Informational (not yet implemented)
	Graph
	Stress


	Distances are computed using a simple
	implementation of Dijksta's shortest
	path algorithm.

	Although SocNetV is not a professional 
	program nor a rivalry to acknowledged 
	SNA programs, it can handle pretty large
	networks, i.e. 0-1000 actors.
	
	Bear in mind that when the network becomes too big, centrality calculations will be time-consuming.


	

5. Menus' Description

	File Menu
	---------
 	+ Open: 
		Opens a network file. SocNetV can read
		pajek, list, sociomatrix, dot, DL.
	+ Save:
		Saves the active network to a file.
		SocNetV asks you for the file format.
	+ Save As:
		Saves the active network to a given
		file. SocNetV asks you for the file format.
	+ Import:
		Imports a network file. Same as open.
		The difference is that you tell SocNetV
		the format of the network file.
	+ Export:
		Exports the network file to
		BMP, PNG (image)
		pajek, sociomatrix, dot, dl, list
	+ Quit: 
		Save and exit.

	Network Menu
	------------
	+ View Network File:
		Displays the text of the network file
		loaded.

	+ View Sociomatrix:
		Creates and displays the adjacency
		matrix of the active network.
	
	+ Random Network:	
	  - Uniform
		Creates and draws a random network
		of uniform distribution. SocNetV asks
		you for a link probability.
	  - Gaussian
		<not implemented>
	  - Lattice
		<not implemented>

	+ Matrix Algebra:
	  - Pow
		Raises the adjacency matrix to a
		given power. Then, it displays
		the result to a nice "celled" format.
	  - Inverse
		Find and display the inverse, if
		exists, of the adjacency matrix.
	  - Determinant
		Finds and displays the determinant
		of the adjacency matrix.


	Edit Menu
	---------
	+ Actor:
	  - Find
		Finds an actor by either its number
		or its label.
	  - Add
		Adds a new actor in the network.
	  - Remove
		Removes an existing actor from
		the network using his number.
		Alternatively, you may click on an
		actor and then choose this menu option.
		SocNetV will remember your choice and
		remove that actor. Another option
		is to right click on the actor and 
		select "Remove" from the pretty menu
		that pops up.
	  - Change Label
		Changes the label of an existing
		actor. Alternatively, you may click on
		an actor and then choose this menu option.
		SocNetV will remember your choice and
		change that actor's label.
		Another option is to right click on
		the actor and select "Change Label" 
		from the pretty menu that pops up.
	  - Change Color
		Changes the color of an existing 
		actor by its number.
		Alternatively, you may click on an
		actor and then choose this menu option.
		SocNetV will remember your choice and
		change that actor's color.
		Another option is to right click on 
		the actor and select "Change Color"
		from the pretty menu that pops up.
	  - Change Value
		Changes the value/size of an existing
		actor by its number.
		Another option is to right click on
		the actor and select "Change Size" 
		from the pretty menu that pops up. 
		

	+ Link:
	  - Find
		<not implemented>
	  - Add
		Adds a new link. SocNetV asks for the 
		number of the source actor and
		the target actor. Alternatively,
		middle clicking (or both clicking) 
		on two actors will create the desired
		link automatically.
		Another option is to right-click on	
		an actor and select "add link" in
		the pop-up menu. SocNetV will ask for
		the target actor and draw the 
		new link.
	  - Remove
		Removes an existing link. SocNetV asks for  
		the number of the source actor and
		the target actor. Alternatively, and
		more easily, right-click on the link
		you want removed and select "Remove"
		in the pop-up menu.
	  - Change Color
		Changes color of an existing link. 
		SocNetV asks for the number of the source
		actor and the target actor.
		Alternatively, and more easily, 
		right-click on the link you want and
		select "Change color" in the pop-up menu.
		
	  - Change Weight
	  - 

	+ Actors<->Links
		If selected, SocNetV will transform each
		actor to a link and each link to 
		an actor.

	
	Layout Menu
	-----------

	In circles by centrality....
	  - By Degree Centrality:
		Relocates actors on the circumference
		of circles of common centre but 
		different radius. Greater radius and,
		therefore, actors more distant from
		the centre of the canvas reflect less
		degree centrality.
	  - By Closeness Centrality:
		Relocates actors on the circumference
		of circles of common centre but 
		different radius. Greater radius and,
		therefore, actors more distant from
		the centre of the canvas reflect less
		closeness centrality.
	  - By Betweeness Centrality:
		Relocates actors on the circumference
		of circles of common centre but 
		different radius. Greater radius and,
		therefore, actors more distant from
		the centre of the canvas reflect less
		betweeness centrality.
	  - By Informational Centrality:
		Relocates actors on the circumference
		of circles of common centre but 
		different radius. Greater radius and,
		therefore, actors more distant from
		the centre of the canvas reflect less
		informational centrality.
	In levels by centrality...
		WIP
	+ Physical models
		Spring Embedder
		

	Statistics Menu
	---------------
	+ Active Actors:
		Counts and displays the amount of
		active actors in the network.
	+ Active Links:
		Counts and displays the amount of
		active actors in the network.
	+ Density:
		Calculates and displays the Density
		of the active network.
	+ Distance:
		Calculates and displays the geodesic
		distance of two given actors. For
		this, SocNetV asks for two actorNumbers.
	+ Matrix of Distances:
		Calculates and displays the complete
		matrix of distances.
	+ Diameter:
		Calculates and displays the diameter
		of the network, which is the maximum
		of the minimum geodesic distances 
		between all actors.
	+ Centralities:
	  - Degree
	  - Closeness
	  - Betweeness
	  - Informational
	  - Stress
	  - Graph

	Options Menu
	------------
	+ 	

	View Menu
	---------
	+ View progress bars (Default ON)
		Toggles the progress bars during
		various (time-costly) operations.
		This is something you might want
		to enable if you want to monitor
		the progress of the operation.
		On the other hand, progress bar
		cost some cpu time.
	+ View ToolBar (Default ON)
		Toggles the toolbar. 
	+ View StatusBar (Default ON)
		Toggles the statusbar. If you 
		disable statusbar, then you won't
		be able to read the messages SocNetV
		displays in the statusBar during
		various operations.

	Help Menu
	---------	
	+ Help
		Opens an embedded html viewer where 
		you can read this help file.
	+ About
		Displays short info about SocNetV.
		Probably the least interesting
		feature. That is why we have added to it
		a super special "quote of the day", 
		which contains more than 10^6 famous
		quotes from all over the universe.... 
	+ About Qt
		Displays short info about Qt, which
		is the programming toolkit of SocNetV.
		Check it out. Qt is free for Linux
		and is the basis of KDE. 

	
	
	HotKeys
	-------
	
	F1: Display this Help file
	F5: View the source file
	F6: Display the active Sociomatrix
	
	CTRL+D: Compute the network diameter
	CTRL+G: Compute the geodesic distance 
		between two actors
	CTRL+M: Compute the matrix of distances
	
	
6. Feedback

	Although SocNetV is free software, feedback is 
	strongly encouraged. Please let me now about
	any bugs, questions or suggestions. Sent me
	an e-mail to:

	dimitris.kalamaras@compupress.gr
	
 

	

7. Frequently Asked Questions

	I)	Does SocNetV run on MS Windows?
	Answer: 
		No. SocNetV is, and will be, Linux only.


	II) 	I cannot compile SocNetV on my linux box.
		Can you help me?
	Answer:
		Ensure you have installed the Qt 3.0+
		in your linux box. Read carefully
		the "Installation section", follow
		the guidelines and you will probably
		have a succesful installation.  	

 
	III)	Is there a Debian package of SocNetV?
	Answer:	
		I do not know.


	VI)	Are there any other SNA programs for 
		Linux?
	Answer: The following programs are available
		for our favorite OS:
		1) Pajek (via wine)
		2) Visone
		3) dot (although this is more layout)
		4) iSee
		5) Any java based program, like <ADD PROGR>
		

	VII) 	Can I use the code of SocNetV in my Qt or
		non-Qt program, as I like?
	Answer: 
		Of course. If you like, spare some	
		time to send me a copy of your program.
		Notice that if you do use some coding
		of my own or Qt's, then your program
		should probably be licensed under the
		GPL. 
		In short, keep software free!

	VIII)	When I run SocNetV from Konqueror rather
		than command line, toolbar icons are not 
		displayed. What is wrong?
	Answer:
		At initial load, SocNetV seeks icons inside 
		<INSTALLDIR>/src/images
		If for any reason you run SocNetV from the
		Konqueror then SocNetV is run from your
		default Konqueror dir rather than from
		where you installed it. Therefore,
		run SocNetV at linux command line from where
		you in


8. GPL

	SocNetV is free software published under the General
	Public Licence (GPL). GPL mandates this program 
	to be 'open-source'. Open-source means:
	a) You can copy it as many times as you like.
	b) There is no guarrantee or support. Use it
	   at your own risk.  
	c) You can modify the code as you like and use
	   it any way you prefer. The only obligation,
	   based on the GPL, is that anything created
	   from SocNetV or by portions or parts of its
	   code is 'open-source' as well. 
	d) You cannot make money out of it. 
 
	

	You can find the full GPL text inside the SocNetV tarballs. Please read it 
	carefully.


 