You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
(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...
The text was updated successfully, but these errors were encountered:
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:
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
) ortransform
(e.g.language-transform
) oranalysis
(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 beimage-video-extraction
since it will just take aSTREAM.CONTAINER
andframe
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 beingester
/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 withimage
and make it eventually support other image types than png)I'm leaning in on
image-extraction
in this momentThe 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 themedia kitchen
vibe and, for instance, ingest tweets -- e.g. we might want an image-extraction appliance that pulls images out of tweets... which would makeimage-extraction
feel generic.video-image-extraction
seems like a better flow thanimage-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...
The text was updated successfully, but these errors were encountered: