GSOC Proposal: mobile mode
#16
@Fice: I would guess it would be more a push service, but it would work the same in a "pull" scenario. aka the slave finds a master machine and says "what do i need?" rather then a "hey i want this/you need to take this" scenario. I would probably venture to say, if you have the time to implement both ways of doing it. It would be the most beneficial for the end user.

Also, I would probably have setLocalPath as an advancedsettings.xml option, since in general it would be set once for the device, then left alone (EDIT: Or a settings option, if you do need to change it on the fly. Rather then have it in a context menu)


EDIT 2: Another point I would like to make, regarding it being "push" is that, it could work over WAN connections without having to have the end-user do any form of major port forwarding and the likes. Allowing them to gain functionality without compromising their home security. (I have not taken into consideration any random disconnects and devices reconnecting should something fail or just loose connection. If we talking about "mobile" then we have to take into account the best we could get is 3G/EDGE)
Reply
#17
@alcoheca: Great to hear. Seems I have some specifications to read this weekend ^^ Just for clarification, are those the specs you're talking about: http://upnp.org/sdcps-and-certification/...rds/sdcps/ (The media server ones).

@Oxyg3n:
Just to clearify, i meant to add the "Change path" stuff to a context menu in this dialog:
Image
So it wont show up on a day-to-day basis

I don't actually see the big use case for pushing stuff over wan. If you're at home, why isn't your mobile device on the (W)Lan. If you're not at home, how would you tell a xbmc instance to push some media? I guess there are some scenarios where that would be useful but I think those are rather rare and could perhaps be dealt with on top of my proposal.
Reply
#18
@Fice - yeah that's them. Most servers do a version of ContentDirectory:1/2. I'm planning on bringing us up to ContentDirectory:3/4 level - which offers better tracking/syncing of objects between servers.

As to push vs pull, UPnP supports both methodologies, but pull is going to be easier to implement, just copy the file using http/ or if xbmc the native protocol along with the metadata. Then insert into local db under a source identified by the server's UDN. Pull would work with *any* UPnP server, not just XBMC.

If you implement push using UPnP, then you also have the ability to rip/download files on a client then sync them back to the server at home when you return.

Anyway these are just my ideas, you're of course free to propose any approach
Reply
#19
fice, you might consider updating your initial post with your more concise GSOC proposal. Also, I wonder if we can both accept alcoheca as a student AND accept him as a mentor? Smile
Reply
#20
that's not allowed by google rules
Reply
#21
Not sure if elupus is able to mentor? Otherwise I've done a GSoC on uPnP and is fairly knowledgeable at it.

And there is nothing wrong with students helping eachother out with knowledge either Smile
If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#22
I was definitely kidding. That's way too much work for one person. The more I think about this proposal, the more I wonder who would be the best mentor. It does a lot of upnp stuff, so topfs2 or elupus might be options. But it also might require possibly significant work in the library to deal with the multiple copy issue, which would find benefit from Jonathan or Montellese. Confusedhrug: Something to think about later.
Reply
#23
(2013-04-30, 08:43)natethomas Wrote: I was definitely kidding. That's way too much work for one person. The more I think about this proposal, the more I wonder who would be the best mentor. It does a lot of upnp stuff, so topfs2 or elupus might be options. But it also might require possibly significant work in the library to deal with the multiple copy issue, which would find benefit from Jonathan or Montellese. Confusedhrug: Something to think about later.

Personally I think focusing on a single feature is better than splitting it out. i.e. skip the uPnP for now. COuld just keep it in mind when designing so it would be easy to add later. So get the UI integration and job invocation right thats probably more feasible.

Wonder how much this could be done as an addon, the more the better IMO.
If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#24
I had the same issue, when thinking about "what does it touch". The upnp stuff is obvious, but I had some difficulties isolating the other parts. So some sort of "Allrounder" might be a nice mentor candidate...

Quote:Wonder how much this could be done as an addon, the more the better IMO.
Well, I wanted the sync policies to be addons. Im not sure about the basic groundwork though...

with regard to the upnp stuff... I read that alcoheca wants to
Quote:create and maintain an official addon which provided the profile descriptors
I guess he didn't mean that addons can extent those upnp descriptors and hence extend the upnp server? If he did, perhabs the import/export upnp features could be an addon. Also, I'm not sure how good it would be to rely on another gsoc project.
Reply
#25
Hi,

first off, I'm still interested in working on this, but I hit some motivational low this week and worked on some smaller tasks this weekend..
Also I'm probably not working full time on this, but still better than nothing, right?


Vankwish Wrote:First of all allow me to thank all developers past, present and future for their excellence! Secondly let me apologise for the length of this post.

