Vous êtes sur la page 1sur 14

V alising Soci

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

Vous aimerez peut-être aussi