Master Media Database implementation/design. Comments please (1 Viewer)

Smirnuff

Portal Pro
December 7, 2004
630
3
United Kingdom
I'm rather intrigued by this thread, having read with interest the various blogs and articles on how Google's labels and other forms of tagging can be seen as far more flexible alternative to traditional hierarchies.

A Q for the OP... what is your expected usage of this? You would like to store labels against media elements so that you can swipe something across your RFID reader and then it gets played?
 

MariachiElf

Portal Member
May 23, 2006
17
0
USA / Los Angeles, CA
You got it.

Though it's important to distinguish that whether it's swipe something with RFID, input a number with the remote, use a bar code scanner, or who knows what other input devices are out there for this, the concept is to input a specific tag and make something specific happen as a result.

Currently the design calls for each "Tag" to get associated to both a Media Element and a Command. The primary command will in all liklihood be "play".
 

MariachiElf

Portal Member
May 23, 2006
17
0
USA / Los Angeles, CA
patrick,

My question for the associations UI is this:

You click the options for a Video and in addition to "Look up in IMDB" and the other options, you get "Add a Tag" ( I know this confuses things with other metadata tags but just go with me here).

You then get a list of all the possible input devices suitable for this use (e.g. RFID Reader, Keyboard/Remote, Bar Code Scanner, etc).

You pick one, let's use RFID Reader.

What you'd expect is a popup saying, please swipe the RFID Card you'd like to associate with this Movie, you'd swipe the card and voila you're done.

This means that UI Plugins have a way to interrogate the list of input devices currently hooked up in MP as well a way to tell the input plugin "The next thing the end user is going to do is give you the tag for this Media Element".

Ok, how's this, each input process plugin is responsible for implementing a minimal UI to guide the user through inputting a "Tag" when called upon by a UI Plugin. So UI Plugin selects the input device, and calls a function along the lines of:
inutDevice.AssociateTag(mediaElement)

The inputDevice is then the thing that puts itself in the learning mode and pops up the UI messages specific to it:
"Please enter the number with the remote control"
or "Please scan the bar code"
or "Please swipe your tag"
etc.


-------------- Another method for Associations below ----------
To help with usability I think there should be another view that is "learning mode only" for a particular inputDevice here you'd get a list of all Media Elements. You'd choose one and swipe (or type, or scan, etc), the UI would move you to the next one, and you swipe, next, swipe, and so on. You could of course navigate up and down to select the one you want.

That way you can quickly go through many Media Elements without, having to nagivate, select, select, swipe, back out, select, select, swipe, back out, and so on.


Thoughts anyone?
 

MariachiElf

Portal Member
May 23, 2006
17
0
USA / Los Angeles, CA
I think I just figured out what to do about the problem of what are the exact details of how to associate tags to Media Elements.

I was putting the burden on the UI Plugins to manage the UI interaction for inserting/updating tags. However that's not their job, and that's a lot of boilerplate code duplicated everywhere. UI Plugins shouldn't make calls to the InputDevice Plugins directly. They should make calls to the central manager. Just like the Input Device Plugins don't really care what or how many UI Plugins there are, UI Plugins don't want nor care to keep track of Input Device Plugins.

They simply make an API call to the central manager like AssociateTag( mediaElement, Command ).

The central manager will then know how to interrogate for each inputDevice and present the list to the end user and after the end user chooses their device it can make an API call to the Input Device Plugin UI to request a Tag, then make the API to call the Input Device Plugin again to insert or update the mediaElement and tag/Command association.


The more I think about this central manager piece, the more I begin to believe that this "central manager" role really belongs as part of the core of MP.
 

tomtom21000

