What is the Best Operating System for Digital Signage?

What is the Best Operating System for Digital Signage?

In an article for Embedded Engineering Systems, Now Micro’s Bernard Carter defined the opportunity and inherent difficulty presented by modern digital signage, explaining that it “challenges us to develop solutions which demonstrate increased awareness of total solution security while still delivering 21st-century consumer-driven experiences.”

This marriage of security assurance and engaging user interfacing is the foundation on which digital signage users build their relationship with the operating system (OS) that makes that signage work and work well.

Digital signage solutions are only as reliable as the OS doing the heavy lifting behind the scenes, which is why it’s critical to consider your options before choosing the appropriate digital signage operating system for your needs. Wading through the weeds of digital signage operating system specifics to compare features can be a daunting task for the uninitiated. Especially, when you’re anxious to integrate new technology into your day-to-day business operations.

digital signage operating system

            (photo credit goes to Samplius)

Digital Signage Operating System Functionality Considerations

On the surface, modern operating systems may appear similar in build and functionality, with some even operating from the same kernel infrastructure. Competitors in the OS space edge closer to one another in terms of hardware compatibility, security, and adaptability as they fight for desktop and mobile domination. That said, examining the details will make sure you’re getting the most value for your digital signage operating system investment.

Keep the following features in mind when comparing operating systems:

Boot time 

Boot time from a clean start can take anywhere from thirty seconds to a number of minutes. The boot time depends on the digital signage operating system in use.

Performance 

Serving content through the CPU/GPU and operating under extremely heavy loads can tax the system. This can also affect performance if an appropriately equipped OS isn’t doing the lifting. Results can cause content to appear “jumpy” or disjointed. Some operating systems (like Windows) are able to run video content through the GPU. This eases stress on the CPU and improves overall performance.

Stability 

Differing digital signage operating system options either run for months/years without error or have a bad reputation of being unstable and crashing often.

Software 

Most modern OS solutions support major components of digital signage platforms (such as Adobe AIR and Adobe Flash). But, it’s worth making sure that the OS also supports essential extras like web browsers and video players.

Hardware 

Other than proprietary systems like Apple’s iOS, digital signage operating system options have evolved to support a number of hardware devices and embedded players.

Security

Vulnerability to attack is a crucial choice component when considering a digital signage operating system. However, not all operating systems are created equal in this regard. Depending on your industry, security may be more important than other prominent OS features.

Support 

Is your operating system of choice a one-and-done installation, or can you rely on continued support?

Recoverability 

An operating system’s ability to self-recover after a crash or critical error can mean the difference between reliable digital signage or signage that displays an ugly error message. Most OS options can diagnose and recover after a system failure.

Price 

The price spectrum for operating systems stretches from completely free to pay-per-device licensing. What can you afford, and what can you not afford to leave out of your digital signage operating system package?

Popular Digital Signage Operating Systems to Consider

Features like speed, reliability, and a comprehensive user interface play an important role in digital signage implementation. Fortunately, understanding the ins and outs of today’s most reliable operating systems becomes simpler when you pull back the curtain and take a closer look. Here are a handful of platforms that are consistently deployed for digital signage operating system purposes.

digital signage operating system

Windows

Windows Embedded Standard, a component-focused version of Windows XP Professional, is the most commonly used operating system for embedded digital signage hardware and digital signage players, and for good reason. Thanks to general user familiarity with the OS, Windows serves as the brain behind a majority of digital signage business solutions. The improved stability and a number of convenient and comprehensive remote management tools have also contributed to that.

Windows Embedded Standard, Windows XP, Windows 10 IoT, and Windows 10 S (introduced in 2017 as an education-geared operating system) all serve different digital signage integration purposes depending on your needs. That said, many Windows-equipped devices can only run apps purchased from the Windows Store, which may limit your application options. Also, boot speed is generally slower than its Google competition. Also, Windows can be an expensive option due to per-device licensing costs.

digital signage operating system

Google Chrome OS

Google Chrome OS may be a relatively new player on the digital signage field. But, the operating system has found a comfortable, competitive home on desktop and mobile devices thanks to its Google umbrella. Furthermore, Chrome OS is free to use, and regularly pushes security updates. It also performs much faster than Windows for mobile and desktop applications. This same speed translates to digital signage players in their ability to boot and execute commands from the content management system.

Google Android

