How did Fluentd get its name? It's a question I recently wondered about the cloud-native log aggregator and data collector for Kubernetes clusters.
So, Fluentd helps to aggregate distributed streams of data in a cloud-native environment. A stream is a fluid that moves. Thus, fluent is a clever name for a project that manages streaming data. But the project name is Fluentd, not fluent.
Fluentd runs as a daemon job on Kubernetes nodes. So, it's not a big logical leap to assume the appended "d" simply stands for "daemon." A quick Google for the etymology of the project name confirmed these suspicions.
Kiyoto Tamura, Fluentd contributor and vice president of marketing for Treasure Data, stated in a GitHub Gist, "Its initial name was Fluent, with the intent that this software should make streaming data from sources to sinks more 'fluent.'"
How to name a project
However, the contributors who named the project quickly realized there was a big disambiguation problem. People who search the term fluent were typically looking to learn a new language, not stream data. "If you search for 'fluent,' you get a bazillion links to Rosetta Stone apps and their siblings. Fluency is most closely associated with natural languages," wrote Tamura.
One of the most important factors in the adoption of a new technology is the ease with which new users can solve problems and master the tool. But with a serious search engine ambiguity issue, the authors of the project decided to follow the Unix custom of appending the letter "d" to the name of a daemon process. The name Fluentd was born.
"This made it much easier to find it in the Internet's vast sea of information," stated Tamura.
The decision to change the project name from Fluent to Fluentd was a simple but significant one. And it is certainly a lesson for creators searching for a new project name.
My problem with Web Components
Unfortunately, every web development framework created in the last 20 years has described itself as a web component-based architecture. At the time, results from even the most basic search engine queries pertaining to Web Components generated inaccurate results. When I searched how to create an SPA with Web Components, the results would just as likely be about AngularJS or Servlets and JSPs as they would the Web Components technology itself. The experience was so frustrating I gave up on the technology and chose to learn AngularJS.
Search engine optimization (SEO) is a key adoption factor. New users need to be able to find product support and community help. When attempting to conjure up a clever and catchy new project name, make sure the result is unambiguous and search-engine friendly. This will significantly help drive public enthusiasm for your project.