don't re-invent the genealogy app wheel

Post on 07-Aug-2015

34 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

DON'T RE-INVENT THE GENEALOGYAPP WHEEL

A PLATFORM FOR PERSONAL FAMILY-TREESby Dallan Quass / dallan@gmail.com

UNDER CONSTRUCTION

PERSONAL FAMILY-TREESOwner decides who to let in

SUPPOSE YOU WANT TO CREATE AFAMILY TREE TOOL

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 $ )

WE NEED A PLATFORMFor personal family trees, like FamilySearch is a platform for

a shared family tree

PLATFORM BENEFITSFoundation code writtenGEDCOM importGEDCOM exportREST APIOAuth support

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

EVIDENCE-BASED DATA MODEL

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

WHY ADOPT THE PLATFORM?

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

WHAT'S THE CATCH?

PRICINGFOLLOW GITHUB'S LEAD

Free for public treesAd supportedUp to ~100Mb image storage

Low annual fee for private treesNo adsAdditional image storage

ROADMAP

ROADMAPFeb 2015 Request for CommentsMar 2015 Limited beta - serverQ2   2015 Public beta - serverQ3   2015 Web clientQ4   2015 Mobile clientQ1   2016 Desktop client

DIVE INTO THE DETAILS

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

PERSONFollows GedcomX

IDLivingGender // same as GedcomXNames // same as GedcomXFacts // same as GedcomXIdentifiers // for collaborationAttribution // contributor, last-modified, change-messageChangeID // change records track changes

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

COMMENTPosts can have comments

IDPostIDTextIdentifiersAttributionChangeID

CHANGEChange records track changes

IDTargetIDTargetPrevChangeID // ID of previous Change record for TargetReverseDelta // in json patch formatAttribution

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

FAMILYCombines GedcomX Couple Relationship with FamilySearch

ChildAndParents Relationship

IDCouple // GedcomX couple relationshipChildren // array of FamilySearch ChildAndParents relationshipsIdentifiersAttributionChangeID

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?

REQUEST FOR COMMENTS

STARTUP WEEKEND

CONCLUSIONDallan Quass - dallan@gmail.com

top related