Posted by on May 21, 2014 in Development, Mobile, Web

Last October Ancestry.com acquired a very exciting property called Find A Grave which focused on collecting content around the graves of family, loved ones and famous people. With the acquisition we wanted to take Find A Grave to the next level and provide the current users new and better experiences around consuming and contributing content. Find A Grave has been around for over 15 years and has done a tremendous job of organically growing the website and user base.

Around the time of the acquisition I was asked to lead the engineering efforts, manage a successful transition and focus on new experiences. But this was a challenge because Find A Grave serves millions of page views a day, was running on a different web technology stack, sitting in a set of physical rack mount servers in a separate data center at the time and contains over 100 million photos and over 116 million memorials.

Our objective was to transition all hardware and code to a modernized infrastructure within a short amount of time to provide the Find A Grave users with a better performing experience (quick page load times) and support future scale and growth over the years.

We also knew we needed to build a mobile app; it just makes sense. One of the primary goals of users for the site is to go out into cemeteries and take photos of grave sites. Before the Find A Grave app it was an arduous and quite disconnected workflow to take photos of a grave site, come back home, download all of the photos to a computer and then upload each photo to the site one by one, etc. As you can see, if you have 100 photos to process this can be quite a pain!

So our goal is to make mobile front and center for Find A Grave and we started with iOS.

Building the Team

The first step was to build the team and get moving, and I quickly hired two amazingly talented iOS developers to focus on the iOS app, John Mead and Shengzhe Chen. John came from the freelance world working on many different iOS applications for different companies and startups. And Shengzhe was doing mobile payment development before joining Ancestry.com.

We then hired a backend engineer to come in and bring some really awesome skills to the team, Prasanna Ramanujam. He is currently positioning Find A Grave to be a very API driven application which allows us to work with many external clients from the ground up. Prasanna comes from NodePrime as an engineer on their Node.js related datacenter infrastructure, and previously from VMware doing Node.js evangelism.

Next we hired another full stack engineer hero, Bob Dowling, to first focus on building a new, modern and flexible fronted to the application. We want to provide a more snappy and performant fronted to the website that ever before which includes optimizations throughout the whole stack. Bob comes from the freelance world as well focusing on both mobile and web applications.

And just recently we have an awesome new intern helping out, Shruti Joshi, who will be working with us to get the new website built.

And of course our product owner Mike Lawless, our designer Jonathan Rumella and the founder of Find A Grave, Jim Tipton, who have all been a tremendous help with all aspects of the team.

Infrastructure

Within a few months we were able to migrate all infrastructure, photos, database and content to the Ancestry data center. It was a very complex task as we needed to keep the existing site running live during this whole process. We also wanted to modernize the infrastructure and virtualize everything in our private virtual cloud. Part of this was using Go for continuous integration and Chef for deployment and provisioning to our virtual instances. This will allow us to scale to future growth beyond the acquisition.

iOS

As a team we worked closely with our product manager, designer, and the Find A Grave founder to work through what we thought would be an amazing 1.0 iOS application. We were able to work very closely using some extremely lean principals to build quickly and efficiently. From conception to release the two person team was able to build a 1.0 release that contained over 10 major features to get a great mobile experience into our users hands in just about four months. We released the first version to the public at the beginning of March 2014 and we’re excited that millions of people will be able to use this over Memorial Day weekend to remember their loved ones. You can check out the app here.

Backend

Find A Grave grew as a Perl based web application over the past 15 years, so we are looking to build things from the ground up using Node.js. It works perfectly for our JSON API layer, provided great real-time support for our iOS app and works great for some of the new NoSQL infrastructure we’re putting in.

Website

We also know that the Find A Grave website needs a new, fresh facelift. Utilizing our UX team we are beginning to envision what that new look and feel looks like and trust us, it’s going to be amazing. This is where we are going to harness the power of a very client-driven web application that will utilize the new backend API services heavily using Backbone.js and Handlebar templating engine.

