While it is theoretically possible to download a file, writing it to a USB drive and play it back later, this is not recommended for a variety of reasons, not the least of which is that it will limit your potential audience to owners of the XR or XDS. It also will not allow users to get immediate gratification and stream the content they want to watch instantly. You would also have to manage space on the drive and deal with drives that may not be writable.
I haven't done anything with the USB support, but I believe nothing you've stated is a problem, except possibly for #2. Using Asynchronous downloading and the normal video playback (which is asynchronous by nature) allows both operations to happen at the same time, but I have no idea if there's enough load generated by doing so to cause a problem playing a video at the same time. I suspect it's not a problem, unless you are using 1080p playback, in which case you may be at the edge of the capabilities of the box and additional load may adversely affect it. I suggest you download the SDK and take a look at the Component Reference for what operations are supported with USB drives, and in general.
-- GandK Labs Check out Reversi! in the channel store!
In regard to downloading the next video while the current one is playing, what would happen if the next file isn't downloaded by the time the first file finishes playing? If you're going to be doing this, it'd be easier to simply download all videos to the USB, and then have your channel verify that all required content is available before it is starting the playlist with the .exists method.
Or perhaps I'm not understanding your question - maybe you don't want to play back the files 'offline' on a roku - if you want to play them back on a pc or mac or something else later, using the roku as a kind of FTP client, then I guess it wouldn't be so much of an issue if you have enough space on the usb device.
Thank you for the responses, for further clarity and feedback, let me better explain the project background and requirements.
Our company publishes a website centered around the fan base of a Division I university and its athletic programs. We produce around 100 stories a month and have an audience of around 250,000 unique visitors per month. Over the last two years, we have transitioned much of our content to a video format, and currently release 15-20 video pieces a week. We are looking to release our growing video content in a TV friendly format, thus the consideration of the Roku platform/device. We would like to see this happen in two different applications:
A traditional app/channel that would allow our users to stream our content on-demand. A natural fit the intent and functionality of the Roku.
To promote this new video service/format, we will set up our channel to loop-play our latest couple hours of content in 50+ bars and restaurants in our community and surrounding areas. It is this specific application that is requiring us to provide a solution outside Roku's traditional purpose and intent. My proposed solution would contend with the following challenges:
Establishments are not willing to sacrifice the necessary bandwidth to stream a 720p video all day long.
The application must continue to play in the event of a small network interruptions.
Streaming that same looped content 14+ hours on 50+ boxes is not an efficient use of bandwidth/resources. (not a significant issue)
As pointed out in the posts above, there are technical hurdles of making sure the downloaded content is ready and available, but we feel most of those can be addressed in programming. I have reviewed the component reference and do not see any obvious limitations that would prevent such functionality, but would have more confidence in anyone's first-hand experience with the API.
This Roku box version, drive space, and read-only drive issues raised by Patrick would not be significant hindrances given these 50+ boxes (and USB drives) would be provided by us.
Knowing more of our project scope and requirements, does anybody have any additional feedback or thoughts that would help us determine if the Roku platform is adequate for this task.
For commercial, looping applications, you might consider Roku's "sister" company, Brightsign (Brightsign.biz), whose products are designed for that application (and have some technology in common with Roku)