DiyLightAnimation

Software => xlights => Topic started by: dowdybrown on February 08, 2012,

Title: Interactive displays with xLights
Post by: dowdybrown on February 08, 2012,
Several people have suggested that they would like the ability to have a visitor at their display be able to select the next sequence that gets played, perhaps via a web site.

After pondering this for a while, I think the web site approach has several problems:

To get around these issues, I would like to propose a different arrangement. This would involve the following:

Comments? Questions?

FWIW - I have not coded or tested any of this yet, these are just concepts so far.

I have been looking at mobile development tools. I like the looks of Appcelerator (which would support a single code base for Android and iPhone), or I would use tools native to each platform. Feedback on this aspect is welcome as well.

Matt
Title: Re: Interactive displays with xLights
Post by: taybrynn on February 09, 2012,
OMG, I love your idea ..... most than I can state in words.  I had been thinking something similar.  In fact I have an old 802.11 wifi unit ready to go for this purpose!  Great answer to security ... keep it local and isolated.

I think the ability to allow a guest to request 'overlay' display actions would be extremely popular, esp. since so many of my viewers are children and their parents would typically have smart phones (android/iphone). 

I also like the ability to request a song.  But below is a variation on the theme you presented:

Here's another idea:  schedule a 'viewers choice' sequence ... and it would play a particular song or perform a certain action ... based on the result of not one request, but based on the results of an interactive poll that the app could present during a regularly scheduled song ... and basically the choice with the most votes in a certain timeframe .... would become the viewers choice.  I would be cool if an optional audio file could be played to indicate the winning option, or the app would just display the results as they are collected and then the viewers choice would play.

A more advanced feature might be to schedule the TOP3 sequences ... i.e. the #1, #2, #3 most popular sequences based on prior viewers choice results (cumulative viewers requests stats). 

Title: Re: Interactive displays with xLights
Post by: dpitts on February 09, 2012,
Sounds great. How about a small JPG or bitmap file be transported to app from XLIGHTS. This file would be created by user and imported into XLIGHTS along with hotspot regions that could be mapped to the short sequences you spoke of. Then app could as an option display this image and when user touches hotspot regions the mapped sequences could play. An example image could be image of the show or simple images of display items. An Android app with images was created by user on DIYC. Although your idea of WiFi seems cool.
Title: Re: Interactive displays with xLights
Post by: dpitts on February 09, 2012,
taybrynn stoled my thunder. He types fast.
Title: Re: Interactive displays with xLights
Post by: rimist on February 09, 2012,
I like it, however, remote controlling individual components could become troublesome as the number of simultaneous guests show up. The favorites idea works to deal with song requests, but not components. One idea would be to only allow a phone to control the components for a certain amount of time, and then go to the next. This would require keeping track of who arrived, in what order, and who left as well. Just things to keep in mind.
I really like the disconnected idea, however, it does pose a couple other issues. In rural areas to need to put the router in a weather safe location close enough to the road for people to use. In urban areas you run into network interference from so many other networks and other items.

-Rimist (via Tapatalk)
Title: Re: Interactive displays with xLights
Post by: chrisatpsu on February 09, 2012,
you would be relying on the viewers to be able to configure a wifi network on their phone...
most people probably don't know they can do it, or how to do it.

Title: Re: Interactive displays with xLights
Post by: dpitts on February 09, 2012,
Not sure if it is possible but he indicated that app would automatically turn on the WiFi of Android device and automatically connect to ssid = "XLIGHTS".

I know when you install apps on Android the installation program asks user if the app can use certain resources. Maybe WiFi is one that can be used if user accepts when installing. Not sure.


You are not allowed to view links. Register or Login
you would be relying on the viewers to be able to configure a wifi network on their phone...
most people probably don't know they can do it, or how to do it.
Title: Re: Interactive displays with xLights
Post by: MrChristmas2000 on February 09, 2012,
If you were to get multiple request they could be put in a que simillar to a musical jukebox then played in the order requested. You could also limit the request for a particular sequence in some fashion as to prevent pest from requesting the same sequence over and over. It could be that a sequence would not be repeated back to back or depending on how many sequences you have.

Would there be a way to show the user what sequences are currently waiting to run?

xLights could switch back to a preprogrammed list when no special request were pending.

This would provide for a truly dynamic show.