Google Android’s once-unreliable stability has improved dramatically over the last few years, elevating the OS to be a competitive alternative to Chrome or Windows. It also joins Chrome as a free digital signage operating system option. Unfortunately, early primary pain points for Android included slow integration of remote management tools and an abundance of devices being installed with a fixed version of Android (making it impossible to receive security/system patches). This has improved with time, but it made Android slower to the integration market for digital signage purposes.

digital signage operating system

Linux

It’s common for users to mix up Android and Linux operating systems, as both operate from a fairly similar kernel infrastructure, but Linux came along and fixed many of the pain points (remote management, patch-ability) present in earlier Android systems. A major attraction to the Linux OS and its supported software is that most of it is free and even open source. The tradeoff is a steep learning curve for the average user. That’s because it requires a deeper understanding of the underlying system to perform daily tasks. Troubleshooting technical issues can also be more complex than other operating systems. Linux has released a few versions (Ubuntu, Linux Mint) designed to ease the environmental transition.

digital signage operating system

iOS

Apple’s iOS (while stable and easy to use on Apple devices) is more expensive and less popular in digital signage circles than other OS options. It’s unlikely that you’ll find iOS running non-proprietary hardware. That said, the company continues to push it’s Apple TV and tvOS development platform as a capable managed digital signage solution. Since iOS still has a difficult time rendering HTML5 content and doesn’t support Flash, this is debatable. Flash has long been on its way out. But, HTML5 has quickly become a permanent content delivery solution within the digital signage ecosystem.

Better Safe Than Sorry

Remember, free isn’t always the best choice. The most popular OS may not suit your specific needs. Also, not all operating systems are created equal when integrated with digital signage hardware and players. Every available operating system has its strengths and weaknesses, and each is complex enough to warrant its own dedicated article. Do your research, and establish goal-oriented priorities when shopping for a digital signage OS before making a decision.

Ready to get started?

Are you exploring your digital signage project needs (hardware, software and content)? Looking for just the software or a full-scope proposal? Would you like you a personalized software demo?

Starting at

$ 299

One time cost

  • Free software
  • Unlimited users
  • Unlimited cloud storage
Get a Free Trial

Have a project in mind?

Get a Quote

Lets discuss your project and we’ll put together a customized, line-itemized estimate and proposal.

Set Up a Call

Let's Connect

Contact a Mvix Solutions Consultant below or call us at +1 866.310.4923 to discuss your digital signage needs.
  • This field is for validation purposes and should be left unchanged.

Ask an Mvix expert how we can help:

  • Request a demo and see how Xhibitsignage integrates with the content apps you rely on for more effective communication
  • Get a free quote for our software (when using your own hardware), software and digital signage players, or full-service solutions that include software, hardware, content, and implementation
  • Learn how to use digital signage to grow your business by communicating relevant and useful information

If you’re already an Mvix customer and would like technical support, you can open a support ticket here.

