At Mobile Jazz, we support and encourage working from any place you feel comfortable. For some, the office is the perfect environment, whereas others prefer a coffee shop. For me, I work best from home.
I am currently living and working in Italy, where every line of code is written from my private home office; a calm and quiet place where I can concentrate (you can see a couple of pictures in a previous post of ours: Our Workspaces as a Remote Friendly Company).
We (Mobile Jazz) were super excited when an international brand in the home automation industry (also know as the Internet of Things) asked us to help build a mobile app to control their accessories. The project core consisted of building a low-level communication stream to control and access IoT devices remotely.
We were working with a beautiful panel, fully equipped with devices to test the functionalities of the mobile app we were engineering. We decided to set up an environment that would permit every developer to work with the panel, wherever they were.
These devices are used to control your lighting, curtains, locks etc and are designed to be used within a local network. We had the panel of devices connected to our Barcelona office, so we initially had to make this publicly accessible. We created an encrypted SSH tunnel that redirected traffic coming to one of our servers directly to the panel attached to our office network. Using this solution, no matter where you were in the world, you could connect to the device.
The problem we faced was, how could I in Italy check the code I was writing was working correctly with the device – turning lights on and off, changing dimmer values, locking a door etc?
Whilst I could have asked a colleague in the office through Slack to check, it would have been too time-consuming, not to mention sometimes our office is empty. We came up with a solution by setting up a MacBook just in front of the panel, configuring it to be a remote webcam using TeamViewer.
The solution worked perfectly and I was able to develop the app not only from Italy, but a few spots around the world including our retreat to Cape Town. We learned that even with physical devices, remote development is easily possible and just requires a little creative thinking.
Are you a developer? Have you ever worked with physical devices from a remote location? Shares your stories, we’d love to hear!
Paolo is a software engineer with a passion for clean code.He loves trying new things and keeping himself busy.