You could have an announcement or a special sign made up for vistor instructions or even a localized web server with instructions.
Title: Re: Re: Interactive displays with xLights
Post by: dowdybrown on February 09, 2012,
You are not allowed to view links. Register or Login
Not sure if it is possible but he indicated that app would automatically turn on the WiFi of Android device and automatically connect to ssid = "XLIGHTS".

I know when you install apps on Android the installation program asks user if the app can use certain resources. Maybe WiFi is one that can be used if user accepts when installing. Not sure.


You are not allowed to view links. Register or Login
you would be relying on the viewers to be able to configure a wifi network on their phone...
most people probably don't know they can do it, or how to do it.

Yes, I was thinking of the Android app "wifi analyzer" which automatically turns on wifi when I start the app and turns it off when I exit. As long as the ssid is fixed, it should not have any trouble making the correct connection - even in a crowded wifi environment.

Matt

Matt
Title: Re: Interactive displays with xLights
Post by: chrisatpsu on February 09, 2012,
so you would have an open unsecured wifi network to your show computer?

i'm not being a negative nancy, just the devils advocate   >:D
Title: Re: Interactive displays with xLights
Post by: mms on February 09, 2012,
If you have a dedicated Wifi router on your show computer with no other access "permissions", wouldn't that be "secure" enough for this purpose?  I would also think there would be some sort of security key (similar to the way satellite receivers work) that would allow the app to only schedule the requested event with no other abilities to access the show computer.  I'm not well-versed enough with networks or software to know how something like this would work.

I would foresee using this as a "make your own sequence" where during a specific song during the show, kids (and their parents) would be able to spin the mega tree, tap to light the window frames, change the colors of smart nodes, light up the roof, etc.  Obviously, there's no way to configure for everyone's individual layout.  Maybe also allow each item to be logged into one at a time.... for instance only one person can spin the megatree at a time. 

I love the potential this has!


Matt,

This sounds awesome!  I, like many others, wouldn't have had a show this year had it not been for xLights!  Keep up the great work!

Title: Re: Interactive displays with xLights
Post by: taybrynn on February 09, 2012,
I see any adhoc control of display items ... to only make sense during a voiceover or other short (generic) song ... perhaps the requests could be queued up (for up to duration of the next adhoc song) ... and then it would basically show everyone on the app who's up next:

john: left megatree - triple spin

cindy: tree line red, tree line green

...
Title: Re: Interactive displays with xLights
Post by: rdebolt on February 09, 2012,
This is a fantastic idea!!!! I could never get away with this at my display as I live in a cul-de-sac and I have "crowd" problems. I could see people outside playing with this all night and other people not being able to get in to see the show. I really do love the idea though!!!
Title: Re: Interactive displays with xLights
Post by: rimist on February 09, 2012,
The point about WiFi access to the show computer is concerning. I'd only run bsd on that machine, and harden it.

-Rimist (via Tapatalk)
Title: Re: Re: Interactive displays with xLights
Post by: dowdybrown on February 09, 2012,
You are not allowed to view links. Register or Login
so you would have an open unsecured wifi network to your show computer?

i'm not being a negative nancy, just the devils advocate   >:D

Good point. I think this can be easily addressed by including encryption and authentication features in the protocol between the show computer and the mobile app.

Matt
Title: Re: Interactive displays with xLights
Post by: twooly on February 09, 2012,
I think what rimist is saying is a open wifi is a open wifi.  Yes it doesn't connect to the internet but it connects to the network which includes your show computer.  Anyone with knowledge/time/bordem can connect to the wifi with not just a phone but a computer and start working away to see if they can get in your computer/cause issues so you show won't run.  Sure you can lockdown your computer like no other, its just another thing you have to worry about.

Me I like the website idea but like pointed out you have to get past the random people on the internet
Title: Re: Interactive displays with xLights
Post by: jnealand on February 09, 2012,
I just cannot imagine doing anything like this.  I'm a model railroad guy as well as a lighting enthusiast.  At train shows, some of the displays have interactive buttons for kids or adults to push.  There is always some kid there just leaning on the button to do that one thing and it is usually something loud and annoying.  Seems to me that would happen with an interactive display and then your well thought out, sequences, and planned show never gets seen in total by anyone due to some one trying to take it over just for the sake of taking it over or pushing a button.  I like to be in control of what my display is doing.  I'm open to suggestions from viewers for changes / enhancements, but I for one like it to be my display and not someone else's.  In my case i seldom have more than one car at a time watching the show, but I do the showfor me and I do not seek out publicity although I might be changing my mind on that one for next year.
Title: Re: Interactive displays with xLights
Post by: rimist on February 09, 2012,
Twooly - exactly. Way to many people hack open networks because they are there.

