History of SILKin Part 2

Graphical User Interface Phase

KAES and Version 1.0

Gary defended his thesis in 2008, then returned to Virginia to teach for a couple years. In 2010 his financial situation changed, allowing him to stop teaching and work full-time on developing a User Interface for SILKin.

In his review of prior work in the kinship domain, Gary had encountered the KAES project (Kinship Analysis Expert System) in the U.K. The focus of KAES is on analysis of the structure of a kinship system after it is completely understood and documented. SILKin is focused on gathering the data to understand and document the kinship system, so the two projects do not overlap. But KAES had already built a GUI to display Family Tree Charts. Prof. Michael D. Fischer of the Centre for Social Anthropology and Computing, University of Kent, had created the KAES KinshipEditor. Fischer graciously gave his interface code to Gary as a 'quick start' for SILKin's GUI. All SILKin code files that use any part of the KAES code contain Fischer's copyright notice and authorization for redistribution.

As discussed later, building SILKin's GUI on top of older KAES code (and later adding code generated by a GUI builder) made for a strange mixture of screen styles, but it enabled version 1.0 to be built rather quickly. SIL sponsored a SILKin design conference at Camp Wisdom in Fall 2010 where the general concepts of the GUI were endorsed and some refinements suggested. Tom Woodward, then the International Anthropology Coordinator, suggested that SILKin 1.0 be presented at an Anthropology workshop in Nairobi in March of 2011.

Nairobi: First Encounter with Real Users

The Nairobi workshop was the first opportunity to meet actual field workers — the target audience for SILKin. It was an eye-opening experience. Before the first session we discovered that African laptops expect dates to be expressed in a different format than American computers use. So all date fields were unusable. SILKin used the ≠ symbol to indicate unions ended by either divorce or death, but that violated the conventions used by anthropologists (they use it only for divorce). And so on.

Clans and Adoption Were Essential

The biggest discovery in Nairobi was that clans and adoption were vital elements of some African kinship systems. If SILKin could not handle them, it would be useless to several field workers at the workshop, and potentially many more. A free-ranging discussion concluded that adoptions should be visible on a Family Tree Chart, but distinguishable from genealogical linkages. Clans should be explicit properties of individuals in those societies, but need not be visible on charts.

Although clans were the obvious non-genealogical property that can determine kinship, there was a distinct possibility that other such factors might be discovered in the future. So a somewhat general mechanism was needed. Fortunately, Tom Headland had advocated from the beginning that a general purpose mechanism was needed, and Gary had built it into SILKin during his thesis project. It was called UDPs, for User Defined Properties (or alternatively, User Defined Predicates).

In response to the Nairobi suggestions, SILKin's UDP feature was extended with two specific 'customizations' for adoptions and clans. To make it as general as possible, the adoption feature allows for multiple types of adoption, each with a distinctly colored link on a family tree chart. It is possible to declare an adoption relationship between a child and an adult, or between a child and a marriage (union).

Likewise, SILKin allows for an arbitrary number of clan-like properties that can be factors in a kinship definition. Clan properties can have arbitrary names and types, and they can be factors in creating or prohibiting a relationship. Thus, a 'clan brother' can be defined as a male who shares the same clan membership, or a 'legal mate' can be defined as a person of the opposite sex who is outside Ego's clan (i.e. an exogamy rule).

The Help System

Another insight from Nairobi was that the Family Tree Chart is easily understood by anyone working with kinship, but many other SILKin features and tools were not. Tools for editing and organizing those charts, for instance, were quickly grasped after they were explained but were invisible to a new user. A printed User Manual was impractical for several reasons, so a Help System was added that could hopefully serve two purposes:

  1. providing direct access to the details of any tool while using the tool
  2. giving a structured overview of the whole system if read in order from beginning to end
The Help system is always displayed in a separate 'mini-browser' so that it can be read like a manual or consulted and then hidden.

Tutorial Videos

Although the Help System's text can serve as a manual, several users suggested that a picture is indeed worth a thousand words. So in 2015 Gary proposed to create tutorial videos that walk a new user through SILKin's various processes, demonstrating each tool's use. Julie Green, the current International Anthropology Coordinator, provided a license for the iShowU video creation tool that other SIL people had found helpful. Fourteen videos were created with that tool, most of them 10 minutes or shorter. Those videos were incorporated into the new SIL software download site for SILKin. Several novice users have given positive feedback on them.

Internationalization of System Text

Although Africa is a single region in SIL's organization, almost all of East Africa uses English as the trade and administration language, but West Africa uses French. This reflects the colonial history of these regions. As more African projects began to use SILKin, requests appeared for a version with French menus, messages, and screen labels. Fortunately, the Java programming language has a built-in facility for 'internationalizing' an application. One must simply replace each bit of text embedded in the Java code with a fetch from an external resource file. If the current resource has English text, everything will be presented to the User in English. If a French resource file is used, SILKin presents everything in French.

In 2016 Gary made the Java code changes to accomodate internationalization. Julie Taylor, the African Anthropology Coordinator, Julie Green, and others combined their funds to pay for translation of SILKin's English resource files into French. That process was completed by the end of 2018. The important point is that adding other languages in the future will require no programming, just addition of translated resource files. Those files, however, are quite extensive.