Welcome to the Invelos forums. Please read the forum rules before posting.

Read access to our public forums is open to everyone. To post messages, a free registration is required.

If you have an Invelos account, sign in to post.

    Invelos Forums->DVD Profiler: Desktop Feature Requests Page: 1  Previous   Next
Abstraction of a layered profile mechanic
Author Message
DVD Profiler Unlimited RegistrantStar ContributorKinematics
Registered: March 16, 2007
United States Posts: 280
Posted:
PM this userView this user's DVD collectionDirect link to this postReply with quote
Note: This is NOT an explicit suggestion, as it would require a near-complete rewrite of the program, but there's really no other forum that's appropriate for this.  It's just a little brainstorming on an idea that piqued my interest, playing with it, seeing how it would affect construction of DVD profiles and the underlying database, and whether and how it would affect any longstanding issues with DVDP.  Feel free to comment or discuss, or just ignore.


The basic idea is a layered profile mechanism, with each layer supplementing or supplanting the layer below it.  The overlay effect is similar to CSS rules on web pages: the highest level element in a stack of profile layers 'wins' as far as the value at that layer (aside from a few elements, where each layer accumulates with the layers below).  If there is no explicit value at that layer, it looks down the layers until it finds a value.


The fundamental layer is the Content.  This describes the film or show to be profiled -- Star Wars, The West Wing, Ayashi no Ceres, etc.

The Content layer defines:
Locality / Country of Origin
Original Title and Identifier ("Star Wars: Return of the Jedi", "The West Wing" + "Episode 14", "Ayashi no Ceres" + "2. Tennyo no FAASUTO KISU", etc.)
* Note: each episode of a TV show would get its own Content layer; I don't yet have an idea for simplifying that
Original cast and crew (GUID linking for names, all drawn from a single Personnel table, not separate cast and crew tables).  No 'credited as'; just use the default name tied to each GUID.
Original format details (aspect ratio, color, etc)
Original Rating
Original audio language, possibly format (eg: originally broadcast on TV in stereo)
General details like production studios and genre
First theatrical release/broadcast date, or production year


The next layer up is the Rendition.  This defines a particular 'implementation' of the Content.

Examples of how a Rendition differs from Content would be things like colorized film, Pan & Scan cropping, and localized translations.

Rendition layer defines:
Locality of the rendition production (eg: US release of a Japanese anime, etc)
Edition
Video details: NTSC vs PAL, anamorphic encoding (though they may belong on the Media layer)
Override data, such as actual aspect ratio, rating, etc, that were changed specifically for this Rendition
Can override the Title and Identifier (eg: "Ayashi no Ceres" + "2. Tennyo no FAASUTO KISU" becomes "Ceres, Celestial Legend" + "2. The Angel's First Kiss")
Supplementary data, such as local dubbing cast and crew, or cast that only showed up in the Director's Cut, etc.  Can modify existing entries with 'credited as' data.
Adds the studio(s) responsible for creating this layer



The next layer up is the Media.  This is the actual physical disc that the content is stored on, and is identified by Disc ID.

Media defines:
Media Type (DVD, BD, HDDVD, etc)
Extras: Featurettes, Trailers, Easter Eggs, etc.
DVD mastering house, if applicable
Media layer can be comprised of multiple Rendition layers (eg: multiple episodes of a single TV show)



And the top layer is the Product layer.  This is the case the DVD came in, and is identified by UPC.

Product layer defines:
Product Title (eg: "The West Wing: The Complete First Season")
Cover images
Overview
Case Type
SRP
Personal data (eg: purchase location/price)
Distribution Studio
Product Release date
Product locality
Loans
A Product layer can be comprised of multiple Media layers (eg: Season 1 Collection) and/or other Product layers (aka: box sets).  Technically there's no limit on the nesting level on box sets, though it should avoid circular references, but in reality more than one nesting level would be extremely rare.



The user should be able to easily shift up and down the layers, and across the different elements within a layer (eg: switching between episodes in a TV show).  I'm thinking smartphone-'swipe' easy, not "click this tree-expander triangle and dig around like in File Explorer".