-Rimist (via Tapatalk)
Title: Re: Interactive displays with xLights
Post by: rimist on February 09, 2012,
Jnealand-
I do my show for my family, however, I'd like to allow interaction some of the time, or, perhaps after the show has run a certain amount of time. Initially, I'm really just entertaining requested songs. It's still my show, just the order of the songs changes. To prevent the annoying twit from repeating the same song, all songs would be in the queue, and a request would be counted as a vote. Order the queue by played counter (asc) then by vote counter (desc). All songs would be played before starting over, but the votes determine the order. You could also Use the requestor's Mac address to prevent excessive votes, just be sure to reset that counter when their requested song plays.

-Rimist (via Tapatalk)
Title: Re: Interactive displays with xLights
Post by: einstein2883 on February 09, 2012,
I think a web site would be better than an app because we wouldn’t need different apps for all the different kinds of phones.   One way to help make sure the person is in your yard would be to have some kind of digital sign/display in your yard that had a changing number.  Then the person could enter that number as some kind of password to login.  You could have the number change after every use or every hour…
Title: Interactive displays with xLights
Post by: twooly on February 09, 2012,
Or somehow tap into the gps like google does going to their site on my phone
Title: Re: Interactive displays with xLights
Post by: rimist on February 09, 2012,
I think the web site would be very versatile. Actually, a single web site could be the host to multiple physical sites. The individual show computers could get an encrypted xml file containing the next thing to do. Each host computer would simply share its public key with the web server as part of the initial configuration. After that, it's a simple http request.

-Rimist (via Tapatalk)
Title: Re: Interactive displays with xLights
Post by: chrisatpsu on February 09, 2012,
well, to keep people from screwing with the rest of the show, that functionality should be locked out once a sequenced song is playing...

i did like the idea of lboucher's app.  but it went through the internet.
it checked to see if you near the show. and could tell you the closest show that it could control.

it would be a good start to have some of these features.
Title: Re: Interactive displays with xLights
Post by: chrisatpsu on February 09, 2012,
You are not allowed to view links. Register or Login
I think the web site would be very versatile. Actually, a single web site could be the host to multiple physical sites. The individual show computers could get an encrypted xml file containing the next thing to do. Each host computer would simply share its public key with the web server as part of the initial configuration. After that, it's a simple http request.

-Rimist (via Tapatalk)

each computer would still have to "announce" to the website what capabilities were available. john might have a megatree spin, but if i don't have a megatree...   etc.
Title: Re: Interactive displays with xLights
Post by: rimist on February 09, 2012,
That is true, however, the server would also share a public key with the show computer, so all of those communications would be encrypted as well

-Rimist (via Tapatalk)
Title: Re: Interactive displays with xLights
Post by: dpitts on February 09, 2012,
I personally like Mr. Browns first idea. I think it would be relatively easy to lock down the wireless access to show computer. The chances of some great hacker with the time and the motive to be on my block looking at my show with bad intentions is very slim. And I am sure I could keep out the average hacker. Just my opinion. Also the stand alone Android or Iphone app seems like a good idea. How many OS's are there. If you create the app for those two OS's you have probably 90% of the users.
Title: Re: Interactive displays with xLights
Post by: chrisatpsu on February 09, 2012,
blackberry would be the last 10%
Title: Re: Interactive displays with xLights
Post by: taybrynn on February 09, 2012,
I agree with dpitts.  I really am not overly concerned about hackers at the show ... esp. in my less crowded, rural environment.
Title: Re: Re: Interactive displays with xLights
Post by: frankr on February 10, 2012,
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
so you would have an open unsecured wifi network to your show computer?

i'm not being a negative nancy, just the devils advocate   >:D

Good point. I think this can be easily addressed by including encryption and authentication features in the protocol between the show computer and the mobile app.

Matt

Short of embedding the WPA access keys in the XLIGHTS mobile app I am not sure how you prevent someone from connecting any device to your network.  Even with that a truly determined attacker could extract the key from XLIGHTS mobile or just use their android device to look for other weaknesses in the show computer.

