Topic: 50 Widgets per channel limit?

Now that my Chumby is back up and running I've been going through and pruning out some of the old widgets that no longer work. In doing so I noticed that the web site claims that there's a 50 widget limit for each channel.

I don't remember that being the case previously (or perhaps I just never noticed it), and the control panel on my Chumby claims it's got 84 widgets. So I have a couple of questions:

1) Is there really a 50 widget limit per channel, or is this an artefact of the website that's not really honoured by the Chumby itself?

2) Is the limit there for a reason? E.g. Does using more widgets result in higher bandwidth (and therefore hosting fees) for some reason?

Re: 50 Widgets per channel limit?

Chumby had a 100 widget limit, and I reduced it to 50 until we see how the new system behaves.

Once we know, and if the system can handle it, I'm likely to change that limit.

One of the strategies for cost reduction of the new systems is to take better advantage of device caching.  Unfortunately, the Chumby Classic hasn't got much storage, so too many widgets blows the cache, resulting in a huge jump in bandwidth usage past a certain total size.

Re: 50 Widgets per channel limit?

Thanks for the info. Is there some kind of optimum strategy for the number of widgets in a channel that would allow the Chumby Classic to cache as much as possible?

In other words, given the average size of a Chumby widget, how many will fit in the cache at once? If (say) 10 widgets fit in the cache, I presume it would be better for the server if I had 5 channels with 10 widgets each (and an alarm to switch channels every 30 mins) rather than one channel with 50 widgets that's permanently active.

Re: 50 Widgets per channel limit?

It's an issue of the total size - the CC cache is 2MB.  The screen licking dog, for instance is 400K, while some apps are less than 10K.

The choice of 50 was based in an average app being 40K.

The other devices take advantage of the µSD card - the CC doesn't have that, it only has RAM and a tiny writeable store its for settings.

Yes, a round robin of channels would help - by the very nature of this simple cache, once you go past the limit, *every* app gets reloaded, *every* time.  Using a round robin, it would at least cache for the duration a given channel is showing.

One thing I'm looking into is using a better strategy for the caching on these devices.  Right now, its the least recent app that gets purged to make room, but there's very likely a better algorithm.

This is also in the user's interest as well, for places with limited or metered bandwidth.

Re: 50 Widgets per channel limit?

Okay, on that basis my list of ~80 widgets would probably be better as three channels of 40, or even four channels of 30, with overlap between the channels. With that many widgets in each channel I could get away with changing channels every hour or two.

Managing a setup like that would be a bit easier if it were possible to move or copy widgets between channels via the web interface... just something else to add to your long list of things to do wink


With respect to the lack of a µSD card in the CC, how feasible would it be to use a USB drive for the cache? I've got one of those tiny USB µSD adaptors - the sort that's barely any larger than the USB plug itself - so it doesn't get in the way if it's permanently plugged in - it was going to be my option for Zurk's offline OS if the servers never came back. I'm sure there are other CC users with old USB drives that might be happy to use it to increase the cache size if there's a practical way to do it.


(I don't have the screen licking dog, at least)

Re: 50 Widgets per channel limit?

Yes, one thing I'm considering doing is asking that users insert a USB dongle in the CC that I can use for caching.

I didn't do that unilaterally because I didn't want to modify people's dongles without permission.

Re: 50 Widgets per channel limit?

Duane wrote:

Yes, one thing I'm considering doing is asking that users insert a USB dongle in the CC that I can use for caching.

I didn't do that unilaterally because I didn't want to modify people's dongles without permission.

Similar to debugchumby, and "start_sshd" files being present on a USB stick to allow/expose certain features, what about something wherein a user places a "chumby_cache" file on their USB stick, then it will be used to cache stuff?

Linux Guy - Occasional Chumby Hacker

Re: 50 Widgets per channel limit?

Yeah, that's an interesting solution.

Re: 50 Widgets per channel limit?

The problem with this approach is it's voluntary, and requires setup.  It won't alleviate your bandwidth if users aren't concerned about theirs.

Linux Guy - Occasional Chumby Hacker

Re: 50 Widgets per channel limit?

Except it will speed them up, in some cases, which is always a benefit

Re: 50 Widgets per channel limit?

I'd do it (I just bought a Classic from eBay, still in transit) to speed up my service and save you money. If this feature can just be pushed through a control panel update, I say that you should go for it.

Re: 50 Widgets per channel limit?

welcome (finally) to the wunderful world of chumby adopterhood. smile

Cleaning up any loose bits and bytes.

Re: 50 Widgets per channel limit?

diamaunt wrote:

welcome (finally) to the wunderful world of chumby adopterhood. smile

I definitely do think that that welcome is overdue, but on stuff I spend money on, another chumby is the lowest priority. For example, I see a decently priced Chumby in good condition on eBay, but my graphics card dies and I don't want it to be replaced with something crappy, or the battery in my laptop dies or something. On a more on-topic note, a way to encourage cacheing on Classics would be to only allow channels with more than 50 widgets if you had a USB stick plugged in to the Chumby. The presence of the USB stick would be seen by the device on boot up, and if there are more than 50 widgets but no USB stick the device would just play the first 50 in the channel.

Re: 50 Widgets per channel limit?

It has to take quite a while to cycle through all those widgets. I need to organize mine better but I don't have more than maybe 8 widgets per channel. I was going to prune out those that did not work but it seems some may arise from the dead so I thought I would give it a bit of time first.

Tar, feathers, congress. Some assembly required.

15

Re: 50 Widgets per channel limit?

Materdaddy wrote:

The problem with this approach is it's voluntary, and requires setup.  It won't alleviate your bandwidth if users aren't concerned about theirs.

I suspect that anyone who's prepared to pay $3 per month to keep their Chumby going is probably also keen to ensure that this is viable in the long term, and therefore more likely to sacrifice a small old USB stick to the cause. The difficult thing will be letting the users know about the new feature and presenting it in a way that makes them want to go through the extra steps.

I like nathanm's suggestion of limiting the number of widgets unless a caching USB stick is installed, but that would have to be handled carefully so as not to appear to be providing a 2-tier service for people that are paying the same amount.

Re: 50 Widgets per channel limit?

Just ignore any further widget when the cache is full and show only the widgets in the cache.

If a user needs more widgets then check if a cache directory exists on the USB stick and use this directory for caching.

Re: 50 Widgets per channel limit?

these are all good ideas, keep 'em coming, but realize that most of them require changes to the control panel, at the very least, and getting those loaded on the chums... so it's not a quick fix.

Cleaning up any loose bits and bytes.

Re: 50 Widgets per channel limit?

Can the server detect what type of device is at the remote end and so artificially limit the number of widgets the device can see (maybe add a special "widget list truncated" widget to the end of the presented list).

As/when the control panel is upgraded, the information presented to the server can include the size of the cache space (internal + SD card) so the server can then allow more widgets if cache space allows.

Re: 50 Widgets per channel limit?

interesting question, sweh,  I wouldn't put it past our Duane to be able to put together something like that.

I do know the need for the 50 widget limit was something that cropped up very close to the end of the beta period with one person in the last batch of testers having one channel with one classic that caused server bandwidth to go WAY up, so the 50 per channel limit was a quick fix to avoid having things go *BOOM* when we went live.

Cleaning up any loose bits and bytes.

Re: 50 Widgets per channel limit?

@sweh - rather than "widget list truncated" how about the classic "You have reached the end of the internet. You can't go any further from here. Please go back and start over at the very beginning..." The phrase seems to have been invented for this situation.

21 (edited by 1ras 2014-07-17 00:33:37)

Re: 50 Widgets per channel limit?

@ sweh: Yes the server knows the device type as the hardware version is part of every request. The USB stick size is not an issue at all as the whole widget base (1000+ widgets) fits on a 128MB stick.

22

Re: 50 Widgets per channel limit?

Assuming the control panel could be updated to allow USB cache to be used then a couple of changes to the web interface could perhaps be considered:

1) The 50 limit cut-off line could be changed from a hard limit to a soft one. Classic users with no USB cache file would only have access to the widgets above the line. Those with a cache file would gain access to all of them.