Accomplishments

To recap, we’ve built an amazing Find A Grave engineering team. We migrated all infrastructure in-house and virtualized everything through proper continuous integration and delivery platforms. We’ve released an iOS app with some more great features coming out soon. We’re rebuilding the backend from the ground up. Next on our list is giving the website a new facelift to provide a better user experience. Whew, that’s a lot in just 6 months to get started on.

We have a lot more to come so stay tuned.

About Robert Schultz

Robert is a Technical Director of Engineering at Ancestry.com for the mobile group. He has held multiple positions within the company since December 2010 including Senior Software Engineer and Senior Development Manager. Prior to joining Ancestry.com, he held several engineering roles at companies such as ShoWare, Fliqz and Getable. Robert has been programming since the young age of 8 when his father purchased a Commodore 64.

9 Comments

Mary Herzog 

I’ve been an active contributor to FindAGrave for almost five years. I like the look and feel of the website but I find the number of clicks necessary to create a memorial or to add a photo to be excessive. Please keep a goal of fewer clicks in mind as you redesign it. I use my iPhone to take photos but I have been reluctant to use the app because when I am out in the cemetary taking a row of pictures I have no idea whether or not there is already a memorial posted. I don’t to contribute any duplicates. Thank you, Mary

May 25, 2014 at 9:24 pm
    Robert Schultz 

    Hi Mary,

    Thank you for the feedback and it’s great to hear from a long time user as we really respect and value your feedback. Improving the user experience is one of our top priorities of the new design of the website as we want to make the overall process as simple as possible. I will communicate your feedback to the rest of the team.

    Regarding the iPhone version of the app, we are working hard to provide the best experience as possible. We just released a new 1.2 update which makes uploading photos easier than ever as they will upload in the backlog with some settings to minimize usage of your data plan. The next iteration of this will allow you to do more of a batch process so you take photos as quick as possible and come back later to attach them to the memorials.

    We appreciate your feedback and look forward to deliver the community more and exciting features in the future.

    May 26, 2014 at 3:26 am
Tessa Keough 

I notice this is for Apple/Mac. Any consideration being given to the many Android users or did I miss something? Thanks

May 26, 2014 at 2:58 am
    Robert Schultz 

    Hi Tessa,

    We are working towards supporting the Find A Grave experience on Android as soon as possible. As soon as we do we will make an announcement. Trust me, we are working hard to provide a great experience across all platforms.

    May 26, 2014 at 3:31 am
David Abernathy 

I have been a long time user of Find A Grave. I have been a member for over 7 years and submitted a few findings. But I have been a user for much longer that the 7 years.
Find A Grave is one of the first places I look when I get a new person to track down.

I would like a like to add the memorial url (not the search url) to FTM’s url list, but also be able to show these urls within a report and/or chart.

Also there needs to be a way to submit where the same grave and even cemetery is listed more than once. The cemeteries may change names or be known as different names by different people, but they are one and the same.

June 14, 2014 at 2:34 pm
Bruce Reeves 

I have not played with the app much to this point, but I will. The one thing I noticed today, that would probably help others, is possible a map entry into findagrave – so given where I am – it would show me on the map the cemeteries in the immediate vicinity.

I realize that not all cemeteries currently have GPS coordinates, but for those that do, that would be most helpful.

Thanks.

August 25, 2014 at 7:20 pm
Nigel Horne 

Will the API be published so that 3rd party applications could use it?

September 5, 2014 at 1:27 am
Jim Antley 

I am also interested in the API. I developed a findagrave family mapping web based application that no longer works.

October 23, 2014 at 7:31 am
Jim Antley 

My mistake, the application is working again. I had not checked it lately. Still interested in the API.

October 23, 2014 at 7:51 am

We really do appreciate your feedback, and ask that you please be respectful to other commenters and authors. Any abusive comments may be moderated.

Commenting is open until Wednesday, 4 June 2014