Zombies vs. Ghosts: The great debate
We have a feature in RavenDB that may leave behind some traces when a document is gone. The actual details aren’t really important for the story. Those traces are there for a reason, and a user have a good reason to want to see them in the UI.
That meant that we needed to come up with a name for them. After a short pause, we selected Zombies, because they are the remnants of real documents that are hanging around. That seem to mesh well with the technical terminology already in use (zombie processes, for example) and a reference to the current popularity of zombies in culture (books, movies, etc) which many of our guys enjoy.
Note that in this case, I’m specifically using the term guys to refer to our male developers. One of our female developers didn’t like the terminology. Because Zombies are creepy, and we don’t want that in our UI.
There was a discussion on the terminology we’ll use that was very interesting, because it was on clearly defined gender lines. None of the guys had any issue with the term, and that included a few that considered zombie movies to be yucky as well. All the women, on the other hand, thought (to varying degrees) that zombies isn’t the appropriate term to use.
We threw a few other ones around, such as orphans, but one of the features we wanted to have is the ability to wipe those traces, and “kill all orphans” is not something that I think would go well in our UI.
Eventually the idea to use the term ghosts was brought up, and it was liked by all. It has all the connotations desired to explain what this is (the remnants of a deleted document), but the images it evoked was Casper the Friendly Ghost and Pacman, apparently.
Given that while none of the guys thought there was a problem with zombies, but no one was also particularly attached to the name, and on the other hand we had strong opposition to the term and an alternative that made everyone happy, we switched to that terminology.
Fun fact, I was telling my wife this story and I wasn’t able to complete the description of the debate before she suggested using the Pacman image.
Comments
I think it's slightly more common to use "Phantom" here rather than "Ghost", though I can't provide any evidence to back that up. Just a gut feeling that I've encountered "Phantom X" in technical contexts more commonly than either "Ghost X" or "X Ghost".
Zoombies and Orphans are already established computer science concepts: https://en.wikipedia.org/wiki/Zombie_process https://en.wikipedia.org/wiki/Widows_and_orphans
Linux kernel folks do not mind sacrificing children for greater good - so why bother killing orphans?
Isn't this type of document often called "tombstone"? https://en.wikipedia.org/wiki/Tombstone_(data_store)
The article mentions its use in replication, but I somehow thought it is a generic name for this kind of record/document...
Yuriy, We already use Tombstone as a term inside RavenDB, so that was out.
Comment preview