[gravityform id="9" title="false" description="false"]
<div class='gf_browser_unknown gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_9' ><form method='post' enctype='multipart/form-data' id='gform_9' action='/blog/best-digital-signage-operating-system/' novalidate autocomplete="nope"> <div class='gform_body gform-body'><ul id='gform_fields_9' class='gform_fields top_label form_sublabel_below description_below'><li id="field_9_1" class="gfield w-50 gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_9_1' >First Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input autocomplete="nope" name='input_1' id='input_9_1' type='text' value='' class='medium' aria-required="true" aria-invalid="false" /> </div></li><li id="field_9_8" class="gfield w-50 gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_9_8' >Last Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input autocomplete="nope" name='input_8' id='input_9_8' type='text' value='' class='medium' aria-required="true" aria-invalid="false" /> </div></li><li id="field_9_2" class="gfield w-50 gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_9_2' >Email<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input autocomplete="nope" name='input_2' id='input_9_2' type='email' value='' class='medium' aria-required="true" aria-invalid="false" /> </div></li><li id="field_9_3" class="gfield w-50 field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_9_3' >Phone Number</label><div class='ginput_container ginput_container_phone'><input autocomplete="nope" name='input_3' id='input_9_3' type='tel' value='' class='medium' aria-invalid="false" /></div></li><li id="field_9_5" class="gfield field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_9_5' >Company</label><div class='ginput_container ginput_container_text'><input autocomplete="nope" name='input_5' id='input_9_5' type='text' value='' class='medium' aria-invalid="false" /> </div></li><li id="field_9_6" class="gfield field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_9_6' >How can we help you?</label><div class='ginput_container ginput_container_textarea'><textarea autocomplete="nope" name='input_6' id='input_9_6' class='textarea medium' placeholder='Please give us a brief description of your project so we can assist you better' aria-invalid="false" rows='10' cols='50'></textarea></div></li><li id="field_9_9" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input autocomplete="nope" name='input_9' id='input_9_9' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_9_12" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input autocomplete="nope" name='input_12' id='input_9_12' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_9_13" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input autocomplete="nope" name='input_13' id='input_9_13' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_9_14" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input autocomplete="nope" name='input_14' id='input_9_14' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_9_15" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input autocomplete="nope" name='input_15' id='input_9_15' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_9_16" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input autocomplete="nope" name='input_16' id='input_9_16' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_9_17" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input autocomplete="nope" name='input_17' id='input_9_17' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_9_11" class="gfield helped-input field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_9_11' >Home Address</label><div class='ginput_container ginput_container_text'><input autocomplete="nope" name='input_11' id='input_9_11' type='text' value='' class='medium' placeholder='Home Address' aria-invalid="false" /> </div></li><li id="field_9_18" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_9_18' >Name</label><div class='ginput_container'><input autocomplete="nope" name='input_18' id='input_9_18' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_9_18'>This field is for validation purposes and should be left unchanged.</div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_9' class='gform_button button' value='Send Info' onclick='if(window["gf_submitting_9"]){return false;} if( !jQuery("#gform_9")[0].checkValidity || jQuery("#gform_9")[0].checkValidity()){window["gf_submitting_9"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_9"]){return false;} if( !jQuery("#gform_9")[0].checkValidity || jQuery("#gform_9")[0].checkValidity()){window["gf_submitting_9"]=true;} jQuery("#gform_9").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_9' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='9' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_9' value='WyJbXSIsIjQwZDExOTMzOTMyMTFlN2IzYzhjNjFjODcwMzRmNThjIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_9' id='gform_target_page_number_9' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_9' id='gform_source_page_number_9' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div>
[gravityform id="8" ajax="true" description="false" title="false"]
<div class='gf_browser_unknown gform_wrapper btn-prev-next-hidden_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_8' ><div id='gf_8' class='gform_anchor' tabindex='-1'></div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_8' id='gform_8' class='btn-prev-next-hidden gform_legacy_markup' action='/blog/best-digital-signage-operating-system/#gf_8' novalidate autocomplete="nope"><div id='gf_page_steps_8' class='gf_page_steps'><div id='gf_step_8_1' class='gf_step gf_step_active gf_step_first'><span class='gf_step_number'>1</span><span class='gf_step_label'></span></div><div id='gf_step_8_2' class='gf_step gf_step_next gf_step_pending'><span class='gf_step_number'>2</span><span class='gf_step_label'></span></div><div id='gf_step_8_3' class='gf_step gf_step_pending'><span class='gf_step_number'>3</span><span class='gf_step_label'></span></div><div id='gf_step_8_4' class='gf_step gf_step_last gf_step_pending'><span class='gf_step_number'>4</span><span class='gf_step_label'></span></div></div> <div class='gform_body gform-body'><div id='gform_page_8_1' class='gform_page' > <div class='gform_page_fields'><ul id='gform_fields_8' class='gform_fields top_label form_sublabel_below description_below'><li id="field_8_2" class="gfield field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' >How Do You Plan On Using Your Digital Signage Screens?</label><div class='ginput_container ginput_container_radio'><ul class='gfield_radio' id='input_8_2'> <li class='gchoice gchoice_8_2_0'> <input autocomplete="nope" name='input_2' type='radio' value='Use as an Employee Communications' id='choice_8_2_0' /> <label for='choice_8_2_0' id='label_8_2_0'>Use as an Employee Communications</label> </li> <li class='gchoice gchoice_8_2_1'> <input autocomplete="nope" name='input_2' type='radio' value='Use as a Client Communications' id='choice_8_2_1' /> <label for='choice_8_2_1' id='label_8_2_1'>Use as a Client Communications</label> </li> <li class='gchoice gchoice_8_2_2'> <input autocomplete="nope" name='input_2' type='radio' value='Other' id='choice_8_2_2' /> <label for='choice_8_2_2' id='label_8_2_2'>Other</label> </li></ul></div></li></ul> </div> <div class='gform_page_footer top_label'> <input type='button' id='gform_next_button_8_3' class='gform_next_button button' value='Next' onclick='jQuery("#gform_target_page_number_8").val("2"); jQuery("#gform_8").trigger("submit",[true]); ' onkeypress='if( event.keyCode == 13 ){ jQuery("#gform_target_page_number_8").val("2"); jQuery("#gform_8").trigger("submit",[true]); } ' /> </div> </div> <div id='gform_page_8_2' class='gform_page' style='display:none;'> <div class='gform_page_fields'> <ul id='gform_fields_8_2' class='gform_fields top_label form_sublabel_below description_below'><li id="field_8_4" class="gfield field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' >Have you used Digital Signage before?</label><div class='ginput_container ginput_container_radio'><ul class='gfield_radio' id='input_8_4'> <li class='gchoice gchoice_8_4_0'> <input autocomplete="nope" name='input_4' type='radio' value='Yes, we currently have digital signage' id='choice_8_4_0' /> <label for='choice_8_4_0' id='label_8_4_0'>Yes, we currently have digital signage</label> </li> <li class='gchoice gchoice_8_4_1'> <input autocomplete="nope" name='input_4' type='radio' value='No, this is my first digital signage project.' id='choice_8_4_1' /> <label for='choice_8_4_1' id='label_8_4_1'>No, this is my first digital signage project.</label> </li></ul></div></li></ul> </div> <div class='gform_page_footer top_label'> <input type='button' id='gform_previous_button_8_5' class='gform_previous_button button' value='Back' onclick='jQuery("#gform_target_page_number_8").val("1"); jQuery("#gform_8").trigger("submit",[true]); ' onkeypress='if( event.keyCode == 13 ){ jQuery("#gform_target_page_number_8").val("1"); jQuery("#gform_8").trigger("submit",[true]); } ' /> <input type='button' id='gform_next_button_8_5' class='gform_next_button button' value='Next' onclick='jQuery("#gform_target_page_number_8").val("3"); jQuery("#gform_8").trigger("submit",[true]); ' onkeypress='if( event.keyCode == 13 ){ jQuery("#gform_target_page_number_8").val("3"); jQuery("#gform_8").trigger("submit",[true]); } ' /> </div> </div> <div id='gform_page_8_3' class='gform_page' style='display:none;'> <div class='gform_page_fields'> <ul id='gform_fields_8_3' class='gform_fields top_label form_sublabel_below description_below'><li id="field_8_6" class="gfield two-col field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' >How Many Digital Signage Displays Are You Currently Looking For?</label><div class='ginput_container ginput_container_radio'><ul class='gfield_radio' id='input_8_6'> <li class='gchoice gchoice_8_6_0'> <input autocomplete="nope" name='input_6' type='radio' value='1 to 5' id='choice_8_6_0' /> <label for='choice_8_6_0' id='label_8_6_0'>1 to 5</label> </li> <li class='gchoice gchoice_8_6_1'> <input autocomplete="nope" name='input_6' type='radio' value='6 to 10' id='choice_8_6_1' /> <label for='choice_8_6_1' id='label_8_6_1'>6 to 10</label> </li> <li class='gchoice gchoice_8_6_2'> <input autocomplete="nope" name='input_6' type='radio' value='11 to 20' id='choice_8_6_2' /> <label for='choice_8_6_2' id='label_8_6_2'>11 to 20</label> </li> <li class='gchoice gchoice_8_6_3'> <input autocomplete="nope" name='input_6' type='radio' value='More than 20' id='choice_8_6_3' /> <label for='choice_8_6_3' id='label_8_6_3'>More than 20</label> </li></ul></div></li></ul> </div> <div class='gform_page_footer top_label'> <input type='button' id='gform_previous_button_8_7' class='gform_previous_button button' value='Back' onclick='jQuery("#gform_target_page_number_8").val("2"); jQuery("#gform_8").trigger("submit",[true]); ' onkeypress='if( event.keyCode == 13 ){ jQuery("#gform_target_page_number_8").val("2"); jQuery("#gform_8").trigger("submit",[true]); } ' /> <input type='button' id='gform_next_button_8_7' class='gform_next_button button' value='Next' onclick='jQuery("#gform_target_page_number_8").val("4"); jQuery("#gform_8").trigger("submit",[true]); ' onkeypress='if( event.keyCode == 13 ){ jQuery("#gform_target_page_number_8").val("4"); jQuery("#gform_8").trigger("submit",[true]); } ' /> </div> </div> <div id='gform_page_8_4' class='gform_page' style='display:none;'> <div class='gform_page_fields'> <ul id='gform_fields_8_4' class='gform_fields top_label form_sublabel_below description_below'><li id="field_8_8" class="gfield label text-center gfield_html gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" >Please Enter Your Company & Contact Information.</li><li id="field_8_10" class="gfield w-50 field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_8_10' >First Name</label><div class='ginput_container ginput_container_text'><input autocomplete="nope" name='input_10' id='input_8_10' type='text' value='' class='medium' aria-invalid="false" /> </div></li><li id="field_8_15" class="gfield w-50 field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_8_15' >Last Name</label><div class='ginput_container ginput_container_text'><input autocomplete="nope" name='input_15' id='input_8_15' type='text' value='' class='medium' aria-invalid="false" /> </div></li><li id="field_8_12" class="gfield w-50 field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_8_12' >Phone</label><div class='ginput_container ginput_container_phone'><input autocomplete="nope" name='input_12' id='input_8_12' type='tel' value='' class='medium' aria-invalid="false" /></div></li><li id="field_8_13" class="gfield w-50 gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_8_13' >Email<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input autocomplete="nope" name='input_13' id='input_8_13' type='email' value='' class='medium' aria-required="true" aria-invalid="false" /> </div></li><li id="field_8_14" class="gfield field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_8_14' >Company</label><div class='ginput_container ginput_container_text'><input autocomplete="nope" name='input_14' id='input_8_14' type='text' value='' class='medium' aria-invalid="false" /> </div></li><li id="field_8_16" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input autocomplete="nope" name='input_16' id='input_8_16' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_8_19" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input autocomplete="nope" name='input_19' id='input_8_19' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_8_20" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input autocomplete="nope" name='input_20' id='input_8_20' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_8_21" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input autocomplete="nope" name='input_21' id='input_8_21' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_8_22" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input autocomplete="nope" name='input_22' id='input_8_22' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_8_23" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input autocomplete="nope" name='input_23' id='input_8_23' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_8_24" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input autocomplete="nope" name='input_24' id='input_8_24' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_8_18" class="gfield helped-input field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_8_18' >Home Address</label><div class='ginput_container ginput_container_text'><input autocomplete="nope" name='input_18' id='input_8_18' type='text' value='' class='medium' placeholder='Home Address' aria-invalid="false" /> </div></li><li id="field_8_25" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_8_25' >Email</label><div class='ginput_container'><input autocomplete="nope" name='input_25' id='input_8_25' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_8_25'>This field is for validation purposes and should be left unchanged.</div></li></ul></div> <div class='gform_page_footer top_label'><input type='submit' id='gform_previous_button_8' class='gform_previous_button button' value='Back' onclick='if(window["gf_submitting_8"]){return false;} if( !jQuery("#gform_8")[0].checkValidity || jQuery("#gform_8")[0].checkValidity()){window["gf_submitting_8"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_8"]){return false;} if( !jQuery("#gform_8")[0].checkValidity || jQuery("#gform_8")[0].checkValidity()){window["gf_submitting_8"]=true;} jQuery("#gform_8").trigger("submit",[true]); }' /> <input type='submit' id='gform_submit_button_8' class='gform_button button' value='Get a Free Quote' onclick='if(window["gf_submitting_8"]){return false;} if( !jQuery("#gform_8")[0].checkValidity || jQuery("#gform_8")[0].checkValidity()){window["gf_submitting_8"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_8"]){return false;} if( !jQuery("#gform_8")[0].checkValidity || jQuery("#gform_8")[0].checkValidity()){window["gf_submitting_8"]=true;} jQuery("#gform_8").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=8&amp;title=&amp;description=&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_8' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='8' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_8' value='WyJbXSIsIjQwZDExOTMzOTMyMTFlN2IzYzhjNjFjODcwMzRmNThjIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_8' id='gform_target_page_number_8' value='2' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_8' id='gform_source_page_number_8' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </div></div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_8' id='gform_ajax_frame_8' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type='text/javascript'>gform.initializeOnLoaded( function() {gformInitSpinner( 8, 'https://mvixdigitalsignage.com/wp-content/themes/mvix/assets/dist/img/black-loader.svg' );jQuery('#gform_ajax_frame_8').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_8');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_8').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_8').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_8').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_8').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_8').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_8').val();gformInitSpinner( 8, 'https://mvixdigitalsignage.com/wp-content/themes/mvix/assets/dist/img/black-loader.svg' );jQuery(document).trigger('gform_page_loaded', [8, current_page]);window['gf_submitting_8'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_8').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_8').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [8]);window['gf_submitting_8'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_8').text());}, 50);}else{jQuery('#gform_8').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [8, current_page]);} );} );</script>