Main problem that immediately comes to mind is that there's not indisputably unique identifiers for the Content and Rendition layers.  At best you can use Locality+Title+Identifier for the Content layer, and Locality+Title+Identifier+Edition for the Rendition layer, but even that's no guarantee of uniqueness.  Maybe if Production Year was also included.  Still need to be able to look up each layer easily for inclusion in the layer above it.

Alternatively, set up GUID values for each Content and Rendition layer, similar to how the cast would get GUIDs.  Should be able to request a GUID from the Invelos server, and have the option of marking a contributed entry as a duplicate of another (primarily in the case of multiple contributions at the same time).  Duplicate GUID would not be 'freed up' after duplicate marking since you don't know how long it would take to propagate that information to all the clients.  However the ID space of GUIDs is so large that we could duplicate every single profile (including individual episodes) a hundred times and barely notice it in the GUID space, so there's no real loss.



Not sure where Review would fit in.  Movie Review value would fit at the Rendition layer, but DVD Review could be either Media or Product.  Or maybe just have a Review value at all layers (Director's Cut may be different from the original release; English release vs the Japanese release; solid packaging and great art, but poor media authoring; etc.).  So yeah, it would accumulate all layers together, similar to the studios.



There's also the opportunity for a 'User' layer.  I'm thinking a layer between the Rendition and the Media, where the user can collect multiple Renditions into a single profile (eg: all the episodes of a TV series, regardless of how they were physically released).  However I could imagine wanting a collection-based user layer above any of the base layers (eg: Set Of Renditions: all episodes of a TV show; Set of Media: all discs stored in disc changers or disc cases; Set of Products: various organizational schemes).

Technically there's also no strict requirement that a lower layer must belong to an upper layer.  There's no reason you couldn't add movie or TV episode details long before the actual DVD release, and just pack them into the appropriate media layer profile when you have a DVD to go with them.

There's a bit of inheritance (for those with familiarity with programming), but it's mostly about element composition, having lots of building blocks that can be put together as needed.
DVD Profiler Unlimited RegistrantStar ContributorLewis_Prothero
Strength Through Unity
Registered: May 19, 2007
Reputation: Superior Rating
Germany Posts: 6,730
Posted:
PM this userView this user's DVD collectionDirect link to this postReply with quote
Interesting concept.

I would probably keep it more simple with only two layers:

1. Feature Level: Which basically contains the Feature-specific data (Cast, Crew, CoO, Production date, Original Running Time, Original Aspect Ratio, etc.). This way it would even be easy to distinguish between different versions of a Feature (Original, Extended, Director's Cut, etc). When working as planned, there should be only 1 Feature-Profile in the maindatabase for every Feature.

2. Disc Level: Which would contain all the release-specific data (EAN/UPC/DiscID, Release Date, Audio Tracks, actual Running Time, Video Codec and Format (NTSC / PAL), actual Aspect Ratio, actual Credits (if different from original), Bonus Features, etc.)

Advantages (compared to existing):
- Easier Creation of profiles
- Better consistency of Feature data
- Better implementation of non-US films (if the French are entering the French movies, we can be (almost) sure, that they would know how to transcribe Cast and Crew data correctly.

Advantages (compared to proposal):
- Easier Creation of profiles
- Crosslinked Feature data

Problems:
- Major Re-Design of program and database is needed.
It all seems so stupid, it makes me want to give up!
But why should I give up, when it all seems so stupid?


Registrant since 05/22/2003
DVD Profiler Unlimited RegistrantStar ContributorKinematics
Registered: March 16, 2007
United States Posts: 280
Posted:
PM this userView this user's DVD collectionDirect link to this postReply with quote
Quote:
I would probably keep it more simple with only two layers


Hmm.  It may be possible to simplify, but my reasoning for the choice of layers was so that there was as little duplication as possible.  EG:

1) Every edition or (especially) localization of a film should reference the same base Content layer, so that all the 'original' information for that film only has to be entered once.

2) Reprints or DVD vs Bluray versions, etc, may all use the same Rendition of a film.  We already know it's possible to have the exact same film printed on multiple Disc IDs; we shouldn't have to duplicate the effort of defining the rendition that was encoded on it.

3) It's not uncommon for discs to get repackaged, such as once in singles, and another release as a box set.  Any given disc should have identical information, regardless of which UPC'd package it's sold in.

