This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)(Learn how and when to remove this template message)
Ukagaka (伺か), also known as Nanika (何か), Sakura (さくら), Nin'i-tan (任意たん) or Nise-Haruna (偽春菜), is a catch-all term for Japanese software which shares a single format and function: to provide a pair of mascot characters for the user’s computer desktop. These mascot characters can perform some useful functions such as checking e-mail or adjusting the clock of the computer, but are most popular as an aesthetic add-on, which “says” weird things.
Characters are typically cute anime girls of original design as seen in the sample screenshot, accompanied by a small monster or pet of some sort. However, a variety of other subjects exist on the sidelines, from video game characters to 2channel memes to humorous depictions of Hitler.
Surface, shell, ghost
Most importantly, they “talk” (in Japanese). What they “say” is shown in a speech bubble. Also, they have variable facial expressions (called “surfaces”). In the sample picture, a part of the dark gray balloon is seen at the upper left, and the surface is number 7 (that is, an “angry” face). The “main” character (her metaname is Sakura) and her companion (his metaname is Unyū) may talk to the user. For example, they might say “It’s 3. Are you still awake?” at 3:00. Or, when the user is rebooting, they might say “Oh, are you rebooting? Okay, Seeya.” But usually, the two chat to each other, and the user can read their conversations (in the balloons).
The contents of their conversations are usually hilarious, ironic, silly, or possibly erotic. Those lines (called “fake-AI talk”) are program generated, and the personality of the character (called “ghost”, in its narrow sense) depends on this conversation-generating program (called “shiori”). The character’s appearance is called shell, which is implemented as several surfaces.
A set of the “main” girl and her companion is vaguely called a ghost (“ghost” in its broad sense). As of August 8, 2006, 1617 kinds of ghosts are listed on the Ghost Center. Usually, a different ghost has a different shell. In order for the ghost not to repeat the same conversations (which would be boring), the user can update the data via the Internet. Additionally, if the user permits, they can talk according to a remote script (which is written in the language called “Sakura Script”). In that case, it is also possible that two or more users chat to each other using the Ukagaka system.
The protocol it uses to communicate with other (local or remote) programs is called SSTP (Sakura Script Transfer Protocol). Ports 7743 and 9801 are officially assigned by IANA for SSTP. The port 7743 is not actually used for this protocol. The original Ukagaka listens to port 9801 while SSP (see below) uses the port 9821 by default.
Most ghosts are highly otaku-oriented; hence, even if the user is a native Japanese speaker, he or she probably does not fully understand what they are talking about, unless they are an otaku to a significant degree. Not always, but in many cases, they are chatting to each other assuming the user (that is, the reader) knows well the games released by Leaf and by Key. Also note that, in many cases, Unyū does not speak standard Japanese, but speaks the Osaka dialect (as often as not it is a fake Osaka dialect made up by a non-Osaka dialect speaker).
Ukagaka is, in a narrow sense, a platform on which any standard-compliant ghost runs. There are a few Ukagaka-compatible platform, such as SSP (Sakura Script Player) and CROW. Many users prefer SSP to the original Ukagaka, whose development has been stalled.
Ukagaka, or its compatible platform, usually comes with its default ghost. It is possible and usual to have more than one ghosts on the same platform, when the ghosts are switchable (that is, the girl the user selected from the menu appears on the user’s desktop). An additional ghost, including its shell, is usually provided as a single .nar (Nanika Archive) file, which the user can easily install by drag-and-dropping onto the running shell.
Basically, each ghost has its own personality, talking differently about different topics. This means that each ghost has its own shiori (a conversation-generating module). However, it is not easy to implement a shiori from scratch.
Usually, middleware is used to make it easy to create a new ghost. KAWARI is open-source software used frequently for this purpose.
Although it is not well documented, it is basically easy to create a ghost that speaks a language other than Japanese.
Also, it is possible to change the menu language of SSP into English, but since SSP is just a platform, changing the menu language does not change the language the ghost speaks.