As more and more low power devices are being supported by xbmc (either under linux or natively under windows or android or ios . . .) I think that the appeal of storing media on portable usb hdd is strong with the 'average' user who does not know/want/need a dedicated NAS solution. I also understand efforts are being made to source content not just locally but also on line (a la boxee).

It is for this reason I would like to see support for removable media sources (usb or online) supported at the database level. I didn't know whether it concerns this thread or either thread here or over here, and I admit I am certainly not knowledgeable enough to even begin to suggest how this can be implemented but I can attempt to describe an ideal outcome ...

At start up or when a device is connected that has previously been added to the library as a source, XBMC would recognise this device (unique identification or by volume label or possibly pivos userdata style with a 'named' file/folder residing on the drive?) and this would be reflected in the library listings (with the specific content being displayed in moves/TV/music/home vids. . . ). When this drive is unmounted the listings are removed (or hidden I guess) until the device is plugged back in. Once a source has been scanned and added to the library it need not be scanned in again until there are any addition/deletions etc. The benefit of this would be that xbmc would remember the watched statuses of the media across different drives and the library could be updated easily independently of which drive was connected at the time. If media was unavailable xbmc could still display it in the library and present the user with the information of the location of the media (i.e. "plug the 'movies' drive in to watch"\"on WD elements drive" etc)

I understand that this may be accomplished already in several different ways, most popularly by mobile device users making separate profiles reflecting changes in their sources\local network. I have also achieved a similar effect for a family members pivos xios where the userdata dir (xbmc-data) is stored on each of the hard drives with the settings specific to the media on that hard drive, but it is restricted to a cold boot start up, one drive at a time and no overall 'library'.

Personally I have a NAS solution for both my media and database and understand that it may conflict with the idea of a central database implementation shared across multiple xbmc instances but I believe that the direction that xbmc is headed rapidly, if implemented transparently, this may be a valuable feature for those who may not frequent these boards as 'enthusiats' and use the low power/mobile versions of xbmc.

Thank you for taking the time to read this admittedly lengthy post, and irrespective of whether ‘I’m talking out of my arse’ would like to wish you all the best of luck!
So, one thing you're after is hiding library items that are on drives, not currently connected. right?
My idea was to automatically add a media filter to a source once we know it's offline. That media filter would only show items of that source, where we have a local copy. It should of course be possible to remove/add this filter manually. While this is definitely on my todo/wishlist, it's probably sth. I'm going to work on after all the rest is done.

The next thing is, that xbmc doesn't loose data when you unconnect a drive?!? Because I'm using external drives with my laptop and I never had any issues, as long as l don't do a "clean library" while drives are not connected.

The big question is, how do we find out if a source is unavailable/available? With usb drives, we could probably listen the some events of the operating system. with NAS drives, I could see different approaches... so, any ideas about that?
Reply
#26
(2013-06-02, 17:05)Fice Wrote: So, one thing you're after is hiding library items that are on drives, not currently connected. right?
My idea was to automatically add a media filter to a source once we know it's offline. That media filter would only show items of that source, where we have a local copy. It should of course be possible to remove/add this filter manually. While this is definitely on my todo/wishlist, it's probably sth. I'm going to work on after all the rest is done.

The next thing is, that xbmc doesn't loose data when you unconnect a drive?!? Because I'm using external drives with my laptop and I never had any issues, as long as l don't do a "clean library" while drives are not connected.

The big question is, how do we find out if a source is unavailable/available? With usb drives, we could probably listen the some events of the operating system. with NAS drives, I could see different approaches... so, any ideas about that?

Hi Fice

Perhaps one idea is for XBMC to create a file in the root of the removeable drive (something individual for each drive like XBMC123.txt, where 123 is sourced from the drive's serial number or something else that could be queried from the drive, or otherwise just a sequential sequence, so the first drive XBMC would create XBMC-RD1.txt, the second XBMC-RD2.txt, obviously it would need to keep a note of which numbers it had already used) and then check for that file and if not found, decide the drive is currently unavailable. You might need to allow time for the drive to be woken from sleep state though as most USB drives seem to do that.

I'd like to suggest an idea of having the option to still see the unavailable movies in the library, with either a simple "Offline" icon to indicate which are not currently available, or even (perhaps in Movie Information) further details, such as the name of the drive the files are on. It's nice to be able to browse through one's entire library to choose from or even just for checking what we have, even if we need to connect up a drive to actually be able to play them.

I guess you might want to look at supressing the "Media not available, remove from library?" pop-up for files marked as on removable media (or globally if that's not possible), as it's a bit too easy to accidentally say Yes to this and then need to update the Library to get the movie back in it. Ideally, if possible this popup would be replaced with a simple notification like "Drive xxx needs to be connected to play this movie", with just an OK button to close it.
Reply

Logout Mark Read Team Forum Stats Members Help
GSOC Proposal: mobile mode0