4) A Product layer being able to contain another Product intrinsically sets things up to handle box sets, or box sets of multiple shows which are themselves box sets, or other oddities that are awkward to handle in the current DVDP program.



There's also things like appropriately marking elements such as locality in a reliable manner.  For example, an Australian company publishing a Japanese anime using the US dub version could be marked with localities of: Content - Japan, Rendition - US, Product - Australia.  That setup would also imply that NTSC/PAL should be on the Media layer.


Possible nitpicky stuff I could see would be credit order.  Currently we list the cast in the order credited, but if the cast list is always derived from the original Content layer, any given Rendition (localizations, in particular) may have a different listing order.  That may not be as easy to work with in terms of carrying data from one layer to the next.


Quote:
Problems:
- Major Re-Design of program and database is needed.


That's pretty much a given with everything about this idea.   
DVD Profiler Unlimited RegistrantW0m6at
You're in for it now Tony
Registered: April 17, 2007
Australia Posts: 1,091
Posted:
PM this userVisit this user's homepageView this user's DVD collectionDirect link to this postReply with quote
I've thought for a while now that a system such as that described by the OP would be ideal (in terms of representing the data), but that the intricacies might exclude many contributors. However, the idea of a central depository for cast/crew data for a particular title has long held appeal.

I would also add in an extra checkbox either to distinguish special feature inclusions or to show/hide them.
e.g. Profile with film and documentary. Some people will want the cast/crew of the documentary adding to stats in their local, others won't care to.

The best part (for me) of the layered profile comes with things like short film compilations. Data entered on one collection would filter through to other profiles far more readily. Feature films are far easier to go grab that data from a different locality. It's nigh on impossible to know which profile to glean information from for short films.
Adelaide Movie Buffs (info on special screenings, contests, bargains, etc. relevant to Adelaideans... and contests/bargains for other Aussies too!)
DVD Profiler Unlimited RegistrantStar ContributorLewis_Prothero
Strength Through Unity
Registered: May 19, 2007
Reputation: Superior Rating
Germany Posts: 6,730
Posted:
PM this userView this user's DVD collectionDirect link to this postReply with quote
Quoting Kinematics:
Quote:
Hmm.  It may be possible to simplify, but my reasoning for the choice of layers was so that there was as little duplication as possible.  EG:

But this may cause more problems than it solves, for being overly complicated when having to search for the matching data-layers (at least for the initial creator of a profile).

Quote:
1) Every edition or (especially) localization of a film should reference the same base Content layer, so that all the 'original' information for that film only has to be entered once.

Agreed!
This about covers my idea of "Layer 1", except that I would put "localized data" into the second layer.

Quote:
2) Reprints or DVD vs Bluray versions, etc, may all use the same Rendition of a film.  We already know it's possible to have the exact same film printed on multiple Disc IDs; we shouldn't have to duplicate the effort of defining the rendition that was encoded on it.

While I see where you are coming from, this approach (esp. for BluRay -> DVD versions) would not work in PAL regions. At least the Running Time will always be different.
Another problem are (again at least for BluRays) completely different settings, menus, selectable Bonus content, etc, depending on the locality setting of your BluRay player. A good example is the quite common variant for BluRays with Japanese menus and Audio Tracks that only become available if the player is set to locality Japan.

Quote:
3) It's not uncommon for discs to get repackaged, such as once in singles, and another release as a box set.  Any given disc should have identical information, regardless of which UPC'd package it's sold in.

That's why "my" approach would contain the DiscID as secondary "unique" identifier.
This would, BTW, be exactly like the already implemented feature of DVDProfiler, put the disc into your ROM-Drive and if it's already in the database DVDProfiler offers to download the matching data.

Quote:
4) A Product layer being able to contain another Product intrinsically sets things up to handle box sets, or box sets of multiple shows which are themselves box sets, or other oddities that are awkward to handle in the current DVDP program.

Don't see why this would need a separate layer when two layers do suffice to address even several features on a single-sided disc.
But probably we mean the same thing, and I just don't get it.

Quote:
Possible nitpicky stuff I could see would be credit order.  Currently we list the cast in the order credited, but if the cast list is always derived from the original Content layer, any given Rendition (localizations, in particular) may have a different listing order.  That may not be as easy to work with in terms of carrying data from one layer to the next.

