With the simplification of systems, the availability of training, the move toward the adoption of modern programming languages, and the rise in configuration or “no programming required” options, it can be tempting to simply hire a programmer or contract a resource that can write code to make AV systems work. While this seemingly easy win may satisfy immediate needs, it may also provide a false sense of security and prove to be a very costly error when it comes to the long-term success of AV systems within an organization.
Long gone are the days of outfitting only a select few specialty rooms with independent, bespoke systems. More commonly, technology-outfitted systems are found in various capacities and larger quantities throughout a facility, organization, or enterprise. With that, as system quantities grow to the hundreds or thousands, the need for consistency, scalability, reliability, ease of implementation, and efficiency of management and maintenance are paramount.
Related: How Software Can Extend Your Systems' Upgrade Cycle
One viable solution to address these growing needs is to establish standardization in design, equipment selection, and system functionality. Standardization can be achieved with various approaches ranging from static, out-of-the-box solutions to a customized, programmed solution that is built for reuse and scalability. Both can be implemented in large quantities with consistency and low effort. Where the static solution provides hardline constraints regarding variations in functionality, capabilities, or equipment, the customized solution is developed to accommodate pre-established variations in system types, equipment, or functionality and planned accommodations for future modification and growth.
When it comes to the custom-standardized approach, big-picture planning becomes critical to the long-term success of the solution. One of the key elements of this plan is having a holistic approach to architecting a software solution that accommodates system needs beyond the current requirements or system definition and serves as a foundation for longevity, growth, and efficiency.
It can be very easy to be lulled into addressing systems on a one-off basis, rather than investing in standardization. For reasons of time constraints, limited resources, scheduling demands, specific needs, or seemingly lower upfront costs, choices are often made to address system programming on a per project basis. However, failure to consider the bigger picture and have an overall strategy for software architecture, development, deployment, and maintenance that aligns with system design, room requirements, and user needs will prove to be detrimental to the long-term effectiveness of the AV systems within an organization.
A common challenge often expressed by technology managers is the increasing demand of managing and supporting their large quantities of systems with a very limited staff. One way to ease this burden can be through investing in an enterprise software solution with a single, scalable code base rather than supporting a collection of unique programs written with limited foresight and consistency. The former offers a solution for the exponential challenges of support, maintenance, and upgradability that the latter creates.
As system totals grow year after year, the need for standardization in design, equipment selection, and system functionality must become a priority. An effective standardization plan should also include a software development strategy that first begins with architecting a solid foundation and guidelines that define how code should be written.
There are several key characteristics that should be considered when approaching an enterprise standardization plan and software architecture:
All systems will change. Whether substituting devices for new makes and models, upgrading features or functionality, or addressing user preference adjustments, ease and efficiency of software modification and maintenance is a necessity. An effective software solution should be built to accommodate future device changes, upgrades, or modification requests.
Even identical systems have differences. This may seem like an oxymoron, but it’s true! Provisions for easily addressing the unique aspects of “identical” systems using the same code base need to be considered. Whether it is changing IP addresses, room names, button labels, automation settings, or requirements of a specific space, systems that have the same design and functionality must have a way of addressing subtle differences without creating one-off programs.
Different system types don’t need to have different source code. By strategically designing systems and creatively architecting software, multiple system types or variations can all be supported within a singular code base. The ability to select between pre-defined system types or enable individual components or features without modifying code is key.
A software management plan is critical. From the testing procedures and validation of software releases, to documenting revisions, to securing and storing source code, to tracking and updating versions in the field, a plan for software deployment is vital for the long-term success and viability of AV systems. Standardized solutions with a single code base greatly help with a move toward a successful enterprise solution; however, only with a commitment to defining and implementing software management policies and procedures can the true benefits be guaranteed.
A dynamic (rather than static) user interface design is key. Just as it is critical to establish a standardization approach for the control code, developing a flexible, scalable, and future-proof approach for the user interface design is a vital part of the success of a large-scale deployment. While user interface designs must maintain consistency in look and feel and support the required system functionality, they should not be approached as static objects. An effective user interface design should be built to accommodate change and system differences using variable options that can be adjusted, displayed, or hidden in runtime as systems require. The result being a single user interface source file to complement the single code base.
Although there will always be a need for customization and the one-off, bespoke systems that demonstrate the creative, solution-oriented, and/or artistic nature of AV solutions, as more enterprises invest in a growing number of AV systems for their operational requirements, a business-like approach needs to be taken to satisfy the need for consistency, reliability, ease of maintenance, and rapid deployment, which can be found in developing standardization. It is important to understand that this move toward standardization requires not only a focus on hardware, but also involves a fully planned, architected, and professional approach to software. While this is may be a new concept and a departure from the typical approach where changes in mindset, additional efforts, and an investment in the future will be necessary, the payoff of value, sustainability, and efficiency will be significant.
Steve Greenblatt, CTS, is president and founder of Control Concepts, a provider of specialized software and services for the audiovisual industry.