vincentbernat / dashkiosk

Managing dashboards on various displays (especially those running on Android)
Other
364 stars 63 forks source link

Picture-in-picture / multi viewports #37

Open roynasser opened 8 years ago

roynasser commented 8 years ago

More of a suggestion I guess, but would it be possible to put more than one dashboard up at a time? It would be interesting in some cases... I suppose one can create a framed page, but that defeats the purpose of a central admin...

vincentbernat commented 8 years ago

The feature would make sense but I have no plan for it. The admin interface for that could be a challenge.

roynasser commented 8 years ago

Understood... my idea qwould be some premade "shapes"... (simple stuff like [ | ] and [ + ] perhaps.... but no worries...

One additional doubt, is it possible to configure chromecast support within a docker instance? afaik the docker start process isnt using a config file, and therefore I cant specify a listener or anything...

It would be nice to run dashkiosk in a container....

EDIT: thinking better it would make more sense to have a group within a group to manage the p-i-p scenarios... lets see if I can get this running accordingly with some chromecasts and I'll try and look at the source ;) thanks for all your effort

vincentbernat commented 8 years ago

You can use environment variables but the other problem you will run into is to ensure your container can handle multicast packets. Unless you use some advanced networking stuff, it won't work out-of-the-box.

vincentbernat commented 8 years ago

See: https://dashkiosk.readthedocs.org/en/latest/configuration.html#environment-variables

roynasser commented 8 years ago

Yes... I'm aware lol... running into that now...

Do you know what ports are needed to communicate? I can tehn setup portforwarding... but I think I'll just create a vbox with bridged lan and get a dhcp from the network... Container would be a bit nicer so I can just throw the container on any machine... oh well... :lol:

anyways, I'm getting some weird behavior when trying to build on ubuntu, grunt exits immedaitely with no dist directory being created... I'm looking around abt what can be wrong... Thanks anyways for the great help!

ps: 1 qustion (a bit off topic) but what is the difference/if any of me building the chromecast receiver myself? I already have a chromecast APPID, should I use that with your receiver? or just not put anything for receiver (just the url to /receiver) and leave it use the default?

thanks

plitewaikato commented 8 years ago

You don't need Dashkiosk to do picture in picture, just panel the site it loads. Variants of this are what our screens run, each panel is populated by a Google Presentation. We modify the shared presentation in the cloud to add or remove content and the panel(s) update automatically.

On Thu, Nov 26, 2015 at 7:40 AM, Roy notifications@github.com wrote:

Yes... I'm aware lol... running into that now...

Do you know what ports are needed to communicate? I can tehn setup portforwarding... but I think I'll just create a vbox with bridged lan and get a dhcp from the network... Container would be a bit nicer so I can just throw the container on any machine... oh well... :lol:

anyways, I'm getting some weird behavior when trying to build on ubuntu, grunt exits immedaitely with no dist directory being created... I'm looking around abt what can be wrong... Thanks anyways for the great help!

ps: 1 qustion (a bit off topic) but what is the difference/if any of me building the chromecast receiver myself? I already have a chromecast APPID, should I use that with your receiver? or just not put anything for receiver (just the url to /receiver) and leave it use the default?

thanks

— Reply to this email directly or view it on GitHub https://github.com/vincentbernat/dashkiosk/issues/37#issuecomment-159697413 .

vincentbernat commented 8 years ago

You can't just forward multicast with port forwarding. For the build problem, please open a ticket with the output of Grunt.

You don't need to build the chromecast receiver (and therefore, you don't need an app ID) unless you need to do modifications or if you are worried about privacy issues (the default chromecast receiver is hosted on GitHub).

roynasser commented 8 years ago

hi @plitewaikato that is somewhat what we would like to do... what do you mean "panel the site"? Can you expand a bit on how you do it? I imagine you host a page which is "paneled" (frames?) as the dashboard in dashkiosk?

roynasser commented 8 years ago

@vincentbernat the hosted one should be fine! :)

I'm up to the spinning filmwheel on the chromecasts.... for some reason it seems unable to load any sites... tried both http and https (my dashkiosk receiver is on http)...

EDIT: the "unassigned" dashboard works.... any other url doesnt seem to work... weird... I wonder if there is something blokcing...

vincentbernat commented 8 years ago

Try with a browser first (by pointing it to /receiver). The most common causes are described here: https://dashkiosk.readthedocs.org/en/latest/usage.html#iframes. When trying with a browser, keep a look at the console to know the cause.

plitewaikato commented 8 years ago

