Pivot idea: Consider using the chart tool to map out relations of characters in stories, TV shows, legal cases, etc.
Service integration (client): Consider if your tree could fit in as a GSuite add-on: https://developers.google.com/apps-script/add-ons/
Service integration (host): create REST API's, or language libraries for people to use your tool programatically
Viral idea: Consider offering family trees for free so Wikia pages can link to them
Viral idea: Consider an embeddable app with zooming/panning that media websites and pay a monthly fee to integrate
Viral idea: Consider an import/export JSON schema users can use to share their graphs
http://img13.deviantart.net/4a05/i/2011/253/c/b/x_men_family... (and that's just the tip of the iceberg!)
Real family tress don't have to worry about time travel or cloning, of course, but that crazy stuff does actually serve as a reasonably good proxy of some of the strangest family trees out there (medieval European nobility, extended families with multiple divorces and remarryings, etc).
This is reasonably easy to use and build out a simple tree. Here are two opportunities:
1) There are some UI areas that aren't totally intuitive (e.g., double click to add name), and generally it feels to "clicky" (e.g., too many clicks to get to the action I want). I think your goal is super-simple and "delightful" vs. full-featured.
2) The 1:1 relationship lines get complex, as every parent is linked to every child (so you end up with 2n lines that all overlap).
So Ancestry.com is a good place for research and for family tree management. I've set up the second half of my stack to generate HTML files, which I keep (publicly) on my personal site.
and I don't even know who my grandfather was...
I'm the kind of person that likes 100% completion in my video games, so the idea of "filling in" all the gaps is satisfying to me. The amount of public records on BMD (birth, marriage, and death—the "holy trinity" of genealogical data points) is staggering in most countries. From census and SSA records in the U.S. to parish records in Scotland, you can find a lot of information.
Ups, no upload feature (yet) - That would make it much more usable.
I don't know what your goals are with this though. I don't want to be the bearer of bad news, but to 'genealogy enthusiasts', ie the people regularly spending money in this domain, your website is no more than a toy. In fact, I'm pretty sure that Ancestry.com offers this same tree building functionality for free (when you pay for a subscription with them, it is for the research capability, not the data entry capability).
Then I've come up with this: https://github.com/fiatjaf/rel, which is a simple way to create triples, then render dot graphs, or any template actually, with them. The database is actually a bunch of YAML files representing each node in the graph (the relationships are stored in the nodes' files also).
It's still a nice UI for the primary task.
There might be some people posting "why didn't you just..." but I used this to show my kids their family tree and they really liked it.
Freeloaded though, so you need a way to compell people to pay (say extra large posters of the tree).
Fyi. The church of latter day saints (Mormons) have familysearch.org which has circles to show generations. The church has for decades housed and built the largest library for finding relatives. I believe this is because once you enter the church you can "save" all your deceased relatives going back as far as you can.
The tree is really not important to genealogy nuts....
The standard way for family trees to link children with parents is through the relationship of the parents. Did you avoid doing that on purpose?
The problem with having a separate parent/child link for every parent/child relationship is that it gets very crowded if the parents have several children.
You'd have a pink relationship line for each partnership (that will be the same and just as messy in both approaches)
Then you'd have one child line from each relationship line to each of the children that came from that relationship, rather than two for each child.
So in a situation where Angus had 2 children with each of Beatrix and Chloe, you would have two child lines from the Angus-Beatrix relationship line and two from the Angus-Chloe line, rather than a total of 8 lines to show all the parent-child relationships in your current approach.
If Chloe also had two children with David then your approach would add a relationship line and another four child lines whereas the standard approach would just add the relationship and two more child lines.
It struck me that a simple directory structure with info about each person in each directory, text files with info in, and then tar'd up would be about the most future-proof format you could get.
Anyone else thought about this?
I hate to recommend them, but ancestry.com has one of the best interfaces in a SaaS product, with a ton of data on the back-end if you are doing research. An actual application (Family Tree Maker comes to mind, but don't quote me or take that as a recommendation) might be better for just "documenting" research.
Also, I know people who work for ancestry, and the general thinking is it's hard to update old interfaces for a newer generation when a very important public is 50+.
I agree it is widely supported.
One thing to watch out for with export is whether you are working with data that doesn't make it into the gedcom file.
I should have read your comment before posting my shameless self-promotion, but here am I posting my super simple, customizable and future-proof tool again: https://github.com/fiatjaf/rel
(read about it on my comment at https://news.ycombinator.com/item?id=14849823)
Here's a demo of the same old C Graphviz program running on JS: http://viz-js.com/
Also, depending how you want to grow, fb login is typically the most successful one.
- Please make sure forms can be validated with enter, an not just by clicking a button (use for onSubmit)
- allways auto-focus most important input of form (like a person's name) when opening it (at least when it's empty)
-after adding a person, open the form immediately
- when tree is empty, put the + button in the center of the screen, big, and with explaination. THen, make a transition to put it back to it's normal place. This way it makes it obvious and then falls back to standard material design location. Other option is to make an empty state image with a big, obvious arrow to the button.
- maybe add transitions that help user follow the change of state when adding someone to the tree.
Great work overall, i wish you the best for your project.