tvkitchen / appliances

A one stop shop for official TV Kitchen Appliances
GNU Lesser General Public License v3.0
3 stars 0 forks source link

How should appliances be named? #65

Closed slifty closed 3 years ago

slifty commented 4 years ago

Discussion

What do you want to talk about?

I just wrote this comment as part of #64 and realized it should be in its own issue.

Appliance names are still not fully fit into a pattern yet. ccextractor is named in a way that is very linked to the underlying tool (this made sense at the time, but maybe is a really terrible idea in hindsight).

Maybe we should name officially supported TVK appliances in terms of what they create, with implementation as a black box.

We could have the suffix of an appliance be meaningful. For instance, maybe:

Maybe we would have generation (e.g. gif-generation) or transform (e.g. language-transform) or analysis (e.g. frequency-analysis) appliances some day...

Using the proposed image extraction appliance as an example, I want to pick a name that sets us on the right path. Thinking that image-frame-extraction is reasonable. Or maybe it should be image-video-extraction since it will just take a STREAM.CONTAINER and frame implies that the input has to be in terms of frame payloads (which we could do, but I don't think we need to).

We also have to decide if ingestion / extraction should be ingester / extractor -- real world appliances are of the *er variety (toaster, dishwasher, etc.), but "video ingestion appliance" also feels a little more descriptive in the land of programming than "video-ingester" (also is ingester even a real word?)


So here is a brainstormed list of possible names:

I'm leaning in on image-extraction in this moment

The argument for specifying video is if there are other things that might prove to be a source of image other than video. For instance if we lean into the media kitchen vibe and, for instance, ingest tweets -- e.g. we might want an image-extraction appliance that pulls images out of tweets... which would make image-extraction feel generic.

video-image-extraction seems like a better flow than image-video-extraction ("we are taking video and then performing image extraction"). The trouble is that is flipped for ingestion (video-file-ingestion). But ingestion and extraction are different verbs so maybe that's OK!

I think that may be reasonable though -- video becomes something of a namespace to the appliance, this is an appliance that does {verb} in the domain of {namespace}. Ingestion appliances really are different, since they're sources their namespace is in terms of their output, not their input.

So how about:

@tvkitchen/appliance-video-image-extraction

Some other names that would fit this pattern, just to test it out:

@tvkitchen/appliance-caption-srt-generation @tvkitchen/appliance-video-audio-extraction @tvkitchen/appliance-audio-afpt-generation @tvkitchen/appliance-image-gif-generation @tvkitchen/appliance-image-ocr-extraction

(and @tvkitchen/appliance-ccextractor should probably be renamed to @tvkitchen/appliance-video-caption-extraction but I'm not going to cross that bridge right now)

These seem potentially too wordy but it does feel descriptive at least. Gonna sleep on it...

slifty commented 4 years ago

@chriszs mentioned in slack: my copy editor brain does think extractor may be a better form of the verb than extraction

He's not wrong!

I admit that I was scared of it because like... is ingestor a word?

We'd probably need to rename the video-file-ingestion / http appliances.

slifty commented 3 years ago

Just to follow up here, we released our first new appliance with this naming convention. I'm going to let the dust settle before renaming things, but the current suite of appliances would look something like this:

slifty commented 3 years ago

The results of this discussion have been baked into the project at this point so I'm going to close the issue.