added image and audio #28

Merged
eukreign merged 10 commits from stream_sub_types into master 2019-03-31 15:01:40 +02:00
eukreign commented 2019-03-25 15:55:46 +01:00 (Migrated from github.com)
No description provided.
lyoshenka commented 2019-03-25 17:47:31 +01:00 (Migrated from github.com)

the Image/Audio/Video oneOf seems wrong to me. we should have a place to put visual properties (height, width) and a place to put time properties (duration) as just separate things. Then anything with a height and a width can set its height and width. And anything with a duration can set its duration. There's no need to say "this is an image"

the Image/Audio/Video oneOf seems wrong to me. we should have a place to put visual properties (height, width) and a place to put time properties (duration) as just separate things. Then anything with a height and a width can set its height and width. And anything with a duration can set its duration. There's no need to say "this is an image"
lyoshenka commented 2019-03-25 17:48:14 +01:00 (Migrated from github.com)

and furthermore, it would be good to think for tomorrow here before we get too sucked into adding all these fields. taxonomies are hard, and we're not the first people to make one. lets find one that exists and see what we can learn from how they do it.

and furthermore, it would be good to think for tomorrow here before we get too sucked into adding all these fields. taxonomies are hard, and we're not the first people to make one. lets find one that exists and see what we can learn from how they do it.
lyoshenka commented 2019-03-25 17:49:24 +01:00 (Migrated from github.com)

finally, i'm not sure why you renumbered so many of those fields. the only thing that matters about the number "is it over 16 or not". the order of the fields does not matter, the specific number does not matter, etc.

finally, i'm not sure why you renumbered so many of those fields. the only thing that matters about the number "is it over 16 or not". the order of the fields does not matter, the specific number does not matter, etc.
eukreign commented 2019-03-25 21:20:33 +01:00 (Migrated from github.com)

I've spent a little bit of time researching this and was not able to find any established file meta data taxonomy. I imagine that if something like this was possible someone would have done it...

It's hard to build a taxonomy without having an existing system to dissect into possible taxonomy groups, etc.

Can we keep v2 of protobufs as simple buckets for file types and later once we've collected an adequate amount of types we can slice them up into attribute groups and do a v3 of protobufs?

Regarding the renumbered fields, I made the Channel and Stream messages group similar attributes together so that it's easy to see what's different and what's the same between them. I renumbered them for the exact reason you mention, that it doesn't really matter sub-16 and seems strange having them out of order.

I've spent a little bit of time researching this and was not able to find any established file meta data taxonomy. I imagine that if something like this was possible someone would have done it... It's hard to build a taxonomy without having an existing system to dissect into possible taxonomy groups, etc. Can we keep v2 of protobufs as simple buckets for file types and later once we've collected an adequate amount of types we can slice them up into attribute groups and do a v3 of protobufs? Regarding the renumbered fields, I made the `Channel` and `Stream` messages group similar attributes together so that it's easy to see what's different and what's the same between them. I renumbered them for the exact reason you mention, that it doesn't really matter sub-16 and seems strange having them out of order.
eukreign commented 2019-03-25 21:39:54 +01:00 (Migrated from github.com)

I'm thinking of the taxonomy problem as taking a single table data model and normalizing it into more logical sub-tables except that in our case, we're starting with a blank slate and are trying to start with a normalized model. I think it's going to be unnecessarily difficult to do it. It would be better and more efficient to first make a simple non-normalized meta data model and then later once we have the full model, go back and normalize it.

I'm thinking of the taxonomy problem as taking a single table data model and normalizing it into more logical sub-tables except that in our case, we're starting with a blank slate and are trying to start with a normalized model. I think it's going to be unnecessarily difficult to do it. It would be better and more efficient to first make a simple non-normalized meta data model and then later once we have the full model, go back and normalize it.
kauffj (Migrated from github.com) reviewed 2019-03-28 16:00:23 +01:00
kauffj (Migrated from github.com) commented 2019-03-28 15:53:59 +01:00

Is 1 BTC (deprecated)?

Is 1 BTC (deprecated)?
@ -20,3 +22,1 @@
string thumbnail_url = 16;
string cover_url = 17;
string language = 18;
string contact_email = 8;
kauffj (Migrated from github.com) commented 2019-03-28 15:59:37 +01:00

Does a repeated language field mean this content is in both languages or either language?

Do we have an idea of how we'll (eventually) support the same claim being in 8 different languages with 8 different files? Is it compatible with this choice?

