"At Siemens, we needed to find ways to efficiently collaborate together while testing our apps across the different locations and units, which is where TestFairy comes into the picture. That is why we chose to use TestFairy for app distribution."

The Building Technologies Division at Siemens, based in Zug, Switzerland, is responsible for developing innovative solutions for building automation and safety, as well as heating, ventilation, air conditioning, lighting, blinds, fire detectors, video surveillance, and so on. In other words, they are reinventing anything you can electrify, digitalize, or control in a building. Kaspar is Head of App & UI Client Engineering at Siemens and leads the team in their efforts. ‍

“Our development team here at Zug is working on several apps that are currently on the app store. One of them is the Siemens Smart Thermostat app which I’m working on. The cool thing about it is it’s a real end-user app which is a very rare case within Siemens. You put the Smart Thermostat device on your wall, which is industrial grade and made easy to install in larger buildings where you have maybe tens or hundreds of rooms. Then there’s a mobile app for your normal smartphone which connects with your Smart Thermostat over the cloud and you can control your Smart Thermostat with that app as well.”

CAN YOU TELL US A LITTLE BIT ABOUT THE TECHNOLOGY THAT YOU WORK ON. HOW DOES IT WORK? SPECIFICALLY THE TECHNOLOGY OF DEVELOPMENT. HOW DO APPS GET BUILT? ‍

“Over the past 4 to 5 years, we have established the control code platform called code.siemens.com, you can access it over the internet with an account. This is from GitLab, we use the open source version and this is our central code platform. So we use GitLab CI/CD to build the app and TestFairy for app distribution during testing, everything is very close together all in that platform, and we even set up recently some virtual macOS runners so we can build iOS as well. We have everything set up through GitLab CI/CD pipelines so we can do this physically.”

HOW DO THE CODING STANDARDS WORK? DOES EVERY DEVELOPER HAVE ACCESS TO EVERYTHING? ‍

“Since Siemens is such a large company, we try to go by an inner source approach. So like open source and the public, we do the same in the company. We try to make everything accessible to and by everyone. That’s the goal, though it's still not always the case in reality for every case, because we came from a very heterogeneous environment where every team had their own independent and gated set up. What we actually have today is the Siemens mobile and web platform oncode.siemens.com, which is also an inner source collaboration platform where we have the common technology spec."

With this code platform, we make everything open. So yes, we have coding standards, but it’s a bit project-specific. We use Angular, so we do hybrid apps with Angular and Ionic as the base technologies, and we built certain component libraries on top of it so we can increase the reuse across the products. Everyone at Siemens can use our platform and reuse our assets.”

HOW DOES TESTING WORK? IS THERE A PROCEDURE? ‍

“I must admit that we drive a more traditional approach here. We have a global setup, our R&D is distributed across the whole globe in many different locations, and in our case the test team is based in India. We needed to find ways to efficiently collaborate together across the different locations and units, while having full control on who has access to which app and version, which is where TestFairy comes into the picture. That is why we chose to use TestFairy for app distribution. We had to find a way to distribute the app to testers, who were internal Siemens Employees. In addition we also needed a solution for field testing.. So we basically use TestFairy to distribute both Android and iOS versions of the app very easily. The best thing for us about TestFairy is that you can just send out a link or even enter the email addresses so the testers get automatically notified by email to download the new app version. This push notification thing is very convenient for us.”

Using TestFairy simplifies our development process, That’s the huge benefit of TestFairy for us.We are able to develop faster and deliver apps quicker within our development process. It’s so easy to distribute the apps. We don’t even upload it via the website, we hooked it up to our CI/CD pipeline so everything’s automated. When we do a code change, the test builds run through the different steps of the pipeline and the last step is to trigger the upload to TestFairy, and the testers get their notifications. So everything is automated.”