{"id":2873,"date":"2016-12-08T10:35:07","date_gmt":"2016-12-08T17:35:07","guid":{"rendered":"http:\/\/blog.rootsmagic.com\/?p=2873"},"modified":"2016-12-08T10:35:07","modified_gmt":"2016-12-08T17:35:07","slug":"an-open-letter-on-rootsmagics-sync-with-ancestry","status":"publish","type":"post","link":"http:\/\/blog.rootsmagic.com\/?p=2873","title":{"rendered":"An Open Letter on RootsMagic&#8217;s Sync with Ancestry"},"content":{"rendered":"<p>Years ago (back in the Family Origins days) I got burned giving a date for a feature we were adding, and I promised myself I would never do that again. \u00a0But users dislike uncertainty and like\u00a0to press us for an estimated release date. \u00a0Usually, I just say something like &#8220;it will be done when it is ready&#8221; and leave it at that. \u00a0When Ancestry and RootsMagic <a href=\"http:\/\/blog.rootsmagic.com\/?p=2612\" target=\"_blank\">announced our agreement<\/a> to create a version of RootsMagic which would be able to sync with Ancestry trees and display WebHints from Ancestry, we were bombarded with the question of &#8220;when?&#8221; \u00a0We usually don&#8217;t pre-announce upcoming features, but with this being a joint public announcement, the questions just kept coming.<\/p>\n<p>So, apparently not having learned my lesson, we picked the end of the year as a safe guess, even though we had no idea what the brand new API (the system that lets RootsMagic and Ancestry talk with each other) would be like, what problems we might encounter along the way, or what other non-related issues might temporarily take us away. \u00a0We&#8217;ve worked with API&#8217;s before, and have gotten pretty dang good at it. \u00a0We&#8217;ve even written code to sync with online trees (FamilySearch), so we&#8217;re experienced there as well. \u00a0And up until very recently, it still looked like we could meet that deadline.<\/p>\n<p>But to be honest, I underestimated the amount of time necessary to finish and properly test this awesome new feature.<\/p>\n<ul>\n<li>I <strong><em>did<\/em><\/strong> take into account that we needed to wait for the new API, and we were able to use that time to work on some underlying code needed for syncing and hints.<\/li>\n<li>I <strong><em>didn&#8217;t<\/em><\/strong> take into account that is was a <em>brand new<\/em> API, one that no other company had ever worked with before. \u00a0It&#8217;s easy to work with an existing API&#8230; there&#8217;s tons of documentation, and other programmers write about the pitfalls they encountered working with it. \u00a0With a new API, there is limited documentation, and you get to spend a lot of time doing trial and error to find out what the API expects.<\/li>\n<li>I <strong><em>didn&#8217;t<\/em><\/strong> take into account that the API might be missing functions which we needed. \u00a0When this happened, Ancestry has been <span style=\"text-decoration: underline;\">great<\/span> about providing those missing functions, but it still takes time.<\/li>\n<li>I <em><strong>didn&#8217;t<\/strong><\/em> take into account how often programmers would need to be pulled-off to put out fires in other areas of the program or with other APIs.<\/li>\n<li>I <em><strong>didn&#8217;t<\/strong><\/em> take into account the fact that we would tear out and rewrite large amounts of code several times when we found a faster or better way to do something.<\/li>\n<\/ul>\n<p>So the bad news is that the Ancestry sync features won&#8217;t be released by the end of the year. But the good news is that it is close, it looks amazing, and we aren&#8217;t talking about a huge 6-month delay or anything like that. \u00a0We know many of you are excited to share your data between RootsMagic and your Ancestry tree, and we are excited to be working to offer it. \u00a0We just want to make sure that when we release these new features, you can depend on them working right, and keeping your data safe.<\/p>\n<p>So where are we now? \u00a0We have early testers working with it and still have some more code to write . \u00a0Since even a small bug in sync code can cause tremendous damage to a data file or online tree, we want to make sure it is stable before turning more testers loose on it. \u00a0Once we&#8217;re confident it is stable, we will turn it over to even more testers.<\/p>\n<p>If you are interested in being one of those beta testers, <a href=\"https:\/\/www.surveymonkey.com\/r\/RMAMTTest\" target=\"_blank\">please fill out this application<\/a>.<\/p>\n<p>And for everyone wanting to know the new exact release date&#8230; it will be done when it is ready. \u00a0I&#8217;ve learned my lesson (again).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Years ago (back in the Family Origins days) I got burned giving a date for a feature we were adding, and I promised myself I would never do that again. \u00a0But users dislike uncertainty and like\u00a0to press us for an estimated release date. \u00a0Usually, I just say something like &#8220;it will be done when it [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[],"_links":{"self":[{"href":"http:\/\/blog.rootsmagic.com\/index.php?rest_route=\/wp\/v2\/posts\/2873"}],"collection":[{"href":"http:\/\/blog.rootsmagic.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.rootsmagic.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.rootsmagic.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.rootsmagic.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2873"}],"version-history":[{"count":23,"href":"http:\/\/blog.rootsmagic.com\/index.php?rest_route=\/wp\/v2\/posts\/2873\/revisions"}],"predecessor-version":[{"id":2899,"href":"http:\/\/blog.rootsmagic.com\/index.php?rest_route=\/wp\/v2\/posts\/2873\/revisions\/2899"}],"wp:attachment":[{"href":"http:\/\/blog.rootsmagic.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2873"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.rootsmagic.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2873"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.rootsmagic.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}