Relative Finder Facebook Application: Generating Genuine ... · Facebook helps users invite their...
Transcript of Relative Finder Facebook Application: Generating Genuine ... · Facebook helps users invite their...
RelativeFinderFacebookApplication:GeneratingGenuineInterestinGenealogyC.MichaelNelson,ComputerScienceDepartment,BrighamYoungUniversity,[email protected]
ThomasW.Sederberg,ComputerScienceDepartment,BrighamYoungUniversity,[email protected]
Abstract“AmIrelatedtoanyofmyfriends?”isadifficultquestiontoanswer.Inanefforttoprovideaneasysolution,wepresenttheRelativeFinderFacebookApplicationwhichusespedigreeinformationfromNewFamilySearchandlogicfromtheRelativeFinderwebsite.ItallowsuserstodiscovertheirfamilialrelationshiptoFacebookfriends,easilyshareresults,andinviteotherstoparticipate.Byfindingusers’familialrelationships,moregenuineinterestingenealogymaybegenerated.
IntroductionTheRelativeFinderwebsite(previouslyknownasRelationshipFinder,relativefinder.org)findstherelationshipsbetweenusersandfamouspeople,andhasthepotentialtogeneratemoreinterestinfamilyhistory.However,afterbeingavailablefornearlyadecade,wefeelitisstillunder‐utilized.
TheRelativeFinderFacebookApplication(apps.facebook.com/relativefinder)hasbeendevelopedtoincreaseusabilityandshare‐abilityoftheRelativeFinderwebsite’sfunctionality.ItusesNewFamilySearch’sancestralinformation,Facebook’ssocialnetworkingabilities,andRelativeFinder’sback‐endlogictofindandsharehowusersarerelatedtoFacebookfriendsandfamouspeople.
Itismorethanjustachangeofuser‐interfacefromthewebsiteversionofRelativeFinder.TheFacebookapplicationmakesfindingyourrelationseasier.UnliketheoriginalRelativeFinderwebsite,itdoesn’trequirethecreationofauseraccount,groupsandpasswords,havinggroup‐admins,orpublishingreports.UserssimplyauthorizetheapplicationtoaccesssomeoftheirinformationfromFacebookandNewFamilySearch,andthenstartfindingrelations.
HowitForwardsFamilyHistoryTechnologyIfyouwantedtoseehowyou’rerelatedtopeoplearoundyou,howwouldyougoaboutit?
Acomparisonoffamilytreesispainstakinglyslow.NewFamilySearch’sAPIdoesallowyoutofindhowusersarerelatedtooneanother,butnottolivingpersons.Severalapplicationshavediscoveredusers’relationshipstofamouspersons,butnotnecessarilytootherusers(IvieandIvie2010).
ThewebsiteversionofRelativeFinderisdevelopingabetaversionwhichalsousesNewFamilySearch,butthisversionoperatesbestforwell‐organizedgroups(likecollegeclasses,businesses,orchurch
congregations)notfordispersedoneslikefriend‐networks(seethesectiontitled“HowFacebookImprovesRelativeFinder”formoreinformation).
Asidefrompossiblyputtingdistantcousinsincontact,RelativeFinderdoesnothelpindiscoveringnewancestralinformation–soofwhatuseisit?Simplyput:itgeneratesmoregenuineinterestingenealogy.
TheLDSChurchemphasizesheavilytheimportanceoffamilyhistory,andalthoughmostmembersfeelitsimportance,familyhistoryworkisrarelydone(CharlesKnutson2009).AsDr.Knutsonpointedout,perhapsindividualswoulddomorefamilyhistoryiftheyfounditmoreinteresting.
TheRelativeFinderFacebookApplicationgeneratesinterestforfamilyhistory.AccordingtoProfessorSederberg,peoplehavebeenbroughttotearswhentheyseetheirrelationswhileusingRelativeFinder(Sederberg2010).Isn’tthefactthatateenisrelatedtoagirlthey’redatingworthtalkingabout?Wouldn’thistorybemoreinterestingifastudentknewtheirrelationshiptothepeopleinit?Facebookmakesthesharingandacquiringofthisinformationeasierandhopefullycanmakefamilyhistoryamoreinterestingtopicforbotholdandyoung.
HowFacebookImprovesRelativeFinderInordertoseewhytheRelativeFinderFacebookApplicationisanimprovementfromtheoriginalwebsiteversion,itisgoodtocomparetheirusecases.
Ifyouwanttoseehowyou’rerelatedtoyourcircleoffriendsandthenshareyourfindings,thestepstofollowareassuch:
RelativeFinderWebsiteVersion RelativeFinderFacebookApplicationVisitwww.relativefinder.org Accepta“RelativeFinderRequest”fromafriend
(orvisitapps.facebook.com/relativefinder)CreateanaccountontheRelativeFinderwebsite EnteryourNewFamilySearchcredentials EnteryourNewFamilySearchcredentialsCreateagroupandgrouppassword Talkto/emaileachofyourfriends,invitingthemtoalsocreateaRelativeFinderaccountandthenjoinyourgroupbyenteringthename,password,andyourgroupownercode
(Optional:ifnofriendsuseit,invitefriendstouseitbyclickingontheirnamesand“InvitetoUseRelativeFinder”)
Onceallyourfriendshavejoinedthegroup,runareport(ie:findhowyou’rerelated)
Click“FindRelatives:FacebookFriends”toviewrelations
Forwardinformationaboutthereporttoyourfriendsbyeitherprintingofftheresultsoremailingthem
Findsomewaytopublishtheresultsyou’reespeciallyexcitedaboutbyeithertalkingaboutit,bloggingaboutit,postingittoFacebook,etc.
PublishyourfindingsonyouFacebookwalltosharethem
Facebookfacilitatesfindingcontactinformationforfriends,invitingthosefriendstousetheapplication,informingfriendsofrelationship‐results,andsimplifiesauthenticationandtheprocessoffindingrelatives.
Facebookhelpsusersfindtheirfriends’contactinformation.ServicesprovidedbyFacebookinclude:importinginformationfromtheiremail’scontactslist,allowinguserstotransitivelyseetheirfriends’friends(i.e.:findingfriendsoffriends)anddeducingwhomightbeyourfriendsbecauseofmultiplesharedfriends.TheRelativeFinderFacebookApplicationcansimplyrequestthisinformationfromFacebook,insteadofrequiringtheusertofindtheirfriends’contactinformation.Facebookisalreadycommonlyused(theFacebookBYUnetworkhas52,101members(Facebookn.d.))sotheworkoffindingfriends’contactinformationhasalreadybeendonebyusers,andneednotberepeatedwhentheywanttouseRelativeFinderonFacebook.
Facebookhelpsusersinvitetheirfriendstousetheapplication.Facebook’sAPIisasimpleinterfacethatcanbeusedtoeasilyembedaprofessional‐lookingwindowinsideRelativeFinderonFacebookwhichhasalistofallusers’friends,whosepicturestheyclickontoinvitetousetheapplication.AninvitationissentgivingtheinviteetheoptiontoacceptanduseRelativeFinderornot.Iftheyclicktoaccepttheinvitation,theyareredirectedtoRelativeFinderonFacebookanditissavedintheirlistofusedapplications.
Facebookfacilitatessharing/publishinginformationfromtheapplication.Newsispostedonauser’s“wall.”(Auser’s“wall”isapageonFacebookwhereusersposttheirnewsandannouncementsforotherstosee.)Facebookusersalreadycheckeachother’s“walls”periodicallytostayup‐to‐datewiththeirfriends,sothisisanaturalplaceforpeopletobroadcasttheirnewfoundrelatives.NotonlyRelativeFinderFacebookApplicationuserswillbeawareoftheirfindings,butalloftheirFacebookfriendsaswell.
Facebooksimplifiesuserloginauthentication.RatherthanrequiringtheusertosetupanewusernameandpasswordwhichisRelativeFinder‐specific,Facebook’sAPIcanbeusedtoidentifytheuseraccordingtotheirFacebookID,andverifytheiridentity.Thisalsoprovidestheadvantagethatnotonlyisitsimplerfortheusertouse,buttheproblemofauthenticatingtheuserandstoringencryptedpasswordsisofnoconcerntothemaintainersoftheFacebookapplication.
Lastly,FacebooksimplifiestheprocessoffindingrelativesbyautomaticallycreatingRelativeFinderGroups.Aspreviouslyshowninthissection,inordertofindausers’relatives,theymustfirstbecomeamemberofa“RelativeFinderGroup.”Thisgroupdefineswithwhomrelativesmaybefoundwhenthebackendsearchesforrelatives.Theprocessofcreating,invitingpeopleto,andjoininggroupsisalittlecumbersome.Whilenotoverlydifficult,itdoesrequirequiteabitoforganization.
TheprocessofcreatingRelativeFinderGroupsisautomatedintheFacebookapplication.Facebook’sAPIallowsfordiscoveryoftheuser’sfriendswhousethissameapplication.Thisinformationisacquired,andaRelativeFinderGroupisautomaticallycreatedwiththeseindividualsinit.Thus,theuserneedneverevenknowaboutRelativeFinderGroups.
Table1FeaturesProvidedbyRelativeFinderWebsiteVs.FacebookApplication
StandardWebsite
FacebookApplication
FindingFriends’ContactInformation InviteFriendstoUseApplication
FindRelationshipstoOtherUsers NotifyOtherUsersofRelation‐Information PublishInformationtoNon‐ApplicationUsers LoginAuthenticationProvidedbyFacebook AutomaticCreationof“RelativeFinderGroups”
WhatdoestheRelativeFinderFacebookApplicationOfferthatotherFacebookApplicationsDon’t?ThereareotherFacebookApplicationsthatoffersimilar‐soundingfeatures,suchasFamilyTree(FamilyTreen.d.)andWe’reRelated(We'reRelatedn.d.).BothoftheseapplicationsallowyoutodesignateFacebookusersasrelativesandcreateafamilytree.Theyfindrelativesbasedontheinformationyouspecify.
Whattheylack,thattheRelativeFinderFacebookApplicationhas,isNewFamilySearchintegration.Thisapplicationdoesn’trequireyoutoenteranyancestralinformation;instead,itusesthewealthofinformationalreadycontainedinNewFamilySearch.Thispreventshoursofinputtingthisinformationmanually,oftencopyingitfromNewFamilySearchanyway.
Also,nootherFacebookApplicationcanfindusers’relationshiptofamousindividualslikeU.S.presidents,EuropeanRoyalty,andthelike.
HowRelativeFinderFindsRelativesAspreviouslymentioned,theRelativeFinderFacebookApplicationusesthesamebackendforfindingrelativesastheoriginalwebsiteversion.Thus,whilenosignificantdevelopmentsweremadetoimprovetheprocessoffindingrelatives,itmaybeofinteresttosomereaderstoknowhowitworks.
ThewebsiteversionofRelativeFinderexistedbeforeNewFamilySearch,andthuswasnotoriginallybuiltonNewFamilySearch’sAPI.ItusedtheAncestralFiledatabasetofindrelatives,andhasonlyrecentlyincorporatedNewFamilySearchdata.
AncestralFileisalineage‐linkeddatabasewhichwascompiledfrom1978to2000containingover36millionnames.Anadvantageofusingthisstaticdatabaseisthat,becauseinformationinitisnolongerchanging,itscontentscanbestoredlocallywithconfidencethattheyareaccurate.Thereisnoneedtoeverupdateit,andsearchingonthislocally‐storedinformationismuchfasterthanmakingrepeatedrequeststoNewFamilySearch’sAPI.
AcleardisadvantagetousingAncestralFile,however,isthatiftheuser’sdataisn’tfoundinit,it’suselessforfindingtheirrelatives.Theycan’tevenaddthemselvestoit.ThewebsiteversionusedtoresolvethisproblembyaskinguserstoindicatetheirclosestrelativeinAncestralFile.
WiththeintroductionofNewFamilySearch,theprocessoffindingrelativeswassignificantlysimplified.WhileRelativeFinderstillprimarilyusesAncestralFiletofindusers’relatives,itusesNewFamily
Search’sdynamically‐growingdatabaseto“fillinthegaps”,andespeciallytofindhowuserslink‐intoAncestralFile.NewFamilySearch’sAPIallowsdeveloperstorequesttheAncestralFileNumberofanindividualinNewFamilySearch,andthusidentifymatchesbetweenthetwodatabases.
UsingbothAncestralFileandNewFamilySearchrepresentsatrade‐offbetweenspeedandaccuracy.WhileitispossiblethereareconflictsbetweentheNewFamilySearchandAncestralFileinformation,thesedifferencesusuallyonlymeanRelativeFinderwilldiscoveraless‐directlinkbetweenindividuals–itwillnotmissfindingtherelationshipentirely.
HowTheRelativeFinderFacebookApplicationWorksTheapplicationacquiressomeinformationfromFacebook,somefromNewFamilySearch,andsomefromtheRelativeFinderwebsite’sbackend.
Figure1CommunicationChannelsinOperationoftheFacebookApplication
Figure8providesasimplificationofhowinformationistransferredintheoperationoftheapplication.Formostpageswithintheapplication,therequestisactuallysentfirstfromtheusertoFacebook(arrow1infigure8),whichinturnrequestssomeinformationfromourserver(2).OurserverprocessestheinformationinPHP,andthensendsaresponsewritteninFBML(FacebookMarkupLanguage)toFacebook(2).Facebookparsestheresponse,andrespondstotheuserinaformattheuser’sinternetbrowsercandisplay(1).
Whentheuser’sNewFamilySearchcredentialsarerequested(asinfigure3),theuserisactuallydirectedtoaNewFamilySearchpage(3).OnceNewFamilySearchauthenticatestheuser,theyareredirecteddirectlytoourserver(4)(inthisspecialcasetheyarenotsenttoFacebook)withanauthenticatingcookie.OurserverusesthekeycontainedinthatcookietodirectlyrequestinformationfromNewFamilySearch(5).Werequestinformationon5generationsofthecurrentuser’sfamilytree,andonlystoreasmuchasisnecessarytolinkintoAncestralFile.Onceourserverisdonerequestingpedigreeinformation,werequestthecurrentuser’sNewFamilySearchPersonID(3)andtheir
FacebookID(2)andlinkthetwotogetherinourdatabase.Finally,theuserisagainredirectedbacktoFacebook(1)torenderthesubsequentpage.
ApplicationinvitationsandwallpublicationsaredonenearlyentirelybyFacebook.OurserverspecifiessomedetailsabouthowtheseshouldbedisplayedintheFBMLsenttoFacebook(2),buttheyarestoredandmaintainedbyFacebook.
Whentheuserrequestsareport(ie:onceithasthenecessaryinformationfromNewFamilySearchandtheuserrequeststofindtheirrelatives),theysendarequestdirectlytoourserver(4).Theserver‐endPHPcodethencallsthesameback‐endCcodeasthewebsitetofindrelatives(thecodeisreusedinordertoreducecode‐duplication).Thewebsiteissetuptofindrelationsbetweenuser‐definedgroups,sotheFacebookapplicationcreatesatemporarygroupoftheuser’sfriends(thelistoffriendsisacquiredfromFacebook(2))andrunsthetestonthatgroup.Afterthetestisrun,theCcodeproducesanXMLdocument,whichthePHPcodeparses,andsendsthecorrespondingFBMLtoFacebook(2)tobeforwardedontotheuser.
Inordertoreducecodeduplication,theRelativeFinderFacebookApplicationusesweb‐serviceswhichareveryfamiliartoFacebookdevelopersandNewFamilySearchdevelopers(althoughthecombinationmaybenovel).ItalsomakesuseofRelativeFinderCcodeanddatabasewhichwaspreviouslyestablishedforthewebsiteversion.CodereusenotonlyreducesmaintenancecostsoftheRelativeFinderFacebookApplication,butitalsomakescodemoreunderstandablebythosefamiliarwiththerespectivecodebases.
WalkthroughofApplicationVisitapps.facebook.com/relativefindertoviewtheapplication,oriewthissamplewalkthroughofoneuse‐case.
Figure2
Typically,auserwillbeinvitedtousetheapplicationviaanApplicationInvitation,showinFigure1.Theuserclick"Accept"toaddandberedirectedtotheapplication.
Figure3
Afterclicking“Accept,”theuserisredirectedtothewelcomepage,showninfigure2.IftheuserisunfamiliarwithNewFamilySearch,therearelinkstoexplainhowitisused.Otherwise,theusermayimmediatelyentertheirNewFamilySearchInformation(orcredentials).
Figure3showstheNewFamilySearchpagewheretheuserenterstheircredentials.
Figure4
Figure5
AftertheapplicationacquiresthenecessaryinformationfromNewFamilySearch,theuserreturnstotheapplication,asseenonfigure4.Theusernowhastheoptionstobeginfindingtheirrelatives,asshownbythelinksontheleft.
Figure6
Uponclicking“FindRelatives:FacebookFriends,”theuserseesthelistoftheirfriendscurrentlyusingtheapplication(figure5)amongwhichtheapplicationwilltestforrelations.
Figure7
Afterclicking“FindHowI’mRelated”,theresultsaredisplayedasshowinfigure6.Theusercanviewtheirintersectingfamilytreesbyclicking“SeeHowYou’reRelated”,andtheycanpublishthisrelationtotheirFacebookWallbyclickign“PublishtoWall.”
Figure8
Figure7showsasamplewallpost,showingthattheuser’snewlyfoundrelation.
ConclusionAfairdegreeofperformance‐optimizationanduser‐interfaceimprovementsareunderway,buttheapplicationisusableandservesitsbasicpurpose:tohelpusersfindtheirrelativesamongtheirfriendsandfamouspeople,andbysodoinggeneratemoreinterestinfamilyhistory.
Otherfuturedevelopmentshavebeenconsidered.Amongthesefeaturesinclude:
• findingallauser’s4thor5thcousinsamongallconsentingusers,notjustFacebookfriends• integrationwiththeRelativeFinderwebsite,allowingauserwithanaccountontheFacebook
applicationtoautomaticallyhaveaworkingaccountonthewebsite,andvice‐versa• findingrelationsamongimportantdeceased‐individualswhoaren’twithinourbuilt‐ingroups
(ie:U.S.presidents,EuropeanRoyalty,LDSChurchprophets)
Forthetimebeingourprimaryfocusisonverifyingtheprogram’sfunctionality,andpromotingthisapplicationwefeelwillmakefamilyhistoryatopicofinterestandstudyformanymorepeople.
BibliographyCharlesKnutson,JonathanKrein."BYUSEQuOIAPublications."BYUSeQUOIA.2009.http://sequoia.cs.byu.edu/?page=papers(accessed124,2010).
Facebook.http://www.facebook.com/editaccount.php?networks(accessedJanuary5,2011).
FamilyTree.http://apps.facebook.com/familytree/(accessedJanuary5,2011).
Sederberg,ThomasW.,interviewbyC.MichaelNelson.(78,2010).
We'reRelated.http://wererelated.familylink.com/index.php(accessedJanuary5,2011).