I'm not that much of a programmer,
but I'd handle this as Either/Or, with the user to choose which to show, either Original or localized Credits. In the GUI even both should easily be possible (e.g. by Tabs).
It all seems so stupid, it makes me want to give up!
But why should I give up, when it all seems so stupid?


Registrant since 05/22/2003
DVD Profiler Unlimited RegistrantStar ContributorKinematics
Registered: March 16, 2007
United States Posts: 280
Posted:
PM this userView this user's DVD collectionDirect link to this postReply with quote
Quote:
But this may cause more problems than it solves, for being overly complicated when having to search for the matching data-layers (at least for the initial creator of a profile).


Yeah, I haven't put much thought into the UI level of things yet.  This level of complexity may simply not be implementable in a simple manner.

Quote:
This about covers my idea of "Layer 1", except that I would put "localized data" into the second layer.


Just to be clear, I was putting the localized data in the second (Rendition) layer as well, though my second layer isn't the same as your second layer.

Quote:
While I see where you are coming from, this approach (esp. for BluRay -> DVD versions) would not work in PAL regions. At least the Running Time will always be different.


Hmm.  I see what you mean.  I intended to put PAL/NTSC/none on the third (Media) layer, where the DVD/BluRay distinction is made.  However that means that the Rendition can't have an explicit runtime, as the runtime depends on the encoding.  From that perspective, is it even possible to have a proper runtime on the original Content?  It may not, strictly speaking, be possible to have that information anywhere but the Media layer.

Quote:
Another problem are (again at least for BluRays) completely different settings, menus, selectable Bonus content, etc, depending on the locality setting of your BluRay player. A good example is the quite common variant for BluRays with Japanese menus and Audio Tracks that only become available if the player is set to locality Japan.


Well, I had all the Extra content as stuff to be defined at the disc/Media layer level.  Just because it's only available with certain player settings doesn't really change that.

Quote:
This would, BTW, be exactly like the already implemented feature of DVDProfiler, put the disc into your ROM-Drive and if it's already in the database DVDProfiler offers to download the matching data.


That also reminds me that there's another problem with this approach: It's impossible to define the Media layer without the DVD to get the Disc ID, so you're limited in what you can enter manually or from preorder information.  If you don't have a BluRay player in your computer, for example, and you bought a BluRay of "Star Wars", you can't connect the physical package (the UPC-identified Product layer) with the actual movie (Rendition or Content layers). [more notes below]

Quote:
Quote:
4) A Product layer being able to contain another Product intrinsically sets things up to handle box sets, or box sets of multiple shows which are themselves box sets, or other oddities that are awkward to handle in the current DVDP program.

Don't see why this would need a separate layer when two layers do suffice to address even several features on a single-sided disc.


??

I think you may be misunderstanding what I wrote.  When I'm referring to layers, I'm always referring to the program architecture, never to the physical structure of the DVD or BluRay.

The 'Product' layer is the architectural layer identified by a UPC value, such as a box with a UPC code that contains a keep case that itself has a UPC code, etc.



[Media Layer]: Perhaps a GUID-identified layer that can contain Disc IDs.  This isn't much different from what DVDP does today.  There's still enough distinction that it can probably still hold its own as its own layer.  It'd be something like profiles entered by Disc ID in DVDP, that are child profiles of the main DVD entry.
DVD Profiler Unlimited RegistrantStar ContributorKathy
Registered: May 29, 2007
Reputation: Highest Rating
United States Posts: 3,475
Posted:
PM this userEmail this userView this user's DVD collectionDirect link to this postReply with quote
I've read this thread several times and although it sounds interesting...I have no idea what is being discussed! 
DVD Profiler Unlimited RegistrantStar ContributorKinematics
Registered: March 16, 2007
United States Posts: 280
Posted:
PM this userView this user's DVD collectionDirect link to this postReply with quote
Random ideas of how to go about solving a problem are the toys programmers like to play with.  It may or may not ever get built, but the real purpose is just to solve the problem.  The more you do it, the easier it is to come up with solutions for other problems.

This thread is just considering the potential of an idea on how to better solve the problem of storing DVD profile data.
    Invelos Forums->DVD Profiler: Desktop Feature Requests Page: 1  Previous   Next