Yeah, I use this framework but there are others.

https://github.com/allynbauer/statuspanic

On Thu, Nov 26, 2015 at 9:42 AM, Vincent Bernat notifications@github.com wrote:

Try with a browser first (by pointing it to /receiver). The most common causes are described here: https://dashkiosk.readthedocs.org/en/latest/usage.html#iframes. When trying with a browser, keep a look at the console to know the cause.

— Reply to this email directly or view it on GitHub https://github.com/vincentbernat/dashkiosk/issues/37#issuecomment-159727187 .

roynasser commented 8 years ago

I'm getting some errors when using google, for example, which is fine... (x-frame error), but other sites load fine on the browser without any errors.... Actually got one error on a JS include.... not sure if it should cause the entire page not to load? image ps: on the browser receiver its fine. ps:2 - got w3c.org to load... Chromecasts definitely much more picky abt which sites it loads.... weird... greenscreen was working with many more sites, but it might just be the way they send the pages (I believe they render and "cast" the loaded page...)

vincentbernat commented 8 years ago

When you say "spinning filmwheel", is it the purple "This, Jen, is the Internet" screen or the one with a black wooded background?

roynasser commented 8 years ago

Its the back wooded one... It "gets past" the "This is Jen"... and loads the receiver page.... (As per the edit above, I did manage to load w3c.org... so far the only site lol...) I'm going to look into the xframe issue or something...

I tried node unblocker now... finally got it to work with some tweaking... but most pages still dont load.... luckily a few of my dashboards (the stuff I need) are working after all...

roynasser commented 8 years ago

@plitewaikato did you make some resource for iframes or something? I havent found decnt documentation on the panicboard project... If you have anything you can share thatd be great... seems the project is abandoned since 2014....

Edit: I ended up with a simple php script I whipped up myself just for grid and split view... working fine so far... I'll probably try to integrate something like that into DashKiosk if I have time soon...

vincentbernat commented 8 years ago

Well, if it works in a browser, it should work on the Chromecast. Notes that the Chromecast are far more limited in power. If your dashboards are heavy on JS, it may have some difficulties. I had also reports that the problem got worse recently.

roynasser commented 8 years ago

Its really strange... casting tabs or using greencast works but the same pages fail to load on the chromecast with dashkiosk... I'm quite stumped...

I'll continue looking into it though... maybe I'll fidn something...

anyways, great work! I wonder if its due to the greencast using their own sending mechanism, as opposed to the iframe... Is there any intention of doing the same on dashk?

