How To Survive And Thrive In A Software Defined World
Episode 6: Wes Hatchett & Nick Melin on Open Source, User Stories and Rising Above The Box
April 20, 2018 April 13, 2018 by Patrick
We have two guests on the show today, Wes Hatchett CEO and Nick Melin, VP of Customer Success at Control Envy. Both experienced in the world of AV and software. Along with a great team, they've taken that experience to form Control Envy.
Control Envy is an automation, control and monitoring platform that takes a software first approach to provide custom solutions that are gorgeous and full of insights and data.
Control Envy runs on many platforms and ticks all the boxes of being a software defined solution.
Transcript...
this is a software defined survival where we talk to AV IT professionals and software developers to find out how to leverage software to reinvent ourselves and we do business we listen to their stories and ask for advice and tactics on how to survive and thrive in a software defined what today software defined survive its right to be skeptical of at the level of the state a lot of the projects that you know we're all involved in or and many times control systems actually control it was really a friend a lot of these online courses are your friend in such a way that you could never have accomplished the same sex if you had a much more limited set of resources available to close maybe on the house what five hundred members to be ineffective integrator insults and no matter which technologies you're using get above the surface all focus on the actual outcomes are and then choose your tools based on those instead of being tied down to one box greetings everyone in AV lance welcome to software defined survival my name is Patrick Murray and today we have two guests on the show both experienced in the world of AV and software and along with a great team they've taken that experience to form control Andy control envy is an automation control and monitoring platform that takes a software first approach to provide custom solution that really are beautiful user interfaces are just gorgeous and it is also full of insights and data control and be runs on many platforms and it takes all the boxes of being a software defined solution so please welcome to the show west hatchet CEO and Nick melon VP of customer success at control envy Nick and Wes welcome to the show gay thank you glad to be here Patrick thanks a lot better thanks for taking the time to us to talk with me tonight it's nighttime here afternoon there is there anything about that introduction that you guys would care to correct or expand upon well I think it was great %HESITATION I'm listening and I'm looking forward to listening to that one back but yet now it's a and I like you know of course we've known each other for a while and so it's been neat to arm the able to to let you see more and more of what we've been doing and and you know how that's really materialized into a complete system and like you said really focused on the data aspect of getting getting behind more than just being the touch panel you know as far as how we look at programming and what we're providing correct so we'll get more into the solution in a few minutes first I'd like to hear a little more about your background so I have some stock questions that I like to ask people and I'll split them up between you so Wes how did you get started in AV how did you wind up in this crazy business my first job in a V. was at hi fi buys which was a Twitter company so I was doing sales essentially my first year out of high school wanted to take a year off before college and just get a save a little money and which ended up being spent on guitars and I think that interest in music get everything out in the music business lots of it just drove me to that first job in high five guys and %HESITATION through some friends and just other you know other things getting into that world's it was several years later not too much later but a few years later that I really became aware of everything that was happening around control systems and get going in that direction interesting you are the third guests to be a guitar player so %HESITATION including myself as for guitar players have been on this short lived show so far watch out guitar players you might wind up with a career in AV or to the wise where industry failed musician force more musicians one way yeah Nick tell me about your most successful projects in navy and and what made it rewarding for you oh man great question well my background in AV started at from the construction pass strangely and then from general construction I came up through doing alarm systems and ended up because of that working on some very high profile security projects and I was introduced to a project that we was going to have star Crestron integration arms but they really wanted to make sure that the interface was really usable and so it was a great joy to basically be able to be involved in the scoping and design of the entire infrastructure but then knowing that I got to have creative control over how the interface with and eventually end up being years and that project was twenty plus zones of audio and video a couple of different media rooms fifteen plus touch panels and has been running successfully with only a couple of minor glitches for ten plus years now I'm so I look back on that one and think about all of the the the pains and and difficulties that go into designing interfaces when you have to deal with bitmaps and what not instead of you know the web development tools that we have now and I think the young guns don't realize how easy they have it compared to what we dealt with this in years prior so but a lot of good memories came out I was not I'm not sure if you bring up a lot of memories for me with that that maps and I'm not sure if it was easier I think that says a funny word we were certainly there was a a tighter limitation by far and what we were able to do %HESITATION said the message the methods were very old school I give you that definitely a great point grade point HTML five is certainly not easy dealing with C. S. S. can %HESITATION can drive you crazy for sure but %HESITATION of course you have really great looking graphics that go along with it and a lot more possibilities that you could do so there's always that that give and take that you get more power more responsibility and easy I love your respect of that word yep Wes whenever somebody tells me something easy I I tend to get a little bit afraid so tell me guys what separates what differentiates differentiates control and be from other control solutions in a nutshell if you could do that you for what yeah well I think like you said it's it's hardware agnostic and one of the things that's interesting about that is that we don't focus only on one platform so whereas you know even our work and raspberry pi right now we have existing in a couple of different languages and I think being at a philosophical level really open to having our concept of what the system is and letting the hardware landscape involved you know as we know it will and so there's you know there's all kinds of hardware hardware and digital signage all kinds of places that we really have an embedded approach you know to our mission of what we want to do and that goes along with our open source license which I think is the other big part of what makes us different is that not only are we you know actively engineering and looking at the architecture of so many hardware platforms but we're open source while doing it and that enables us to build a wide network of partners approaching different kinds of systems in different ways so you bring up open source ends there can be a lot of confusion around those two words so can you give me like just a brief really brief definition of what open source means to you yeah out what it means to me is that I have access not only to the out well I guess coming from AV perspective you know we we all talk a lot about source code and having the source code to our projects and as far as it related to say a Crestron projects having your source code if you had all of the graphics and everything else yet you were able to change whatever that project was on what it means to control and be is that not only are you able to change what a project is but we also recognize in this new era that you need the ability to change what the actual product engine behind it is all the way down to work flow in terms of how these projects are designed to Floyd and tied together so I was gonna say so I would to me it it means that I have access to everything necessary to me to make the solution work it's for my use case is is the practical application I think why open source is important and there's also a transparency side gets into security and there's of course a lot of a lot of ways you can expound on that but I think what's most important to me is that I know the solution can never change in a way that I don't want because I could always develop on what I'm already comfortable with so it helps you to remain agile and flexible you kind of hinted towards this that it really is a huge topic open source there are many different %HESITATION legs of that ox octopus that you can get into about the benefits of it in the end it basically just lets you view the source code and %HESITATION in in this case even change it if you need to so maybe if you could talk briefly about licensing and and how that affects open source well I think in open source what you primarily about what you see the large open source based companies selling at a license level really is their support their support as well it you know including things like SO ways behind a performance of certain systems and that's how we look at %HESITATION yes through our partner network and in the projects that we work on it's it's really that the the software license you know that you are purchasing is effectively purchasing our official support and and you know the ability to stand behind your deployment excellent so we've got open source we covered a bit and now you mentioned SL ace and that kind of gets more into the the business aspect of open source so how you make money with open source can you tell us again in a in a nutshell this is a huge subject as well but out what is an SLA how could apply to us in AV Nick you feel like dealing yeah Assoc SLA is a yet another acronym I and I think that should be a term yet another acronym for %HESITATION service level agreements and service level agreements are very familiar to enterprise purchasers of our software solutions and even not open source operating systems like clinics are produced with as delays as an option that you can purchase from red hat or others and what a service level agreement means is effectively that as a business you can rely upon a certain level of uptime and functionality from the subscription that you're maintaining and if those agreements are ever compromised in any such way that there is a form of compensation that you're entitled to as the receiver of the SLA so the benefit is that open source can continue to develop but the software can be provided to you as a service instead of you having to have all of those developers on staff in order to modify the open source tools in the way that you see fit one of the drawbacks to the open source environment when X. is that yet in many times it's at years a whole bunch of code and tools and do with it what you will it's a bit of your left to your own devices our companies that can modify open source software to the point where they can provide a stable SLA help you to bridge that gap in between open source and standard commercial software great explanation so can you give me a a practical application that that I as I am in a V. guy would understand well let's think about for instance zoom meetings are I I don't know what zooms our current SLA practices are but if you think about zoom as something that eight be companies are becoming familiar with it's a service it lives in a cloud it ties into your hardware and the systems that you may house in an integration project in yet that software does not necessarily live inside the integration itself but it's a service that has to stay up constantly has to be reliable and has to be available whenever your meeting is kicked off in your room the implications of zooms cloud service going down mean that suddenly your video conferencing system itself is compromised by a missing service so in that context an SLA around a hosted service such as soon would ensure that you as a business never experienced the implications of that down time and if you do there's comp station for and could this supply really to the hardware to the TV not turning on and things like that boy in that case that side no there's no isolates I'm aware of the go down to that level but right but something like a data collection and monitoring and things like that you could provide some courts sort of a guarantee that that things will be available yeah okay so we have started working on a project together and one of the things that %HESITATION came up was in the very beginning of the process Nick you were talking about user stories can you tell us a little more about your ideas on user stories and how to communicate the expectations of projects yes Sir so it to answer that'll go back a little bit to the question that you asked west and that was what are the most exciting things to you about for instance having control and be available as a tool in your toolbox for me what that comes down to is it being such an open platform that all opportunities are still on the table when you're having a conversation with someone about what they're trying to achieve and what that leads to is instead of approaching projects our conversations with a with a number of technical constrained it's like we have to use this hardware and there's already X. amounts of devices that have already been determined and now I just need a price you can back up from that conversation to the level that consultants typically approach it and at that level you're not talking about those implementation details you're talking about what's the final outcome what's the end results that we want to achieve by even taking on this project and how is that in results meet the needs not only of the business that you're servicing as a client but of your own business and so that's where user stories come in their way to define in such a way that designers and developers can understands us a second language around what the outcome is that they're trying to achieve and the store worries are written from the perspective of the final user and the final user might be somebody of of different flavors like for instance if you're looking at a remote service management dashboard or monitoring platform the user in that case might not necessarily be the same user that's touching a interface inside of a board room one person might be monitoring the health of the system the other person might be actually using the system so those are two different users the typical language around a user stories actually very simple sentence it's as a user I want to do acts so that I can accomplish why and using that framework you can have discussions with businesses or even with end users such as our estate homeowners to discuss with them while they're actually trying to accomplish so that you can lay out those goals without having to get down into the weeds and when you have a platform is open is control and be that becomes a huge benefit because the options available to you are so broad that if you started by trying to lay out all options you would never be finished so instead you lay out what is it that a person considers to be successful or desirable and then you can go to find that and work backwards to be solutions that will fit good stuff I like that equation that X. Y. Z. equation of %HESITATION of making a framework so so that you know where you're going this is come up several times on the show already obviously experience is a big buzz word lately but it's really important it's the right way to approach the projects and like you were saying there are so many possibilities out there especially when you look at more open platforms and commodity hardware did the possibilities really are endless but you don't need to do everything you just need to do a specific set of tasks so once you have this user story hammered out and everybody agrees on who the players are in and what who the users are and and what their goals are what are the next steps what would a typical project look like Wes you want to extend yes so I think they a lot of what we're doing on the data side and the you know the insight side of room usage in and those statistics integration with building systems would typically be in an office environment where that side of of the product is really a big part of it and of course that's like well you saw said I at sea in the smart building wing and that was very much the type of demonstration you know that that we had set up there was so I think we very strongly picture our system and you know a lot of the projects that we work in indeed smart building %HESITATION arena what we've also found and Nick is as just started working on a project in that stuff very similar in feel but a different end result being the amenities spaces and and and do you and finding that you know a lot of those same needs again it really depends on who which person in the user story you're talking about so like make reference the what the end users in either case care about is different down facilities managers or or building staff but they share those things in common and even the idea in those spaces where you could you could paint the amenities space for the hospitality space traditionally I think a little more in the residential direction though we've been having conversations where the day you want to have easy access to skirt so that people can communicate around the world so I'm I'm seeing a blur there are now only that even between the commercial and quote the residential side where for a lot of people that are interacting with multiple systems in the office at home where they hang out on things like access to a consistent calendar and having information even at that level with scheduling I think can apply in a lot of markets really interesting take on it obviously the technology that we use at home Skype and facetime and things like that are very similar to the things you'll use at work zoom or anything like that %HESITATION Skype again shows up at work as well but I like the way you tie that back to even your calendar because your schedule is your schedule right it doesn't matter if you're working here at home if you have to be some place you have to be some place so it's an interesting spot where some more integration could could even take place so getting our hands dirty with control and the what what what do I need to do right so so I'm a I'm a navy integrator maybe I'm a programmer what what happens once everything is hammered out we know what we know we need to do we know what equipment is in the projects what happens next typically what we'll do with a new partner so you know if it's our first time working together and we've we've looked at a project that looks like it's a great fit and have gone through that process to establish budgets and all of that that will be determining what what role am and this is partly determined by skill sets but you know what role do you want to play not only in this first project but in the evolution of of where you want to go with us because we do have some partners who are primarily on the project management and design site and don't necessarily have the desire add to get their hands dirty as you said with respect to say the software so we actually all for software development as well in our solutions group and so working with a partner we can not only through our souls but then also through other development partners on put that together so that it so that everyone can play the the role that they want to play so that's the first thing is we're not it's not just stay a software product we're the only people working with us are programmers first given the model and then you know the market where we come from obviously we work with a lot of programmers suit and that question then becomes which languages are you proficient in and that has you know is also determined by the architecture of what is being deployed %HESITATION so if we're doing a Crestron system for example %HESITATION that's gonna be architected in a certain way and and we're controlling the fits and there may be tasks that even that you know as someone who's the Crestron programming side could take ownership of then and help works through the development out as far as you know how things went down altogether especially if their legacy systems being considered any number of things there so that's really the next step is in terms of what we've defined %HESITATION dinner for working with a software developer and we have a list of art these drivers are going to be developed for this project and this type of custom functionality %HESITATION we do most of our work through we're really all of our work to get you know through version control center matter what it is on the next step there with the developer would be to share resources with van and you know be the guide rails and in their support to whatever part of the project they had taken on who along with us on their way to becoming a trusted consultant and that that's essentially our you know a program of this certification if you will but it's going through the process to where we can actually put a project in your hands from the beginning and know that you would be able to answer that entire train of thought and also have access to our engineering department as you need it just say Hey here's a request I'm getting in that's actually we haven't seen that before so let's talk about it that's what we provide I think that's pretty cool that kind of flexibility and customization it's not only in the platform it's also built into the way that that you're offering the services well so even if I don't have any software skills on staff I could rely on you for that or if I do then %HESITATION then you're flexible in that way so are that's that's pretty interesting approach for sure and %HESITATION is probably influenced by your software backgrounds and even using things like %HESITATION get just to exchange information is also on I love the sound of that because dealing with Dropbox or even emailing files is it gets to be a headache really quickly so having that that one place where everything a repository where everything is always up to date makes makes your life a lot easier I think that that subject by itself is something that is maybe worthy of its own conversation even on this podcast in the sense that version control practices when I first got into this business I wasn't familiar with them I didn't realize how far along that those practices had already been done I looked in other software industries and that's kind of true of many things in a beat in the sense that what we experience in our evolution as an industry has has already been experienced in other industries like for instance IDE as six to six to ten years before we've experienced at and that includes even the are developing solutions around certain problems and version control itself is one of those things where if you as a programmer find yourself trying to figure out naming schemes and folder schemes for files that you don't lose track of which version you used for which particular purpose and what you really need to be looking at is a version control system and by its nature control and V. because it uses languages that are already well established within version control system such as Java script and nasty sharp you can make use of things like defend your files where you can see a line by line difference without having to do remains and even being able to check dad's a version history so you can see a time line of every change you've made and when you may have deployed that changed to a site so that if you ever have to go back and reference rents it project that you may have touched six months ago there's that track record there's that audit trail history that helps you as a developer as much as it helps anybody else and it it can happen within a system that's built to handle those kinds of changes instead of just drop box or your own file versioning system so that those kinds of practices are in a lot of ways new to AV programmers and yet that then nice thing is there's a lot of prior art for two to really take yourself to the next level yeah it's it's all been done before there's no reason to reinvent the wheel and %HESITATION that's one of the knock on effects of open source is here kind of motivated to work to use these these technologies and best practices just to make your code better and more manageable and it it just makes sense so Wes you mention the raspberry pi before obviously Crestron would probably be done in simple sharp and I'm sure you have hooks into %HESITATION using simple windows with that but if you were to deploy control and be on a raspberry pi for example what what programming language would you need to have the skills and to %HESITATION to do that if you wanted to do the programming yourself primarily Java script it is Java script okay so for like your typical AV programmer what would you recommend they do to start transitioning into %HESITATION yeah it's a Java script I guess code cadmium yeah I mean there's there's a lot of tools out there that even things such as our %HESITATION alerts language is a written within Java script snippets and that during the beta days of control in V. I was participating as a project manager external to the team and using it to solve some of my own problems me and I was amazed by the fact that the the Java script syntax was really powerful I'm I wasn't job script programmer at the time but because there's such an open community of Java scripts on the web I was able to think about my problem and go out and find a snippet of code I that was recorded in like I think it was W. three scenes standard yes and drop it into what I was trying to accomplish with my alerts and it was the search to completion was a course of probably fifteen minutes yeah and it's really amazing to realize how much prior art there is out there that Google is really your friends a lot of these online courses are your friend in such a way that you could never have accomplished the same thing with such speed if you had a much more limited set of resources available to you like for instance a closed forum that night maybe only has what five hundred members because of need the limitations of a particular manufacturer and and how they released their SDK those things just are problems that are solved by having open source communities I'm really glad you brought that up because obviously it's a it's a huge problem you know the the community is small and it's it's relatively close some people aren't open to sharing what they've learned that much and when you get some more web based technologies the mindset is completely different and I remember hearing an interview with the the one of the main developers are first developers of Java scripts and he was saying that the whole intention of the language was for it to be quickly shared and copied to help people just do stuff so your example there of you wanted to do something you copied and pasted it into your code and it just kind of worked is really a great example of the power of of that of open programming open source programming so anybody's afraid to Java script don't be get out there and start grooving and just try it I think you'll be surprised at how approachable is so would you have any advice for integrators that are more interested that are interested in moving towards a more service based model using things like the raspberry pi getting away from the old black box paradigm well I would say first of all try to involve yourself in conversations with and users as much as possible it's less about the solutions and more about the outcomes or I guess that is the solution but it's it's more about the solution lies about the individual components and when you start thinking in that context you can consider all systems of any minute any manufacturer is simply a tool in the box instead of something that you are beholden to I used to have a saying back in the earlier days of control systems before we went this open source route that it many times control systems actually control people instead of being in it of controlling so if you think about it your project is constrained by the limitations that are stat by technology within one manufacture but it's not just me project it's all of the businesses involved who are your programmers they have to have a specific skill set who are your integrators they have to have specific relationships that entire IT recipe doesn't necessarily happier but the end user's best interest in mind so to be ineffective integrator and consultant no matter which technologies you're using get above the surface of all of that focus on what the actual outcomes are and then choose your tools based on the house instead of being tied down to one box so that would be my advice is to it's more of a mindset change then it is necessarily a hard skill great stuff west you have anything to a you'd like to add to that I was thinking as in a few directions while while you were talking there but I I think that I mean that pretty well I think covers it is just really keep an open mind to it and it's right to be skeptical of new at the level it in the state comes you know what a lot of the projects that you know we're all involved in our so that's one that we completely understand and I think it's you know talking to people talking to I. T. departments you know and not in a confrontational way but just in trying to better understands alright well if if we were able to modify this in a certain way then it would look like a good solution to you and you know that's that's really I mean there's there's obviously like you said a lot of change we we're coming from where you picked one manufacturer and that was that was pretty much it you know in terms of how how you were going to get to the finish line for project in there's a lot of different ways now absolutely great stuff guys if anybody would like to get in touch with you learn more about control and be how they go about doing that trolling be dot com is a good starting point yeah we've got a contact form there where you can give us some information just a little bit on your background and if you'd like to see a demo and you know what what market you work and all that so we can get just a little information and follow up with you immediately and then we said we've got a solutions group that can actually put a project into action armed with you if you think it's it's gonna be something good for your project or if it's something that you want you would want to put in front of them and get get your hands on on a demo or something that you could actually take an and test the waters with so I would say yes starting at the website and go from there so one think the cool thing about that contact form is that it's the same thing is the user interface for control NB is it not %HESITATION gotcha yes so it I mean it does it that that's a really interesting point but yes fundamentally a lot of the same web widgets and HTML five things that we tie in from the app and that's really cool that you picked up on that because to me it it hasn't gotten to that point yet but our long term goal with the website is to include interactivity from these various HTML five components and things inside the interface because I mean that's that's what's dope for right in the short answer yes the control and the contact us form is actually built with our own tools yeah nice way for people to a get a little taste and feel of it gentlemen thank you very much for being on the show thank you very much better look for to begin sometime absolutely thank you take care Hey this is Patrick again we talked about a lot of great stuff on this episode like open source and version control and how to know when you need it which is probably all the time and we talked about the raspberry pi Java script and house solutions like control envy use Java script so if you want to program them you're gonna have to learn how to do that and make mention some great resources like code academy and I really encourage you to get out there Google around and find some information and just give it a try set aside an hour a week for forty five minutes a day whatever it is put it in your calendar start really simple and small open up a telnet connection to a display or some kind of AV device and start sending come some commands over to it and there's plenty of information on the internet to get you started if you have a hard time getting up and running with Java script I recommend checking out no rate it's a drag and drop editor from IBM completely open source and free and they developed it to control the I OC to make it easy to control devices which is exactly what we need they make it super simple to make TCP connections HTTP requests and some more advanced stuff as well and then you create your strings in Java script and send them off to devices it's a great way to have some early wins so check that out and when you're ready to really use this stuff in a project and get into infrared control serial relays all those things we need to deal with writing device drivers saving stuff to a database running reports check out my courses at learnAVprogramming.com because it will save you a bunch of time I've been through it I went through all the forms I've Google to my **** off I've searched and searched and tested and tested and now I have a system where I could use these things on real projects and I documented at all in the book courses at learning the programming dot com so there's no reason that you have to go through all that again now these courses aren't exactly cheap but they will save you a bunch of time and I think you'll wind up using them as a resource as well it's not the kind of thing where you just go through the courses and that's it I find myself going back to the lessons over and over again when I forget how to do something when I just need a reference what were the steps to get from a to B. I go back to the course search on the table of contents find exactly what I need and then I'm back up and running again so that investment will be a time saver on and on into the future and if you go to learn a programming dot com anywhere you see a sign up box go ahead and sign up and I'll send you some free information to get you started and then you'll get a little bit of a feel of my teaching style and you'll be able to see if things are for you or not alright so get out there get started give it a try ends let's bring this industry to the next level thanks for listening to software defined survival for transcripts and show notes go to software defined survival dot com
Episode 5: Colin Birney On Managing AV Projects The Google Way, Biohacking and Contract Manufacturing in AV
Episode 7: Erik Calissendorff On Life As A Mega Yacht ETO, And Outdated Control Systems
Subscribe for new episodes on:
Episode 39: Paul Konikowski on Investing in Cybersecurity & Culture
Episode 38: David Anderson On Closing The Gap Between Consumer & Closed Platform Touchscreens
Episode 37: David Hirschfeld On Exposing Hidden Requirements & Software Product Lifecycles
Episode 36: Josh Srago On The Legal Side Of Bandwidth & Default Passwords
Episode 35: AJ Thompson On The Pains & Joys Of Learning Modern Programming
Episode 34: Robin Ford on Open Systems, Preparing for Change & Trusting Your Instincts
Episode 33: Dr. Jonathan Butts & Billy Rios On Cyber Security, Public Safety & The Layers Of Defense
Episode 32: Vangelis Mihalopoulos On Opportunites In Digital Signage and IoT Security
Episode 31: Peter Krogh On Programmatic Curation, The Commoditization Of AI & The Innovator's Dilemma
Episode 30: Thomas Walter On Customising Video Displays With A Built-In Raspberry Pi
Controlhaus, Learn AV Programming & Catch Technologies are software-defined productions, finely crafted with ❤️ in Detmold, Germany by Patrick Murray
© 2005-2019 Controlhaus Systems Design