don't re-invent the genealogy app wheel

28
DON'T RE-INVENT THE GENEALOGY APP WHEEL A PLATFORM FOR PERSONAL FAMILY-TREES by Dallan Quass / [email protected]

Upload: familysearch

Post on 07-Aug-2015

34 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Don't Re-Invent the Genealogy App Wheel

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

UNDER CONSTRUCTION

Page 3: Don't Re-Invent the Genealogy App Wheel

PERSONAL FAMILY-TREESOwner decides who to let in

Page 4: Don't Re-Invent the Genealogy App Wheel

SUPPOSE YOU WANT TO CREATE AFAMILY TREE TOOL

Page 5: Don't Re-Invent the Genealogy App Wheel

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

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

PLATFORM BENEFITSFoundation code writtenGEDCOM importGEDCOM exportREST APIOAuth support

Page 8: Don't Re-Invent the Genealogy App Wheel

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

EVIDENCE-BASED DATA MODEL

Page 10: Don't Re-Invent the Genealogy App Wheel

EVIDENCE-BASED ADVANTAGESMore funBetter model for collaborationIncrease chances to get new people involved

Page 11: Don't Re-Invent the Genealogy App Wheel

WHY ADOPT THE PLATFORM?

Page 12: Don't Re-Invent the Genealogy App Wheel

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

WHAT'S THE CATCH?

Page 14: Don't Re-Invent the Genealogy App Wheel

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

ROADMAP

Page 16: Don't Re-Invent the Genealogy App Wheel

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

DIVE INTO THE DETAILS

Page 18: Don't Re-Invent the Genealogy App Wheel

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

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

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

COMMENTPosts can have comments

IDPostIDTextIdentifiersAttributionChangeID

Page 22: Don't Re-Invent the Genealogy App Wheel

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

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

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

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

REQUEST FOR COMMENTS

Page 27: Don't Re-Invent the Genealogy App Wheel

STARTUP WEEKEND

Page 28: Don't Re-Invent the Genealogy App Wheel

CONCLUSIONDallan Quass - [email protected]