Académique Documents
Professionnel Documents
Culture Documents
Visua
S al Netw
N workks
Creative and intera
active visu
ualisationss applied to
o peer-to--peer chat
Prrojectt Defiinition
n Doccumen
nt
Sttudent:SeaanBryceland(0432542
27)
Academ
micAdvisor::Dr.HughM
Melvin,Dep
pt.ofI.T.
Cisco
oAdvisor:FFergusDeffe
ely,CiscoGalway
SubmisssionDate:2
26/10/07
VisualisingSocialNetworks|PDD
CONTENTS
Introduction............................................................................................................................................................3
Context...............................................................................................................................................................3
ProjectBrief........................................................................................................................................................3
Research.............................................................................................................................................................4
StakeholdersNeeds&Expectations...................................................................................................................4
Aims&Objectives...................................................................................................................................................5
Goals...................................................................................................................................................................5
Scope..................................................................................................................................................................5
Primary...........................................................................................................................................................5
Secondary......................................................................................................................................................5
Excluded.........................................................................................................................................................5
Objectives...........................................................................................................................................................6
Constraints.........................................................................................................................................................6
Requirements.........................................................................................................................................................7
Functional...........................................................................................................................................................7
NonFunctional...................................................................................................................................................8
ProjectManagement..............................................................................................................................................9
RiskAssessment.................................................................................................................................................9
RiskAnalysis.......................................................................................................................................................9
WorkPlan.........................................................................................................................................................10
GanntChart......................................................................................................................................................11
WorkBreakdownStructure..............................................................................................................................12
Milestones........................................................................................................................................................12
References............................................................................................................................................................13
AppendixA............................................................................................................................................................14
P a g e |2
VisualisingSocialNetworks|PDD
INTRODUCTION
CONTEXT
ManycorporateindustriesarenowusingmethodsofInstantMessaging,VOIPandpresenceprotocolsto
speedupcommunicationacrosstheirbusiness.Itisnoweasiertofindsomeonebynamebutwhataboutby
speciality?
PROJECTBRIEF
ThisprojectcentresonidentifyingrelationshipsbetweenusersofanXMPPChatandBuddyPresenceNetwork
onanumberoflevels.Thiswillinvolvedevelopingachatclient,serverandthenapplyingaseriesofcreative
andinteractivevisualizationstothecollectedrelationshipdata.
TheconceptoftheprojectfocusesonallowingcorporateusersofanXMPPInstantMessage(IM)networkto
haveconversationswiththeirpeers,thentaggingtheseconversationswithrelatedtopics.Bytaggingtheir
conversations,userswillbeabletocreateweightedassociationswiththeirpeersrelatingtocertaintopics(for
instanceBobhasanumberofconversationswithSamaboutJava).
Bycollectingthisdata,weareabletomapusersofournetworkoutbyspecialities&interests,consequently
associatingthemwithothersimilarusers;muchlikeaneuralnetwork.
Byusinggraphicalandinnovativevisualisationmethodswecanthendynamicallyallowclearandsimple
browsingofthisnetwork.Notonlybyassociationofpeoplebutbytheirspecialities(forinstance,Janewas
dealingwithBobonJavaproject,howeverBobhasbeentakenill.JanesimplymustselectBobfromthe
visualisationtool,whichshowBobsconversationtopics,sheselectsJava.Thevisualisationthenfocuseson
JavaandwhoBobtalksaboutJavawith;JanethenfindsSam.SeeFig1.0).
Sam
Java
XML
Bob
Web
Design
HTML
James
Java
Mark
Bob
Fig1.0:DisplaysBobsrelationsbytopicfirst;thenfocussingonBobsJavarelationships.
Thisprojectwillfocusondeliveringnewandinnovativewaysofdisplayingpeoplesrelationshipsacrossvast
networks.Thiscanincludeintellectualassociation,geographical,socialandprojectrelationships.Thiswillbe
achievedbydevelopinganXMPPclientandservercapableofdealingwiththetaggingofconversations,and
suitable,graphicalvisualisationmethodstoviewthedata.
P a g e |3
VisualisingSocialNetworks|PDD
RESEARCH
Topreparefortheproject,alongwithmeetingCiscotoclearlyoutlinewhattheywherelookingfor,Ihadto
researchthefollowingareas
XMPP(ExtensibleMessagingandPresenceProtocol):TheactualmessagingprotocolusedintheIMand
presencenetwork.IreadanumberofarticlesandRFCsontheprotocol.
XML(ExtensibleMarkupLanguage):IreadanumberofbooksonXML,themethodbywhichXMPPtransfers
data.
VisualisationTechnologies:Ihadtoresearchanumberofwebbasedgraphictechnologiestofindtheone
mostsuitedtothetask.TheseincludedFlash,FlexandSilverlight.Thisalsoextendedtolookingatvaried
methodsofvisualisingdataandtryingtoidentifywaysinwhichthisdatacouldbebestrepresented.Itwas
evidentthatFlashanditssisterproductFlexwouldbethebesttoworkwithduetotheirinteroperabilitywith
Java,andhighdistributionaroundtheworld.
Java:ItbecameobviousthatJavawasthelanguagethatwouldmostseamlesslymixwiththesetechnologies,
soIspenttimelookingatdifferentwaysinwhichJavacanoperatewithXMPP,XMLandFlash,andhowinturn
Icouldbringthemalltogether.TherearealsoAPIsavailabletoassistinthedevelopmentofJavaXMPPclients.
STAKEHOLDERSNEEDS&EXPECTATIONS
ThereareanumberofStakeholdersinthisproject
EndUsers
o Enduserswillexpectaproductthatisbotheasytouseandintuitive,especiallywith
employeesdifferentskilllevelsacrossfirms.
o EndUsersexpectacommunicationplatformthatisbothquickandreliable
NetworkAdministratorsrunningtheXMPPserver
o NetworkAdminsneedasolutionthatwillscalewellandbeeasytoimplement&manage.
CiscoSystems
o Cisco,expectanXMPPclientandserverthatwillmappeoplesrelationshipsandthen
visualisethemininnovativegraphicalways,asperprojectbrief.
Dr.HughMelvin
o AsmyacademicsupervisorHughwillexpectmetoadheretodeadlinesoutlined,andensure
theprojectfitsthebriefgiven.
Developer
o Ineedtoensuretheendproductmatchesthebriefandisdeliveredontime.Ialsomust
ensureIhavecollectedthecorrectrequirements,andplantheprojectappropriately.
NationalUniversityofIreland,Galway
o TheuniversitywillholdsomeIPrightsontheproject.
o Theywillbeprovidingtheresourcestodeveloptheproject.
P a g e |4
VisualisingSocialNetworks|PDD
AIMS&OBJECTIVES
GOALS
ThegoalofthisprojectistoprovidebothanXMPPClientandServerimplementationthatwillallowforusual
XMPPtransportbutalsothetaggingofconversations.Thisservermuststoreinformationaboutthesetags,
allowingforweightingofresultstoshowthestrengthofrelationships.
Thisdatawillthenbeavailablethroughawebbasedvisualinteractivetool,allowingtheusertobrowsethe
datainasmoothflowingnature,whileatthesametimeclearlyidentifyingrelationships.
InitiallyIhopetoprovideanodetreestyleofinterfacethroughflashandaHTMLtagcloud.Anyfurther
visualisationmethodswillbeoutsidethescopeofthisprojectandmadeavailableifpossible.
SCOPE
ThescopeofthisprojectwilllimitthenumberofvisualisationsdevelopedandthecapabilitiesoftheXMPP
server.Thisismainlyduetotimeconstraints.
PRIMARY
AfullyimplementedXMPPClient
o Allowingusertoregisterwithaserver
o Allowingusertoaddandmanagecontactstotheirfriendsroster
o Allowingtheusertotagconversationstheyhavewithrelevantkeywords
AlimitedXMPPServer
o ThiswillhandlethebasicsXMPPserverfunctions(chat/presence/rostermanagement)
o Theserverwillprocessusertags,addingthemtoanappropriatedatastore.
Visualisations
o Willbebrowserbased
o Aninteractiveflashvisualisationofusersandhowtheyareconnectedtotopicsandhence,
otherusers.Nodetreebased.
o ATagCloud(SeeAppendixA)inHTML,ofhighrankingtopicsandusers.
SECONDARY
XMPPClientExtraFunctions
o AllowingusertomanagetheirPresence(online/busy/onthephoneetc)
o Allowingusertouploadavatars.
o FileTransfer
ExpandedXMPP
o Handlinguserinformationsuchasimagesetc.
MoreVisualisations
o FurtherFlashvisualisationsexploringthedatasetindifferentways.
EXCLUDED
XMPPServerFullFunctionality
o DuetotimeconstraintsitwillbeunfeasibletoimplementacompleteXMPPserverwith
functionssuchasconnectingtogateways.
P a g e |5
VisualisingSocialNetworks|PDD
OBJECTIVES
Tocreateaclientpeoplewilluseforcommunicationeasilyandreadily
Toensuretheclientisusableforall
Tocreatevisualisationsthatareintuitiveandselfexplanatory
Toallowuserstomanage,&communicatewiththeircontacts
Toallowuserstotagtheirconversationsinawaythatsuitsthem
Tomaketheclient,serverandvisualisationrobust
Tocreatesystemsthatadheretogoodcodingpractices
Tomakecommunicationacrossvastnumbersofpeopleeasierbyaccessinganumberofdifferent
relationshipsdirectly.
CONSTRAINTS
ResourcesOnly1persondevelopingthisproject
TimeThereisafixeddeadline
KnowledgeApplyingsuchvisualisationstosuchaprocessisrelativelynew,involving
experimentation,andalearningcurve.
DataIwillneedtoproduceafalsedatasettoallowfortestingofvisualisations.
P a g e |6
VisualisingSocialNetworks|PDD
REQUIREMENTS
FUNCTIONAL
XMPPClient
1.
2.
3.
4.
5.
6.
7.
Createaconnectionwithserver
a. TheapplicationwillconnecttotheserverwithanXMLstream.
UserRegistration
a. Theapplicationwillallowausertoregisteranaccountontheserver
UserLogin
a. Theapplicationtakesusersdetails,loggingintotheserver,thenretrievingtheirroster
(Contactslist).
ChangingPresence
a. Theuserwillbeabletochangetheironlinepresence.
ManagingContacts
a. Theapplicationwillallowuserstoaddandremovecontactsfromtheirroster.
Messaging
a. TheusercanstartanIMconversationwithanyoftheircontacts.
b. Theapplicationwillallowuserstotagtheirconversationswhiletheyareinprogress.
UserLogout
a. Theclientwillenditsconnectionwiththeserverwhentheuserlogsout.
XMPPServer
1.
2.
3.
4.
5.
Createaconnectionwithclient
a. Onaclientcreatingastream,theserverwillinturncreateareturnXMLstreamtotheclient.
Handleuserregistration
a. Theserverwillallowaclienttoregisteranewuser,storingtheirdetails
Handleuserlogin
a. Theserverwillallowausertologintothesystem
b. Theserverwillsendtheclienttheappropriatecontactroster,andtherelevantcontacts
presences
Messaging
a. Theserverwillprocessoutboundandinboundmessages,forwardingthemtoanotherserver
ifnecessary.
b. TheserverwilltakenoteofanyusertagsandaddthemtoanXMLdatastoreofrelationships
betweenusersandifnecessaryincreasingtheweightofalreadyexistingrelationships.
HandleUserlogout
a. Theservermustenduserconnectionscorrectly.
Visualisation
1.
2.
3.
Providebrowserbasedportal
a. Thispagewillcontainthedifferentvisualisationallowingforcrossplatformaccess.
Retrieve&ProcessData
a. ThevisualisationserverwillcollectandprocesstherelationshipinformationfromtheXMPP
serversdatastore.
CreateaTagCloud
a. Theprocessedinformationwillcreateatagcloudbytopic
b. Whenatopicisclickedthetagcloudwillreformtorelatedusersandviceversa
P a g e |7
VisualisingSocialNetworks|PDD
4.
CreateaDynamicflashnodeexplorer
a. TheprocessedinformationwillbeusedtocreateaninteractivenodestructureinFlash
b. Thisflashtoolwillallowusertogofrompersontotopictopersonandsoon.
NONFUNCTIONAL
1.
2.
3.
4.
5.
6.
7.
8.
9.
EaseofUse
a. Allaspectsofthesystemmustbeeasytouseaswecanmakenopresumptionsaboutthe
differentaptitudelevelsofusers,especiallyinthecaseofrollingoutacrossabusiness.
ErrorHandling
a. Thesystemmustdealwitherrorsinaclearconciseway.Primarilyrecoveringfromallerrors,
butensuringthaterrormessagesarenotmisleading.
Speed
a. Thesystemmustoperateataspeedthatwillnothinderthelevelofcommunicationbetween
users.
Performance
a. TheXMPPservermustbeabletohandleallrequestsinanappropriatetime.
b. Thevisualisationservermustbeabletoprocessthedatastoresinformationquickly.
Availability
a. TheXMPPclientandservermustbeabletocommunicateatalltimeswithnodelay,to
ensurequickandnonfrustratingcommunication.
Aesthetics
a. Thevisualisationsmustbevisuallypleasingandintuitivetoallowforapleasantand
informativebrowsingexperiencefortheuser.
Platform
a. Theentireprojectshouldnotbedependantonanyoneplatform.
Scalability
a. TheXMPPservermustbeabletodealwithatleast10concurrentusersatthisstage.
Transparency
a. Itmustbeclearwhatinformationthissystemwillcollectfromtheuser,andhowinturnit
willbeused.
P a g e |8
VisualisingSocialNetworks|PDD
PROJECTMANAGEMENT
RISKASSESSMENT
Itisimportanttoclearlyidentifyanypossibledifficultiesthatcouldarisewithinthisproject,allowing
appropriateplanningbothinpredictingandpreventingissues.Ihaverankedissuesbasedontheirprobability
andtheimpacttheymayhaveonthisproject...
RiskFactor
Impact
Probability
Scopetoolarge
Loss/Corruptionofdata
Choosingwrongdevelopmentenvironments
Inabilitytomeetrequirements
Finalyearworkloadimpactondeadline
Scopecreep
Learningcurveofnewtechnologiestosteep
Illness
ImproperTesting
OverlookingRequirements
Timespentonsecondaryfunctionsimpactingdevelopmentofkey
functions
FailureatDemoStage
Serious
Low
Critical
Critical
Serious
Medium
Serious
Critical
Serious
Serious
Critical
35%
3%
10%
20%
40%
15%
25%
10%
20%
20%
15%
Serious
20%
RISKANALYSIS
Byidentifyingtherisks,Iamabletooutlinetheircausesandhowtoavoidthem
Scopetoolarge:Byclearlyoutlininginthisdocumentthescopeoftheproject,Iamabletoplanwith
reasonableaccuracyastowhatcanandcannotbeachieved;thus,avoidingissueswiththescopessize.
Loss/Corruptionofdata:Byensuringregularbackupsofmyworkregularlyandbyworkingon2different
machines,Iwillbeabletopreventanylossofdatafrombeingirreversible.
Choosingwrongdevelopmentenvironments:Thisisanissuethatwouldaffecttheprojectseverelyifrealised
tolate.BythoroughlyresearchingthedevelopmentenvironmentssuitabilityforthetaskIwillavoidthis
occurring.
Inabilitytomeetrequirements:Thiswillbecomeanissueifenoughtimeisnotspentontheprojectandthe
requirementsarenotadheredto.Thiscanbepreventedbyproperlyplanningmytimeandadheringtothis
document.
Finalyearworkloadimpactondeadline:Withtheintensityoffinalyearitisundeniablethatitsworkloadmay
wellimpactthisproject;thereforeitisextremelyimportanttomanagemytimeallowingforstudyinother
areas.
Scopecreep:ByhavingallstakeholdersagreetothisdocumentIwillbeabletooffsetanyscopecreepthatwill
affecttheoutcomeofthisprojectdetrimentally.
Learningcurveofnewtechnologiestosteep:Byalreadydoinganimmenseamountofreadingonthe
technologiesinvolvedIhavegivenmyselfagoodgroundingintheareas,identifyingwhatfurtherlearningwill
needtobedone.Timeforthiswillbefurtherfactoredintotheworkplan.
P a g e |9
VisualisingSocialNetworks|PDD
Illness:AsIamworkingonthisprojectalone,itwillhaveseriousimpactonthescheduleshouldItakeill.Ican
attempttooffsetthisbyensuringIdontoverworkmyself.
ImproperTesting:Shouldtheprojectnotbetestedproperlyitmayhaveseriousimplicationsindeliveringthe
requirementsoutlined.Thisshouldbecombatedbyallottingadequatetestingtime.
OverlookingRequirements:Thiswouldhaveacriticalaffectontheprojectshouldrequirementsbediscovered
toolate.Hopefully,withreviewbyallstakeholders,allRequirementswillbeidentifiedatthisearlystage.
Timespentonsecondaryfunctionsimpactingdevelopmentofkeyfunctions:Especiallywhentimeissoshort
itisimportanttoensurethattheprojectsmainfunctionalityisgivenpriority.
FailureatDemoStage:Byensuringpropertestinghasbeenperformedthiswillbeavoidable.
WORKPLAN
1.
2.
3.
4.
5.
6.
7.
8.
9.
InitialResearch
ProjectDefinitionDocument
2.1. DraftPDD
2.2. FinalPDD
ProjectWebPage
3.1. CodeSite
3.2. UploadSite
FurtherResearch
ClientDevelopment
5.1. DesignPhase
5.2. CodingCoreFunctionality
5.3. CustomisingXMLstreamtoServer
5.4. GUIDevelopment
5.5. Testing
ServerDevelopment
6.1. DesignPhase
6.2. CodingCoreFunctionality
6.3. CustomisingXMLstreamreception
6.4. ImplementingXMLRelationshipDataStorage
6.5. Testing
VisualisationDevelopment
7.1. FurtherResearchFlash
7.1.1. FlashnodevisualisationDevelopment
7.2. FurtherResearchXML
7.2.1. DefineXMLrelationshipsStorageSchema
7.3. DesignPhase
7.4. DevelopJavaWebApplicationtohostflashandothervisualisations
7.4.1. DevelopTagCloudVisualisation
7.5. Testing
SystemTesting
FinalReport
P a g e |10
VisualisingSocialNetworks|PDD
GANNTCHART
P a g e |11
VisualisingSocialNetworks|PDD
WORK BREAKDOW
WNSTRUCTTURE
MILESTTONES
ProjectDefinitionDocumeent
Fridaay,26thOctober2007
WebPageSummarisingProject Fridaay,9thNovem
mber2007
o Alreaadyliveathtttp://danu.it.nuigalway.ie/vsn
FinalProjectReport
April3rd,2008
hDemonstration
April7th,2008
8.
ProjectBench
WeeekBeginningA
ProjectVivaV
Voce
WeeekBeginningA
April14th,200
08.
P a g e |12
VisualisingSocialNetworks|PDD
REFERENCES
Adobe.2007,AdobeFlashFeatures,AdobeFlash,[Online]
Availableat:http://www.adobe.com/products/flash/features/
IgniteRealtime.2005,SmackXMPPClientAPI,Smack,[Online]
Availableat:http://www.igniterealtime.org/projects/smack/index.jsp
JabberSoftwareFoundation.2004,ExtensibleMessagingandPresenceProtocol(XMPP):Core,XMPP
StandardsFoundation,[Online]
Availableat:http://www.xmpp.org/rfcs/rfc3920.html
JabberSoftwareFoundation.2004,ExtensibleMessagingandPresenceProtocol(XMPP):InstantMessaging
andPresence,XMPPStandardsFoundation,[Online]
Availableat:http://www.xmpp.org/rfcs/rfc3921.html
Kerman,P.2003,SamsTeachYourselfMacromediaFlashMX2004in24Hours,
Sams,Indiana.
Maruyama,H.,Tamura,K.,Uramoto,N.1999,XMLandJava:DevelopingWebApplications,
AddisonWesley,Boston.
Microsoft.2007,Silverlight:Whitepapers,MicrosoftSilverlight,[Online]
Availableat:http://silverlight.net/learn/whitepapers.aspx
Moock,C.2002,ActionscriptforFlashMX:TheDefinitiveGuide,2ndedn,
OReilly&Associates,SebastopolCA.
TrampolineSystems.2005,EnronExplorer,TrampolineEnronExplorer,[Online]
Availableat:http://enron.trampolinesystems.com/
VisualComplexity.2007,Projects,VisualComplexity,[Online]
Availableat:http://www.visualcomplexity.com/vc/
Young,M.J.2002,XMLStepbyStep,2ndedn,
MicrosoftPress,Washington.
P a g e |13
VisualisingSocialNetworks|PDD
APPENDIXA
ThisisasampleTagCloudproducedusingawebtool.ItvisualisesthecontentofthisPDD,usingallwordsas
tags.
P a g e |14