Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How should appliances be named? #65

Closed
slifty opened this issue Oct 19, 2020 · 3 comments
Closed

How should appliances be named? #65

slifty opened this issue Oct 19, 2020 · 3 comments
Labels
discussion The conversation is the point

Comments

@slifty
Copy link
Member

slifty commented Oct 19, 2020

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:

  • ingestion appliances take an external source.
  • extraction appliances filter a subset of data from a larger stream.

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:

  • image-frame-extractor
  • image-frame-extraction
  • video-to-image
  • image-video-extractor
  • image-video-extraction
  • video-image-extractor
  • video-image-extraction
  • image-extractor
  • image-extraction
  • png-extraction <-- (I think we should stick with image and make it eventually support other image types than png)

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 slifty added the discussion The conversation is the point label Oct 19, 2020
@slifty
Copy link
Member Author

slifty commented Oct 21, 2020

@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
Copy link
Member Author

slifty commented Feb 19, 2021

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:

  • appliance-caption-srt-generator
  • appliance-ccextractor -> appliance-video-caption-extractor
  • appliance-video-file-ingestion -> appliance-video-file-ingestor
  • appliance-video-http-ingestion -> appliance-video-http-ingestor

@slifty
Copy link
Member Author

slifty commented Apr 14, 2021

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

@slifty slifty closed this as completed Apr 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion The conversation is the point
Projects
None yet
Development

No branches or pull requests

1 participant