Does a repeated language field mean this content is in both languages or either language? Do we have an idea of how we'll (eventually) support the same claim being in 8 different languages with 8 different files? Is it compatible with this choice?
@ -55,3 +65,4 @@
message File {
bytes hash = 3;
string name = 1;
uint64 size = 2;
kauffj (Migrated from github.com) commented 2019-03-28 15:53:25 +01:00

If we're adding these in this PR then I think we should add everything we're targeting first-class support for. Off the top of my head, games, text/markdown, pdf, and maker/3d file types are not on the list.

Also, is there any way to have types map media_type on to this type without a discrete field?

If we're adding these in this PR then I think we should add everything we're targeting first-class support for. Off the top of my head, games, text/markdown, pdf, and maker/3d file types are not on the list. Also, is there any way to have `types` map `media_type` on to this type without a discrete field?
@ -63,0 +94,4 @@
UNKNOWN_LANGUAGE = 0;
en = 1;
aa = 2;
ab = 3;
kauffj (Migrated from github.com) commented 2019-03-28 15:57:36 +01:00

I can think of a number of additional fields for all of these. How deep do we want to be going on this right now vs. evolving it?

I can think of a number of additional fields for all of these. How deep do we want to be going on this right now vs. evolving it?
eukreign (Migrated from github.com) reviewed 2019-03-28 21:01:36 +01:00
@ -55,3 +65,4 @@
message File {
bytes hash = 3;
string name = 1;
uint64 size = 2;
eukreign (Migrated from github.com) commented 2019-03-28 21:01:35 +01:00

The type is mainly to store extra metadata; not as a way to determine the type of the stream. When there is metadata, this metadata is typed, hence the field is called type (as opposed to a un-typed dictionary of key, values).

media_type is still the correct way to determine the file specific type of a stream.

The `type` is mainly to store extra metadata; not as a way to determine the type of the stream. When there is metadata, this metadata is typed, hence the field is called `type` (as opposed to a un-typed dictionary of key, values). `media_type` is still the correct way to determine the file specific type of a stream.
eukreign (Migrated from github.com) reviewed 2019-03-28 21:05:29 +01:00
eukreign (Migrated from github.com) commented 2019-03-28 21:05:29 +01:00

I don't know why BTC was dropped. It was already gone from v2 protobufs when I started integrated them.

I don't know why BTC was dropped. It was already gone from v2 protobufs when I started integrated them.
eukreign (Migrated from github.com) reviewed 2019-03-28 21:09:29 +01:00
@ -63,0 +94,4 @@
UNKNOWN_LANGUAGE = 0;
en = 1;
aa = 2;
ab = 3;
eukreign (Migrated from github.com) commented 2019-03-28 21:09:29 +01:00

We can add more now or hold off and add more in the next release. I don't think it makes a difference (unless there is a field someone is waiting to have added, then we can add it now).

We can add more now or hold off and add more in the next release. I don't think it makes a difference (unless there is a field someone is waiting to have added, then we can add it now).
eukreign (Migrated from github.com) reviewed 2019-03-28 21:27:53 +01:00
@ -20,3 +22,1 @@
string thumbnail_url = 16;
string cover_url = 17;
string language = 18;
string contact_email = 8;
eukreign (Migrated from github.com) commented 2019-03-28 21:27:53 +01:00

I imagine that the languages and locations lists are specific to the content in the particular stream claim.

Since channels also have languages you could release a movie in multiple languages by making a channel for it (listing all languages in the channel metadata) then publish a version of the movie in those languages in that channel (and list only the single language in the stream claim).

Perhaps channels within channels could also help here.

I imagine that the languages and locations lists are specific to the content in the particular stream claim. Since channels also have `languages` you could release a movie in multiple languages by making a channel for it (listing all languages in the channel metadata) then publish a version of the movie in those languages in that channel (and list only the single language in the stream claim). Perhaps channels within channels could also help here.
eukreign (Migrated from github.com) reviewed 2019-03-29 14:28:03 +01:00
eukreign (Migrated from github.com) commented 2019-03-29 14:28:02 +01:00

Re-added BTC.

Re-added `BTC`.
lyoshenka (Migrated from github.com) reviewed 2019-03-29 14:48:51 +01:00
@ -60,3 +76,4 @@
message Video {
uint32 width = 1;
uint32 height = 2;
uint32 duration = 3;
lyoshenka (Migrated from github.com) commented 2019-03-29 14:48:51 +01:00

@eukreign why have an unknown currency option? whats the point of a claim with a fee in a currency we don't know?

@eukreign why have an unknown currency option? whats the point of a claim with a fee in a currency we don't know?
lyoshenka (Migrated from github.com) reviewed 2019-03-29 14:50:24 +01:00
@ -63,0 +117,4 @@
bs = 23;
ca = 24;
ce = 25;
ch = 26;
lyoshenka (Migrated from github.com) commented 2019-03-29 14:50:23 +01:00

1 - all these UNKNOWN_* fields don't make sense. if its unknown, just leave it out
2 - common languages should go into the top 15. helps reduce the size.

1 - all these `UNKNOWN_*` fields don't make sense. if its unknown, just leave it out 2 - common languages should go into the top 15. helps reduce the size.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: LBRYCommunity/types#28
No description provided.