In terms of devices, what do you recommend now adays which isnt too expensive and readily available? Has there been anyone running on raspberrypis? or even maybe some pc-sticks like the lenovo stick? (its running windows, but is there anything which can be "set-it-and-forget-it" with dash?

All the best and congrats on the project!

plitewaikato commented 8 years ago

As a test can you cast it using this? https://boombatower.github.io/chromecast-dashboard/sender/

On Thu, Nov 26, 2015 at 1:54 PM, Roy notifications@github.com wrote:

Its really strange... casting tabs or using greencast works but the same pages fail to load on the chromecast with dashkiosk... I'm quite stumped...

I'll continue looking into it though... maybe I'll fidn something...

anyways, great work! I wonder if its due to the greencast using their own sending mechanism, as opposed to the iframe... Is there any intention of doing the same on dashk?

In terms of devices, what do you recommend now adays which isnt too expensive and readily available? Has there been anyone running on raspberrypis?

All the best and congrats on the project!

— Reply to this email directly or view it on GitHub https://github.com/vincentbernat/dashkiosk/issues/37#issuecomment-159769062 .

vincentbernat commented 8 years ago

❦ 25 novembre 2015 16:54 -0800, Roy notifications@github.com :

Its really strange... casting tabs or using greencast works but the same pages fail to load on the chromecast with dashkiosk... I'm quite stumped...

Dunno about greencast but tab casting is sending a video capture of the

tab, so the Chromecast doesn't have to do anything.

Don't diddle code to make it faster - find a better algorithm.

roynasser commented 8 years ago

I'll test that url in a few minutes as I'm on the way to the office now...

Yes, if I'm correct GC is rendering the pages and sending the video... Another question comes to mind, would dashkiosk run on a light system such as a RaspbPi? That could make things easy in some situations...

Also, sorry for repeating myself, but "In terms of devices, what do you recommend now adays which isnt too expensive and readily available? Has there been anyone running on raspberrypis? or even maybe some pc-sticks like the intel/lenovo stick? (its running windows, but is there anything which can be "set-it-and-forget-it" with dash? - there may be other benefits in having a powerful machine at the "tip")"

vincentbernat commented 8 years ago

There is no accelerated rendering done in browsers for the Pi, so it is quite slow but it works. A PC on a stick should work. An Android device is also quite capable.

roynasser commented 8 years ago

Are you shying away from specific brand names explicitly? lol... if so thats fine... I'll do some reasearch, I had heard some good abt the firestick, but know there is a myriad...

In terms of the PC on s tick I'd just run the browser receiver(display), right?

And about the Pi, I wasnt thinking of it as a "display" but just to use as the dashkiosk server... is there anything intensive going on there that might be of worry in your op? (Like I said greenscreen seems to do the rendering on the server - some sort of headless brwoser if im not mistaken - so the Pi is out there as a server)

vincentbernat commented 8 years ago

For Android devices, any brand should be fine. Just check that Android is recent enough. At least 4.2. For PC, yes, just use a plain browser. And the Pi will be just fine to run the server.

roynasser commented 8 years ago

@plitewaikato I tried the link you provided... it works without issue...

tried http://www.cnn.com... works fine through your sender link but through dash it misses parts of the page (like images, etc)...

triwd http://www.usatoday.com and it just shows the "wooden" background with a growing (pulsing) ball on dashkiosk, works fine with your sender......

vincentbernat commented 8 years ago

I'll try to investigate why there is a difference...

roynasser commented 8 years ago

Cool thanks @vincentbernat

Another question, few actually lol...

1 - I'm running the server like:

node server.js --configuration config --environment production > /dev/null &

I tried using config.js as the config file but it wasnt reading... dunno why... anyways, no major... and here is my config:

{
    "environment": "production",
    "port": "8080",
    "branding": "default",
    "chromecast": {
        "enabled": "true",
        "receiver": "http://172.20.36.111:8080/receiver"
    },
    "log": {
        "file": "/var/log/dashkiosk.log"
    }
}

Still im getting loads of logging on the console (hence I added >/dev/null)... I must be doing something wrong?

  1. Can I use forever or something to keep it running?
  2. Occasionally some screens seem to lockup... this happens intermitently... sometimes restarting the dashskiosk server fixes it, other times I need to go from chrome and stop it from casting, and then re-start it from dashkiosk... I think I had seen a command which would periodically "force-reconnect" them?

and 4 (wow)... I also notice that sometimes the "reload screens" icon vanishes in one of the groups... sometimes taking the screen out and re-putting it on, or putting a new one in the group fixes this... see screenshot:) image

vincentbernat commented 8 years ago

❦ 26 novembre 2015 07:37 -0800, Roy notifications@github.com :

node server.js --configuration config --environment production > /dev/null &

I tried using config.js as the config file but it wasnt reading...

Dunno for this one.

Still im getting loads of logging on the console (hence I added /dev/null)... I must be doing something wrong?

No, the output on the console is always here. Usually, when running as a daemon, the output is just redirected to /dev/null, like you did.

1 Can I use forever or something to keep it running?

Yes, whatever you think is a good idea.

2 Occasionally some screens seem to lockup... this happens intermitently... sometimes restarting the dashskiosk server fixes it, other times I need to go from chrome and stop it from casting, and then re-start it from dashkiosk... I think I had seen a command which would periodically "force-reconnect" them?

You are not the first to report me this. This is due to a recent firmware update of the Chromecast. I did already investigate and was unable to find why it happens. The Chromecast being a closed ecosystem, the issue seems difficult to troubleshoot. I will try with the URL you provided previously.

Just to be sure this is the same issue, put one Chromecast in the "default" group (the "unassigned" one with the default dashboards with the photo). It should work just fine here.

and 4 (wow)... I also notice that sometimes the "reload screens" icon vanishes in one of the groups... sometimes taking the screen out and re-putting it on, or putting a new one in the group fixes this... see screenshot:)

It's expected. When the connection with the device is lost, there is no

way to issue a reload, so the icons are removed.

Use data arrays to avoid repetitive control sequences.

roynasser commented 8 years ago

Hi @vincentbernat Just one note about the last issue... If I move the chromecast to the "Unassigned" group and then back, it starts working again.... So in some way it is "reconnecting"...

Is there anywhere I can send you a couple of private links if you are interested in testing further? (I have some embeds which work through the link you sent me but not through dashkiosk)

vincentbernat commented 8 years ago

vincent AT bernat.im