I was writing up some notes of the configuration of one of my machines, when I got stuck with a bout of linquistic confusion. On both of my machines, I have two Duplicati2 processes running at all times, and they both run Duplicati.GUI.TrayIcon.exe. I personally do not regard “TrayIcon” an informative expression for my private notes, and wanted to find a term that describes the true nature of the responsibilities of this program and/or the two processes in which it runs.
So I re-read the page Different ways to make a Duplicati backup • Duplicati for clarification. It left me even more confused.
First I looked up “TrayIcon”, and found the page telling me that this executable starts up Duplicati.Server.exe “in the same process” and shows a tray icon. I would have assumed that the server executable shows up in process listing, but it doesn’t. Only the TrayIcon does, in two separate processes.
My confusion didn’t end there. Next, I started reading the page from beginning, and under “The Web Interface”, I found the paragraph beginning with “The service includes”. I checked, and this is the first line where the word “service” appears on the page. The next heading is “Service Component”, but I don’t think this is a case of having the term introduced prematurely. I think the choice of word must be wrong. The paragraph should begin with “The server includes” instead? Why not?
After mulling this over for a while, I felt unsure I understand much at all. At first reading the page had looked much clearer!
All this gets combined with the gymnastics of reconciling the term “server” as it is used in Duplicati context with the usual meaning in client-server architecture. Here, a server is a process, not a machine. When Duplicati runs on my PC, and the only server that immediately comes to mind is the remote machine or cloud service that I might want to use as target location, so talking about server the way it is done in Dupicati documentation is confusing enough even without the TrayIcon.exe mess.
From user’s point of view, also the filename Duplicati-server.sqlite is off. Instead of referring to “server”, the filename could simply refer to the actual contents of the file. Yeah, I know, it is not simple, but still.
The whole terminology is dominated by developer’s point of view, which is difficult to explain to users who are interested in the interfaces they need to acquaint themselves with, rather than the internals. Writing the documentation would be easier with terminology that doesn’t need lots of explaining, right?
To end with a lighter note, I digged up an old but still valid joke: Why do some people call the taskbar the “tray”?