Touchscreen displays - How to revert to home screen after 90 secs?

Comments

31 comments

  • Avatar
    Robb Price
    Daniel, the Developer who usually answers these questions is on vacation. I'm just asking a couple others to see if they could answer your question.

    Thanks!
    0
    Comment actions Permalink
  • Avatar
    Daniel
    Sounds good. I await a reply...
    0
    Comment actions Permalink
  • Avatar
    Daniel
    Sure, I wouldn't mind seeing it as it is right now. I actually do a lot of web development, but I didn't know off the top of my head how this is done or whether it's HTML, JS or otherwise. I could probably figure it out if I saw the code for the whole template. Thanks!
    0
    Comment actions Permalink
  • Avatar
    Byron Darlison
    We are bit short this week as Alex is on vacation in sunny Mexico... in the interim, Rob, what about sharing the preliminary Tradeshow presentation with Daniel as it has this functionality in it. Daniel, this is a Presentation we are about to release in the next week or so as a Template. It isn't quite done yet but your welcome to review.

    One thing to keep in mind. The functionality to support reverting to a homescreen if no interaction was added as a programming task. There is no functionality in the product with a UI that does this. So you need to review, study the code and implement. In other words you will need programming skills. Oleg, Donna, if I have any of this wrong let me know.

    Thanks!
    0
    Comment actions Permalink
  • Avatar
    Robb Price
    Done. Daniel this is now in your company and is called "Tradeshow Presentation".
    0
    Comment actions Permalink
  • Avatar
    Daniel
    Thanks a ton! For others' information, the user timeout is a jQuery snippet, "jQuery idleTimer plugin," and can be found here: https://github.com/paulirish/jquery-i...
    1
    Comment actions Permalink
  • Avatar
    Robb Price
    Thanks Daniel! I've marked your post as the answer to the question :)
    0
    Comment actions Permalink
  • Avatar
    Byron Darlison
    FYI for the rest of the community, this Presentation will be released as a Template within the next week or two, we are just finalizing adding a new Gadget to it. The Template will have the touchscreen timeout in it so that anyone can take that code and use it. Thanks!
    0
    Comment actions Permalink
  • Avatar
    Aaron
    Sorry for my lack of knowledge in this area, but is the reverting to homepage something he is trying to apply to the presentation/placeholder itself or the content itself i.e. webpage/flash??

    We ran across a situation with touchscreen where we had interactive in the bottom placeholder and a "normal" placeholder running the image gadget on top. The customer required a timeout where if someone hadn't touched the screen in 2 minutes it would revert to the main navigation page- which worked fine with RDN but when converted to RiseVision the page refresh would navigate chromium away from the presentation to the actual content's webpage.

    Would the solution above be something geared to that application? And has it had any conflicts such as the navigation away from the presentation? Or does this somehow get applied to the presentation/placeholder to reload that particular gadget??

    Any clarification is welcome. Thanks!
    0
    Comment actions Permalink
  • Avatar
    Robb Price
    Aaron,

    The reverting to the homepage is part of the Presentation/Placeholder. Basically when a user goes to a different Placeholder in the Presentation, a timer starts, and when that timer is up, if there has been no interaction with the Presentation, it reverts to a default Placeholder or what you may refer to as a "main page" of the Presentation.

    I think the timer object referred to in this Forum Discussion would work perfectly for what you need.

    You may want to create a new Presentation in your Company from the Tradeshow Presentation Template, this may give you a better idea as to what actually happens when that timer is up.

    I hope that helps, let us know if you have any other questions.

    Thanks!
    0
    Comment actions Permalink
  • Avatar
    John.Craig
    I'm new to RV and interested in the inactivity timer returning the display to the presentation's home page after (say) 90 seconds.

    My question is, was the 'Tradeshow Presentation' ever made into a template?

    I can open the Presentation but cannot work out if/how I can make it a template and create other presentations from it..
    0
    Comment actions Permalink
  • Avatar
    Robb Price
    Welcome to the forum John!

    The Tradeshow Presentation was a template, but we removed it since it had Gadgets in it that we no longer share or support.

    If you would like to see that specific jquery snippet, I can create a copy of the Tradeshow Presentation in your Company, just email support@risevision.com with the name of the Company that you want me to put it into. Keep in mind though, we no longer support it as a template, so we won't be correcting any issues with it.

    I hope that works for you, I look forward to your email.

    Thanks!
    0
    Comment actions Permalink
  • Avatar
    Donna Peplinskie
    We have some information about how to use the inactivity timer here. Hope that helps!
    0
    Comment actions Permalink
  • Avatar
    John Jutte
    After reading this thread and viewing Donna's link I feel confident that an inactivity timer can be implemented. However, I can't seem to get it figured out. I can't find the Tradeshow source to show how the code should look and the blog leaves a lot of holes for a novice programmer. I emailed support a couple days ago without a response.

    Anyone offer some help?
    0
    Comment actions Permalink
  • Avatar
    Donna Peplinskie
    Hi John,

    How you return to your home page will depend on how you built your Presentation. We have a tutorial here on building multi-page Presentations. There's also a demo Presentation there for you to examine.

    I would recommend following the steps in that tutorial to build your Presentation, and then at the end I would come back and revisit adding in the inactivity timer. It would probably look something like this though:
    
    
    $(document).bind("idle.idleTimer", function() {
    //Show the home page.
    showPage('1');
    });

    Thx.
    0
    Comment actions Permalink
  • Avatar
    John Jutte
    Thank you. I was successful at getting this work.
    0
    Comment actions Permalink
  • Avatar
    Dave Odegaard
    Has anybody figured out how to implement this idle timeout code? I've tried many things above and it is not working. I'd like to see the Tradeshow template code. Is there a way to get that copied?

    Thanks.
    0
    Comment actions Permalink
  • Avatar
    Adrian J.
    Hi Dave. 

    Did you find a way to implement this code? 
    0
    Comment actions Permalink
  • Avatar
    Blake Freeman
    Dave, Adrian,

    You'll need to check out this link for Donna's instructions on multi-page presentations. 
    0
    Comment actions Permalink
  • Avatar
    Dave Winkler
    This is what I have used in our presentation. 35000 is the time which I believe is milliseconds, you can change that to whatever you like. After inactivity, it will send you back to the home page.

     <script type="text/javascript">
            function changePage() {
                    setTimeout(function() {
                        var transDiv = document.getElementById("home");
                        transDiv.classList.toggle("hidden");
                    }, 1);
                    setTimeout(function() {
                        var transDiv = document.getElementById("home");
                        transDiv.classList.toggle("hidden");
                    }, 35000);
            };
        </script>
    0
    Comment actions Permalink
  • Avatar
    Blake Freeman
    Thanks Dave!
    0
    Comment actions Permalink
  • Avatar
    Darius Aleksas
    This is what worked for me. I am using it in Jquery style webpage, so it resets the page to the "home" div - "#page1". It also works with separate HTML documents. Put it between <script> brackets.

    <!--Reset Timer Start--> 
    var IDLE_TIMEOUT = 60; //seconds

    var _idleSecondsCounter = 0;

    document.onclick = function () {
        _idleSecondsCounter = 0;
    };

    document.onmousemove = function () {
        _idleSecondsCounter = 0;
    };

    document.onkeypress = function () {
        _idleSecondsCounter = 0;
    };

    window.setInterval(CheckIdleTime, 1000);

    function CheckIdleTime() {
        _idleSecondsCounter++;
        var oPanel = document.getElementById("SecondsUntilExpire");
        if (oPanel)
            oPanel.innerHTML = (IDLE_TIMEOUT - _idleSecondsCounter) + "";
        if (_idleSecondsCounter >= IDLE_TIMEOUT) {
            
            document.location.href = "#page1";
        }
    }
    <!--Reset Timer End-->
    1
    Comment actions Permalink
  • Avatar
    Iris Kwok
    I initially had problems getting the code to work, but then I figured out that I had to put the script before the <body>, not after. Also not sure if the <!-- comment tags made a difference, but I changed them to // instead just in case.

    Just commenting here in case anyone also had difficulty!
    0
    Comment actions Permalink
  • Avatar
    Jim Johnston

    Hey all, sorry to necro this thread, I'm just having an issue with resetting the idle timer when image widgets are being interacted with. I assume this is because the mouse events arent being captured as they are being called from inside the widget's iframe. I would have thought all rv widget iframes would have the ability communicate with each other as they are on the same domain? 

    Having mouse events being captured globally would be a real helpful feature for those of us who want to create interactive systems with rv. Any workarounds or ideas of what I'm doing wrong would be appreciated!

    Cheers

    0
    Comment actions Permalink
  • Avatar
    Darius Aleksas

    I am not sure how you are making interactive displays with RV, but all I can say it actually works with RV very well and there is more than 1 way to go about it. You can simply make a webpage and pull it to RV with the web page Widget or you can go a bit more 'hacky' and compile all the code inside the RV HTML VIEW. This latter approach allows me to utilize RV widgets within my custom design. I typically use mobile jQuery syntax cos it is very simple and has everything I need for interactive displays, and also is highly customizable. But I see that Bootstrap would do just fine.

    For the resetting... look at my post just above Iris post. That is 100% reliably JS trick to reset interactive displays based on mobile jQuery, Bootstrap and similar. I put it at the very end of HTML just before BODY closing bracket.

    1
    Comment actions Permalink
  • Avatar
    Jim Johnston

    Hey Darius,

    Thanks for the reply. I've made a simple demo explaining the issue. It demonstrates how the mouse events are lost when interacting with a widget (i.e. the counter doesn't reset). Obviously if this is the main point of interest for a user, the screensaver would be in danger of activating while the user is engaged. 

    http://preview.risevision.com/?type=presentation&id=e6c95704-cad3-4024-8ab3-eda4389a8b0b


    The only way around this I can tell is to host my own photo sliders and test out cross window messaging to risevision.

    https://javascript.info/cross-window-communication#cross-window-messaging

    0
    Comment actions Permalink
  • Avatar
    Darius Aleksas

    Jim, I see. Anyhow, I am interested in how exactly are you compiling this. Can I see HTML? Honestly, I never used RV Slideshow... I do not like it. I really like WOW Slider (paid to remove watermark) and that is what I typically go with, but there are other options as well... default jQuery slideshow or even putting a collage of the thumbnails of all images and then opening them as pop-ups individually on click.

    Anyhow I will take a look at it later; I am really busy now. I want to make sure that RV Slideshow can reset the time counter in mobile jQuery. I will get back.

    Also, do not recommend using autoplay in a slideshow if you want people to interact with it by clicking on arrows (this keeps the counter resetting constantly).

    0
    Comment actions Permalink
  • Avatar
    Jim Johnston

    Nice one D, here's the html code for you to check out. I was going to check out some other sliders so will add WOW to the list (rv slider is actually revolution slider btw, but there isn't much we can do to customise it that I know of).
    An advantage of using the rvslider is that the content is all in the same place + you can just throw in images to a folder and the script will update the array or whatever. To make something automated like that i'd have to use PHP or Node.js... maybe its time to learn!

    https://pastebin.com/raw/wJw7kmEW

    0
    Comment actions Permalink
  • Avatar
    Darius Aleksas

    Jim, I tried it and no, clicks inside RV Image widget does not get registered just like in your example. Like I mentioned before, some HTML/CSS/JS slideshow will work... some default framework slideshow or something like WOW Slideshow. But none of them are automated as far as I know... you cannot just drop images in some folder and forget about it. See if this can be of any help: https://snapwidget.com/login 

    0
    Comment actions Permalink
  • Avatar
    Jim Johnston

    Hey Darius, thanks for checking that out for me! Yeah I thought that would be the case. For sliders I think I'm going to use a library called flickity, it behaved pretty nicely and you get a lot of options to play around with.

    http://preview.risevision.com/?type=presentation&id=e6c95704-cad3-4024-8ab3-eda4389a8b0b

    This is using an iframe again (web widget) so it wont work still, but going to find out how to pass mouse events between the two and hopefully get that counter to reset. Will report back

     

    0
    Comment actions Permalink

Please sign in to leave a comment.