Topic: Control Widget time from Widget

Is there a way to have the widget cycle to the next one, even if the widget time isn't up? Or the otherway around, have it extend its time and play for longer?

Re: Control Widget time from Widget

There isn't a public method for that yet (a widget controlling how long it's up independent of the duration setting).  The idea is to have a widget be able to operate in a "cooperative" mode where it sets a flag when it's done that would be monitored by the Control Panel.  The latest update includes a primitive version of that functionality, but none of the current widgets exploit it, and there may be ongoing security sandbox issues that may prevent the Control Panel for being able to monitor such a flag in future versions of FlashLite.

Assuming one can do it, however, the difficulty is the abusive developer that thinks his/her widget is Really Really Important and should not give up control of the device.  What we may end up doing as a compromise is that you can only *shorten* the duration, not extend it.  If a user truly wants the widget to run forever, all she has to do is make it the only widget in the channel.  We'll also be adding the ability for the user to pause the widget rotation.

Again, this is a tricky balance of what the user wants vs. what the developer wants.

Re: Control Widget time from Widget

Personally, I think the flag idea is fine, say the widget runs for the set time, or until flagged.
I could just use it either way, but it seems reasonable why to only shorten, not elongate.

Re: Control Widget time from Widget

If you don't mind using a really dirty hack and you really want to be able to make widgets that can switch the widget currently being displayed, you can use my startwidget cgi script.

In theory, if you put it in the /www/cgi-bin/ directory on the chumby you can probably force the chumby to display a specific flash movie by having your widget load a url like this:

http://localhost/cgi-bin/startwidget?/mnt/usb/some_widget.swf

I've been meaning to experiment with this for a few days now, but I haven't gotten around to doing it yet. If you end up trying it, let us know how it works out.  Assuming it works at all, keep in mind that doing it this way circumvents the Chumby widget loading system (thus preventing automatic widget rotation, and allowing you to control exactly how long a widget is displayed) but it will also temporarily disable access to the Chumby control panel and it will run the widgets unsandboxed. As is the case with all funky hacks, YMMV.

Re: Control Widget time from Widget

Aside from the "cooperative" mode that Duane mentioned, we're also looking into providing a mechanism for detecting whether a user is interacting with a widget and to extend the playback time accordingly.  For instance, if you are reading articles on a news based widget (scrolling up/down, advancing articles, etc), the ideal behavior, in most cases, would be to prevent the Control Panel from advancing to the next widget until you're done reading.