I think the key will really come down to the owner of the show computer being savvy enough to make sure their computer is secure.  A good software firewall on the PC should suffice to make sure that only XLIGHTS mobile can talk to the PC.  Of course now you need to make sure that the XLIGHTS is hardened against attacks...

Of course I may be more paranoid than most given my day job...

Frank
Title: Interactive displays with xLights
Post by: Timon on February 10, 2012,
If I was setting this up I'd setup a single web site.

You display either that web sites address or one from your own domain that points to it.

You now register your display with the web site including your displays GPS location.

Now when the viewer goes to the web site it will ask the browser for the GPS location and display the information for your display.

Xlights would also connect to the web site and would receive commands the viewer enters on the site. If xlights was not running a message would be displayed.

This way everyone is protected and no open WiFi is used.

Thoughts?

John



Sent from my iPad using Tapatalk
Title: Re: Interactive displays with xLights
Post by: dpitts on February 10, 2012,
Since there seems to be so many ideas on how to implement the connection to Xlights. Maybe the best thing to do is create the interface for creating small sequences and and specification to communicate with Xlights and have the individual user or users create the front end. If a group of users wanted to create a web page to talk to Xlights they could use the specification to connect and send commands. If a user wanted to create an Android app to connect over WiFi they could open up WiFi communications and use the specification to connect to Xlights and send commands. Etc.

User settings could be what port to connect to.   
Title: Re: Interactive displays with xLights
Post by: rimist on February 10, 2012,
I understand the concept, however it is key to not allow incoming requests from the internet, hence, xlights polling the web site.
Otoh, it could always be my responsibility to poll the site and push the info to xlights.
The real question here is what about the non technical users who just want it to work?
I think having the exposed interface for technical users is great, however, he needs to do as he thinks best for everyone else

-Rimist (via Tapatalk)
Title: Re: Interactive displays with xLights
Post by: taybrynn on February 10, 2012,
Is there a way this could interact with the conductor down the road?  Would this eliminate or reduce the security concerns, since it would be a standalone piece of hardware and no PC ?
Title: Re: Interactive displays with xLights
Post by: rimist on February 10, 2012,
Is the pic capable of doing a http request?

-Rimist (via Tapatalk)
Title: Re: Interactive displays with xLights
Post by: rimist on February 10, 2012,
And yes, if the conductor could poll a web server, that would help security concerns, however, not sure if it would support encryption as well.
I'd look towards possibly using the raspberry pi device to do the encrypted polling and update the composer

-Rimist (via Tapatalk)
Title: Re: Interactive displays with xLights
Post by: frankr on February 10, 2012,
You are not allowed to view links. Register or Login
If I was setting this up I'd setup a single web site.

You display either that web sites address or one from your own domain that points to it.

You now register your display with the web site including your displays GPS location.

Now when the viewer goes to the web site it will ask the browser for the GPS location and display the information for your display.

Xlights would also connect to the web site and would receive commands the viewer enters on the site. If xlights was not running a message would be displayed.

This way everyone is protected and no open WiFi is used.

Thoughts?

John



Sent from my iPad using Tapatalk

I was thinking of something along those lines.  It is a nice workaround for the location issue (remote person controlling the show) and it provides protection for your personal network.

Still pretty easy for someone to do what they want with your display by faking out the GPS coordinates but I cannot imagine why anyone would want to do that...


Title: Re: Interactive displays with xLights
Post by: Steve Gase on February 10, 2012,
if you are not on wifi, how do you prevent people from manipulating the display the next night from across town?
Title: Re: Interactive displays with xLights
Post by: rimist on February 10, 2012,
The app would require knowing your location permission in order to install. When the app is loaded (or accessed after a preset delay) it would make sure you are still near the display.

-Rimist (via Tapatalk)
Title: Re: Interactive displays with xLights
Post by: Steve Gase on February 10, 2012,
ahh... location awareness
Title: Re: Interactive displays with xLights
Post by: rimist on February 10, 2012,
You are not allowed to view links. Register or Login
ahh... location awareness
Yep, believe it or not I was doing stuff with location awareness back in 2000. I believe it was with the palm hand devices
Title: Re: Interactive displays with xLights
Post by: Timon on February 11, 2012,
You are not allowed to view links. Register or Login
ahh... location awareness

