digital signage software features

What are the Essential Digital Signage Software Features?

Editors Note: This content was originally published in October 2017. It has been updated to include new features that are now standard in today’s digital signage software.

In the broadest terms, the best digital signage software will enable businesses to communicate better and influence the behavior of its target audience.

While the specifics of such a communication strategy will be unique to each business, there are a few essential digital signage software features that need to be in place for the strategy to be successfully implemented and executed.

Must-have Digital Signage Software Features

Dynamic Content Options

Dynamic content is the backbone of your digital signage project. Far from simply entertaining your audience, it will influence behavior to engage, socialize, sell or educate. Essentially, dynamic content adds value to the spatial experience.

The best digital signage software will have native content apps and widgets for easily displaying and updating dynamic content. It will also have open doors for custom content e.g. easy integration with dynamic APIs for custom content.

Such content-centric software is what makes digital signage a powerful audience engagement tool.

Dynamic content options include:

Social Media Apps

You can find rich sources of free, user-generated, highly engaging content through social media. Signage software should include Twitter, Facebook, Instagram, Google Plus and Pinterest apps to live feeds on digital signage screens and video walls.

Advanced software will include a social wall app to display a curated collage of your Twitter, Facebook and Instagram feeds, essentially showcasing all posts about your business. (Why should you display social media on digital signage?)

Digital Signage for Security - Social Media

YouTube

Did you know that viewers retain 95% of a message when they watch it in a video compared to 10% when reading it in text? Also, 51% of marketing professionals worldwide name video as the type of content with the best ROI, and 59% agree that if both text and video are available on the same topic, they are more likely to choose video.

This makes YouTube a must-have app for any digital signage software. With over a billion users, almost one-third of total internet users, and 72 hours of video being uploaded every 60 seconds, YouTube is a repository of very rich, high-converting and 100% free content.

With curated playlists and channels, brands can display highly-targeted, relevant video that will keep their screens fresh and audience engaged.

Emergency and CAP Alerts

An emergency and CAP alerts app expands digital signage to an emergency messaging solution.

Custom alerts can be prepared in advance and saved in the software to be automatically displayed when a trigger is activated. They include alerts for tornadoes, fires, gas leaks, active shooters and more.

The app also displays CAP alerts from national and local sources. The app allows the signage to keep your audience informed about emergencies and safety instructions.

They also add a visual component to the current emergency messaging systems.

Digital Signage App for K-12 - Emergency Alerts

News

An RSS or MRSS app will enable brands to display news on their screens. News is universally popular and will draw eyes to the screen where your audience will see your other important messages and announcements.

Infotainment

Infotainment apps are great for reducing perceived wait times. They also offer fun material and new nuggets of knowledge that will enrich your viewer’s experience.

Take a pop quiz app for instance. It will challenge your audience’s memory, guessing skills and deductive reasoning.

A community calendar app will connect your audience with local arts, sports, festivals, concerts, fitness, and family events.

An inspirations app will share quotes and famous words from notable people and fun facts about everyday things.

Transit Options

Audiences will appreciate seeing what travel options are available to them. A traffic app will display transit routes, durations and even fares; Uber and Lyft apps display wait times and rates; a transit app will display transportation choices including metro info, bus info, train times, bike share, and even streetcar info.

Remote Management 

Remote management is one of the most important must-have digital signage software features.

Ideally, software should be cloud or web-based and easily accessible from any internet-enabled computer. For brands, this means they will be able to control and manage their signage network from virtually anywhere.

This empowers them to be able to react in real-time to any changes in the needs or composition of the audience or content. Network operators will also be able to easily add digital signage to their AV/IT infrastructure and monitor the health of the network and troubleshoot remotely.

For brands, this means they will be able to control and manage their signage network from virtually anywhere. This empowers them to be able to react in real time to any changes in the needs or composition of the audience or message.

Network operators will also be able to easily add digital signage to their AV/IT infrastructure and monitor the health of the network and troubleshoot remotely.

Content Scheduling and Programming

A key differentiator of digital signage from static signage is the ability to automate content delivery. The goal is to display the right message, to the right audience, at the right time.

Signage software should provide for comprehensive scheduling where multiple schedules can be created for different screens or groups of screens. The schedules should be granular with the ability to schedule down to the second and as far ahead as needed.

Content playback and programming should also be automated.

Robust signage software should allow you to set predetermined rules related to keywords, expiration dates or other criteria. Based on these riles, multiple dynamic playlists will be automatically generated and updated to drop expired content so playback is up to date.

Such rule-based scheduling brings about “set-it-and-forget-it” programming which reduces the workload significantly.

Networking Monitoring and Reporting

Monitoring and reporting is a fundamental requirement for any software product.

Basic monitoring mechanisms include, but are not limited to,

  • the ability to notify network operators if performance falls below service level agreements (SLA) e.g. when a player is offline and not connected to the network
  • advanced remote control to view and interact with screens and reboot them remotely, and set on and off times
  • ability to remotely install and activate software updates and patches.

Reporting is just as essential. In fact, reporting and monitoring go hand in hand. Because it’s almost impossible to monitor hundreds of screens simultaneously, businesses rely on proof-of-play reports to collect performance information about their network.

Reporting keeps the network running smoothly and is also useful when making strategic decisions.

The best digital signage software will have a comprehensive dashboard that provides insight into actively deployed screens and overall network health. This allows the network operator to be proactive, avoid playback interruptions and have minimal downtime.

Media Control 

Because your signage speaks to your audience on your behalf, it is essential to maintain control over the content displayed.

To maintain the integrity of the content displayed, digital signage software features should have a media approval feature to vet content before it’s published. An administrator should approve content before it’s live to protect the brand.

This type of control is essential for any signage project but more so for mission-critical digital signage implementations.

User Access Control

Because of the need for team collaboration, one of the more popular essential digital signage software features is having a multi-user platform with user access control.

The software should be able to delegate control of players and campaigns to different users. Operators will be able to create and manage as many sub-accounts as needed and control what access the users have.

For instance, some will have content creation permissions but no access to publishing; access to specific campaigns and not others; access to select players and screens.

Essentially, operators should be able to lock specific parts of the network and assign responsibilities to users without losing control of the overall digital signage management.

Scalability

Your digital signage software should grow with you as your business grows. Scalability ensures that your software choice doesn’t go obsolete a short time into using it.

Scalability applies to both content and displays—as a doctor’s office expands, for example, the office manager may need to purchase new screens for additional waiting rooms.

The best software will scale easily to support the new screens and any additional content without compromising bandwidth, network speeds or playback.  If the brand starts a YouTube channel, the software should be able to easily integrate the YouTube app and provide flexible screen layouts where a new video zone can be easily added.

Multi-platform Support 

Some brands don’t limit themselves to single signage platforms. They’ll have a signage network with wall displays, kiosks, video walls and interactive screens. For such organizations, one of the most important digital signage software features is the ability to support and control multiple platforms from the same login.

Software that can manage video walls, kiosks, wall displays, and interactive screens. It’s also a high-ROI software with added flexibility of centralized control of the display network.

 

digital signage software features

 

Knowing the Digital Signage Software Features you need

It’s essential that your solution includes these digital signage software features in order to unlock the full value of your digital signage implementation.

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/digital-signage-software-features/' 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' >Email</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/digital-signage-software-features/#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>