Pages

Wednesday, February 5, 2014

#InnovatorSummit -- FamilySearch API #RootsTech

Preliminary note, one of the presenters asked for a show of hands for developers, business people and then genealogists. The overwhelming participants were genealogists.

This session was presented by David Hale and Vaughn Hepworth. Once again the API is an Application Programming Interface. This is what allows third-party access through instructions and protocols to information in the API website. This is what allows programs such as RootsMagic and Ancstral Quest to link to FamilySearch.org. To see the current list of FamilySearch Certified Programs go to this link. To see the tools and connections for developers go to https://familysearch.org/developers/ In order to access the information in the website, you need to request a developer's key from FamilySearch. If you don't understand what is going on here, that is entirely reasonable. This first day of the conference is mostly for developers and others who are in the development business. What am I doing here? Actually, I have been having a really good time talking to people and learning about the APIs and other things. I have talked to several programmers and others involved in specific programs for FamilySearch and other companies. These sessions are for people who are interested in developing software that can access parts of the FamilySearch.org software online. For example, if you were interested in developing a program for printing pedigree charts from Family Tree, you would use these tools to write your software so that it could access Family Tree for the basic information. Obviously, you need a pretty high tolerance for programming jargon, but in between, I get gems of insight into what FamilySearch is doing and what might be done in the future.

The FamilySearch Family Tree is Source Centric Open Edit. Source centric means the sources supporting the information is submitted by users and open edit means that any of the registered users can edit and make changes.

It is interesting to note that as FamilySearch changes its API that the developers are expected to gracefully handle the compatibility changes to the API. I assume that this could be a trying experience for the developers.

All I can say is the the audience was very attentive and hanging on every word that was said. This bodes well for those of us who are using programs because it means that we will not run out of really useful software anytime in the future.

The FamilySearch API uses the following data formats.

Each data format has an associated XML and JSON version.
If you make a GET request, specify the data format using the Accept header.
If you POST something, specify the media type using the Content-Type header.
Read more about data formats (i.e., "media types") on Wikipedia.
GEDCOM X
The GEDCOM X data formats define the core data formats for genealogical data.
application/x-gedcomx-v1+xml
application/x-gedcomx-v1+json
FamilySearch
The FamilySearch data formats provide extensions to the GEDCOM X data formats and are specific to the FamilySearch developer platform.
application/x-fs-v1+xml
application/x-fs-v1+json
Atom
The Atom data formats are used to provide lists (i.e., "feeds") of data. These feeds are used in ordered result sets, such as search results and change history.
application/atom+xml
application/x-gedcomx-atom+json

More about GEDCOM X in tomorrow's classes. I listed this to illustrate one of the facets of the use of GEDCOM X. This particular application of GEDCOM X would seem to be outside of the purview of file format universals, but this is where the changes are taking place. If major software and online database programs sign on to use the FamilySearch APIs implementing GEDCOM X, won't it become a defacto standard. 

By the way, this session also showed that create/edit Memories was in Beta under development. This means that they are working on allowing photos and stories to be edited. 


No comments:

Post a Comment