Which is my point. Even with two or more displays the location aware web site would just present you each that you were close enough to work with. You could even have a picture of your display so there was no confusion.
Title: Re: Interactive displays with xLights
Post by: taybrynn on February 11, 2012,
couldn't the app just require that your current gps location be close to the lat lon for the show, which could be set in xlights?
Title: Interactive displays with xLights
Post by: Timon on February 11, 2012,
Actually I want it to be exact so I can paint a big X on the street that they have to stand on. :)


Sent from my iPad using Tapatalk
Title: Re: Re: Interactive displays with xLights
Post by: rimist on February 11, 2012,
You are not allowed to view links. Register or Login
Actually I want it to be exact so I can paint a big X on the street that they have to stand on. :)
I like this idea... Point a video camera at the spot, warn people they are being recorded, then add a projection of that video to your show. I doubt cracker would sit on tape to get into your computer
-Rimist (via Tapatalk)
Title: Re: Interactive displays with xLights
Post by: hodgman on February 13, 2012,
Hello,

Being a newbie I hope I do not step on anyone's toes by saying this but I would have concerns about the willingness of people to download an app for the sole purpose of being able to change songs on someone's light show only when they're in range of the WIFI from the house... Personally, I wouldn't waste my time with downloading the app, especially if it had GPS tracking enabled... 

My recommendation is to build a Access Point(AP) which has captive portal capabilities.  The captive portal will automatically redirect their browsers (of any device connecting to the AP) to a address of your choosing. This approach is nice from a security stand point because you would be segmenting the people connecting to the open AP from your homes LAN/wirless traffic.  You can also lock down which ports on the xLights host they will have access to since the AP is now a firewall device and it would greatly reduce the risk of attacks by having an open AP. 

Being that xLights is a cross platform app, I would recommend using something that is cross platform as well to host the web pages from.  I know there is Apache(2) for windows, Linux and I think it is even installed but disabled in Mac OSX by default. 

Getting back to setting up the AP w/captive portal.  I have built dozens of APs w/captive portals for offices & restaurants and a lot of them were nothing more than discarded PCs I had laying around after building someone a new computer.  All I did was put a wireless card or USB dongle in the PC and install something like pfSense, OpenWRT or monowall on the computer then some configuration.  Here is a link to more information about captive portals and  a list of some popular AP/captive portal software: http://en.wikipedia.org/wiki/Captive_portal (http://en.wikipedia.org/wiki/Captive_portal)

Cheers,

Ryan
Title: Re: Interactive displays with xLights
Post by: Greg Young on February 16, 2012,
My Xlights request, months ago was much more basic. I currently run LOR and use input triggers (6 to be exact) which are selected from a "visitors' control panel" that I built, which is in the parking area.
All a visitor has to do is to reach his/her arm out of the window of the vehicle and push one of the red/green or blue 2 inch diameter plastic buttons to select their song. It's gotten very popular, and it for this reason alone I have not explored using other software (Xlights, LSP, etc)

The trigegrs offer no rf/wifi/other concerns. No need to offer instructions in the display on how to make selections, other than on the panel which says "push button to select song".
If folks go the smart phone/wifi route, how would you plan on telling folks :
1) it's available
2) how to connect to it
3) and even possibly how to use it
Seems like a lot of information to convey to people that drive up to watch the lights, who half the time don't seem to read the much shorter message signs many of us have.
Remember a few years back how many had trouble even getting folks to realize the blinking lights were sync'd to music transmitted on FM?
It sounds like a neat idea, but because of the above I am not sure how practical it would be...
Greg
Title: Interactive displays with xLights
Post by: taybrynn on February 16, 2012,
I like the buttons idea, but I'd worry it would direct traffic to the buttons and block other viewers on my cul de sac ...  I still think the security concerns are overblown ... I'll just run the show on a junky laptop
Title: Re: Interactive displays with xLights
Post by: rimist on February 17, 2012,
I see the benefit of a phone app, especially one that would show the light displays near you, so you could visit them, and also be used to interact with those displays that have that capability. I'm sure a well executed app with hints dropped for some news stations would get wide distribution.
Warning: controversial idea next
If the app could include advertising (perhaps payable to the author or DLA, that being between said author and RJ), then a paid (ad free),version could also exist, and that could be submitted to Amazon for free app of the day. Please note, the whole purpose of the ads would be to have a paid version that you could offer for free, which gets awesome distribution.

-Rimist (via Tapatalk)