Retired Team Member
  • Premium Supporter
  • April 22, 2004
    1,226
    120
    Germany
    Re: Master Media Database implementation/design. Comments pl

    MikeFair said:
    Imagine if you will a big physical CD album case on your coffee table with cards in each of the sleeves. Each card represents a particular piece of Media (a movie, a photo album, a Music Playlist, the latest episode of a TV recorded series). Now if you want to initiate playback of any of those items, you punch in the number on the card via your remote control or keyboard, or you run your barcode scanner over it, or if you're like me, you swipe the card over your RFID Reader, and magically MP starts to play it back.

    I am following your concept with interest, but:

    1) a htpc is a modern thing. Not many people have one. A RFID reader (ok the remote is possible too) is ultra modern, so I guess even less people have one.
    So first place, I doubt many people will have use for this.

    2) If I understood right, you want to do something like an "offline search engine" for media. Say, you flip through your (physical) cd collection, find one you want to listen to and then you sway it in front of your rfid reader? Isn´t it easier to insert the cd? And wasn´t it more productive to improve the databases and search possibilities for media within mediaportal?

    If you want to do this for yourself, perfect. Just don´t think it will be of much practical use. But you asked for comments and this is mine. I like your structured approach, though. And it is a good start to get involved to work on something you are personally interested in. :)

    tomtom
     

    MariachiElf

    Portal Member
    May 23, 2006
    17
    0
    USA / Los Angeles, CA
    tomtom,

    Thanks for the comment.

    I'm going to skip over 1 as I think we both can agree it's mostly irrelevant. Think of the remote controls or skins that MP supports that almost nobody but the author will ever use. That doesn't mean the author shouldn't develop them, or care about clean implementation.

    Further the "no large audience" doesn't particularly apply since this is not about RFID, it's about a new type of input method and that effects every MP user in one way or another.

    If you really think I'm being to light about the "audience size" consideration please bring it back up.


    As for 2, yes, you understood my motivation project correctly.

    No, I would say it's not easier to insert the CD into the tray than it is just to wave it front of the player (from a what does the human have to do to play this thing perspective). Aside from all the extra hand movements (which btw I don't trust my 1 1/2 and 4 1/2 year olds to execute properly which was the whole motivation of getting an RFID solution to begin with), you also don't need to leave the CD in the tray. You can actually put it back in its home right away, while it's still in your hand, making it easier to keep it where it belongs.

    Also, an offline search engine isn't really what this is, it's more an "external search engine" and/or Command association. I mean that in the sense that MP wouldn't care where these external identifiers came from. It could be an online DB, it's just not a DB under MP's control, and that's the distinction.

    You could initiate playback of a Media Element by entering it's ISBN number which was fed in through RSS. Perhaps MP is integrated with a picture sharing website, and part of the problem is you need to map the ID the website thinks the picture or photo album is to the ID inside My Pictures in order to synchronize them.

    Perhaps the Media Element in question is actually a Script of some kind from the "My Scripts" Plugin. This engine would allow an external input device (be it physical or virtual (like a network service plugin)) to uniquely identify the script you would like executed and execute it when the right circumstances appeared.

    It's an MP automation component and external identifier mapping component more than anything else.

    This could make MP a generic back end for initiating playback of media without having to use the MP UI directly which makes MP more of a platform then an app.

    Think of an application that implemented some completely different view of the MP Element universe that would be completely inappropriate for the MP UI. For whatever reason, writing a UI plugin to MP just isn't the right answer. However, that implementor doesn't want to rewrite all the media handling specifics the Plugin writers have already solved. That implementor just wants to maintain their own database of Element identifiers and send those IDs to the MP machine at the appropriate time and have MP "Do the right thing (tm)".

    That's the kind of thing that this concept is enabling. My examples are just what I see as useful, and they might work for you or they might not. Just think of any reason you might ever want to be able to cause MP to playback a Media Element by submiting an Identifier that MP didn't control the creation of.

    Does that change your opinion at all?
     

    Smirnuff

    Portal Pro
    December 7, 2004
    630
    3
    United Kingdom
    my 1 1/2 and 4 1/2 year olds to execute properly which was the whole motivation of getting an RFID solution to begin with

    Ah ha!!! Now I fully understand your motivation. I could not figure out why you would think getting a CD from your collection and waving it in front of the reader then returning it would be of interest to anyone, when you can quickly navigate an artist list and drill down etc.

    Now the idea of your toddler picking up their favorite Barney DVD and doing the same does make perfect sense, nice idea!!!
     

    mzemina

    Retired Team Member
  • Premium Supporter
  • February 23, 2005
    2,065
    14
    Tulsa, OK
    Home Country
    United States of America United States of America
    Smirnuff said:
    my 1 1/2 and 4 1/2 year olds to execute properly which was the whole motivation of getting an RFID solution to begin with

    Ah ha!!! Now I fully understand your motivation. I could not figure out why you would think getting a CD from your collection and waving it in front of the reader then returning it would be of interest to anyone, when you can quickly navigate an artist list and drill down etc.

    Now the idea of your toddler picking up their favorite Barney DVD and doing the same does make perfect sense, nice idea!!!

    So it boils down to cognitive and motor skills of the young ones, plus the immediate gratification that a tangible motor action on their part provides a response. At least that is what it sounds like.
     

    MariachiElf

    Portal Member
    May 23, 2006
    17
    0
    USA / Los Angeles, CA
    I've been developing the idea over the last week or so and have some plig code going I think it's I head over to the Plugin Developer's forum.

    Thanks all for the feedback!
     

    Users who are viewing this thread

    Top Bottom