don't re-invent the genealogy app wheel
TRANSCRIPT
![Page 1: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/1.jpg)
DON'T RE-INVENT THE GENEALOGYAPP WHEEL
A PLATFORM FOR PERSONAL FAMILY-TREESby Dallan Quass / [email protected]
![Page 2: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/2.jpg)
UNDER CONSTRUCTION
![Page 3: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/3.jpg)
PERSONAL FAMILY-TREESOwner decides who to let in
![Page 4: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/4.jpg)
SUPPOSE YOU WANT TO CREATE AFAMILY TREE TOOL
![Page 5: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/5.jpg)
OPTIONSBuild on top of FamilySearch - limited user baseBuild on top of MyHeritage - read-onlyBuild on top of Ancestry Trees - no APIBuild your own tree manager
- lots of foundation code to write- grow user base ( marketing $ )
![Page 6: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/6.jpg)
WE NEED A PLATFORMFor personal family trees, like FamilySearch is a platform for
a shared family tree
![Page 7: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/7.jpg)
PLATFORM BENEFITSFoundation code writtenGEDCOM importGEDCOM exportREST APIOAuth support
![Page 8: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/8.jpg)
MORE BENEFITS (LATER)Open-source web, desktop, and mobile clients
Plug your tools into these clientsClients written using web components
Embed components into your own app
![Page 9: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/9.jpg)
EVIDENCE-BASED DATA MODEL
![Page 10: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/10.jpg)
EVIDENCE-BASED ADVANTAGESMore funBetter model for collaborationIncrease chances to get new people involved
![Page 11: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/11.jpg)
WHY ADOPT THE PLATFORM?
![Page 12: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/12.jpg)
ADVANTAGESBack-end code writtenLess custom code to writeDon't need to spend money growing your user baseFree, hosted serviceSimple REST APIEvidence-based approach
DISADVANTAGESDepend upon external entityLoss of control over back-end storage
![Page 13: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/13.jpg)
WHAT'S THE CATCH?
![Page 14: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/14.jpg)
PRICINGFOLLOW GITHUB'S LEAD
Free for public treesAd supportedUp to ~100Mb image storage
Low annual fee for private treesNo adsAdditional image storage
![Page 15: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/15.jpg)
ROADMAP
![Page 16: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/16.jpg)
ROADMAPFeb 2015 Request for CommentsMar 2015 Limited beta - serverQ2 2015 Public beta - serverQ3 2015 Web clientQ4 2015 Mobile clientQ1 2016 Desktop client
![Page 17: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/17.jpg)
DIVE INTO THE DETAILS
![Page 18: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/18.jpg)
DATA MODEL COMPARISONGed GedX FS DeadEnds STEMMA This
Person X X X X X X
Event X X X Post
Source X X X X X Post
Note X X X X X Post
Discussion X Post
Memory X Post
![Page 19: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/19.jpg)
PERSONFollows GedcomX
IDLivingGender // same as GedcomXNames // same as GedcomXFacts // same as GedcomXIdentifiers // for collaborationAttribution // contributor, last-modified, change-messageChangeID // change records track changes
![Page 20: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/20.jpg)
POSTSuperclass of Event, Source, Note, Discussion, and MemoryIDEventType // e.g., BirthDatePlaceSubjectTextURL // external URLSourceCitationMediaID // uploaded image/docMediaType // e.g., image/jpegTagsIdentifiersAttributionChangeIDStatus // e.g., draft, active, discreditedEventRoles // one for each person in photo/record PersonID RoleType // e.g., father, mother, child Fields Label // e.g., age Value
![Page 21: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/21.jpg)
COMMENTPosts can have comments
IDPostIDTextIdentifiersAttributionChangeID
![Page 22: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/22.jpg)
CHANGEChange records track changes
IDTargetIDTargetPrevChangeID // ID of previous Change record for TargetReverseDelta // in json patch formatAttribution
![Page 23: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/23.jpg)
DATA MODEL COMPARISONGed GedX FS DeadEnds STEMMA This
Family X X
CoupleRelation
X X Family
Child-ParRelation
X Family
Place X X X X use FS
Agent X X X
Document X
Media X X X
![Page 24: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/24.jpg)
FAMILYCombines GedcomX Couple Relationship with FamilySearch
ChildAndParents Relationship
IDCouple // GedcomX couple relationshipChildren // array of FamilySearch ChildAndParents relationshipsIdentifiersAttributionChangeID
![Page 25: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/25.jpg)
REST-ISH APIGET, POST, PUT, DELETE verbsNo unique content types - everything is application/json
If you request a person, you get back a personIf you request an event, you get back an event
API version is part of the request URIHATEOS?
![Page 26: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/26.jpg)
REQUEST FOR COMMENTS
![Page 27: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/27.jpg)
STARTUP WEEKEND
![Page 28: Don't Re-Invent the Genealogy App Wheel](https://reader030.vdocuments.mx/reader030/viewer/2022032504/55c48c7fbb61eb653c8b466d/html5/thumbnails/28.jpg)
CONCLUSIONDallan Quass - [email protected]