2) Rather than making it a limit on the number of widgets, make it a limit on the size of the widgets. To keep it simple, give each widget a score from 1-20 based on how large it is, with the 400k licking dog as a 20. With 2MB of cache available on a Classic, you could have up to five 400k widgets, giving a maximum of 100 points - but you would probably set the limit lower (e.g. 80) to allow for some overhead. It's up to you whether you have 80 x 1 point widgets, 4 x 20 points, or a combination in between. Adding a USB cache would increase your points allowance (or remove the limit entirely).

This is obviously more work to implement, but you do gain a few benefits:

* By using a non-linear scale to allocate the points you can subtly encourage users to go for more lightweight widgets
* You're setting a real limit based on actual sizes, rather than hoping that "average widget size" corresponds to "average size of widgets used".
* The biggest bandwidth users are the ones most penalised, and most encouraged to add a USB cache.
* Low bandwidth users are no longer subsidising bigger users.
* It could actually be sold as an *increase* in the allowance, since you could now have up to 80 widgets (if you choose wisely), rather than the hard limit of 50.


Because it would still be possible to have multiple channels, each with 80 points to allocate, there's no real reduction in functionality for anyone, but from the server perspective you would know that each channel's widgets are entirely cacheable and therefore only have to be served once for each channel change, at most.



Ideally I'd like to see the cost of the subscription come down a little in the medium term, provided it doesn't affect the long term sustainability. Reducing the bandwidth costs is likely a necessary step towards that goal. Encouraging the use of a USB cache, and mitigating the effect on the servers for those Classic users who don't have such a cache, would seem to be a step in that direction.

Re: 50 Widgets per channel limit?

@Xav: The web interface can't know if the Chumby has an USB Stick for caching available or not when you create or change your channels. The Chumby is not even required to be online while you change the channels and at any time you can remove the USB stick. Therefore the limit need to be dynamic depening on the current situation and not on what the user configured while he had an USB stick plugged in.

Re: 50 Widgets per channel limit?

In the long run, I'm not sure I want to penalize owners of C1, I3, I8 and C8 customers for the limitations of the CC device, though admittedly that's what I'm currently doing to avoid a server meltdown, as diamaunt alluded to.

Any given user can have a mix of devices, and any can play any channel so handling this at the site level at channel creation time based on whether or not the user has a CC seems like the wrong answer.  After all, what's to stop a C8 user from obtaining a CC later?

At the moment, the server is not storing the size of the apps - one issue is that the system allows different versions of the same app to play on different types of devices, so again, you can't know at channel configuration time exactly what the total size of the channel is until you know the device.  Even worse, the device itself is what makes the choice of which app variant to use, not the server.

Another quirk - it's the app movies that are cached, not the app instances (the user's configuration for any given app) - you could have a channel with 1000 instances of the same app and it wouldn't blow the cache.

My guess is that what we'll end up doing is raising the limit, but only allowing the first 50 or so apps in a channel play on the CC unless they have a USB dongle with the special "use me for a cache" file on it.

25 (edited by 1ras 2014-07-17 11:51:32)

Re: 50 Widgets per channel limit?

@Duane: I also think that it can be only done at the CP side as it is the only part which exactly knows what can be cached on the device and what not. But I would consider using a directory instead of a file to detect if a user would like to use the USB stick as a cache and store the cached widgets below this directory. So that the USB stick can be easily used for other things without flooding the root directory.