If you had have asked me (pre-Covid), what a typical day of an embedded user interface (UI) developer looked like, I would have answered with something like standup meetings with my teammates, working with clients, developing at my desk, and testing UI applications on physical hardware in our lab. As we all know however, the world is no longer the same and those in-office days are on pause. Fortunately, I’ve been able to quickly pivot and continue working and developing from home, with little to no impact on my productivity or client deliverables with the following tools and techniques that we've created in this fun infographic for you to share.
A big part of my role includes frequent discussion with clients, as I become an extension of their embedded UI development team during professional service engagements. Prior to the pandemic, aside from the occasional client visit, the majority of our communication was carried out remotely. We would communicate over email, chat regularly in private Slack channels and within our shared project repository hosted with Git. I still use these heavily today, and they make working collaboratively just as achievable from my home desk as it was from the desk in the office.
My team is still able to host our daily standup meetings and our planning sessions remotely via video calls. We brainstorm and problem solve by instant messaging or with a quick screen share or video call. I find myself asking my team members “Hey, do you have a second to look at this code with me? I’m stuck on this bug” just as frequently as I would if I were sitting next to them in the office. Not only does meeting and seeing each other virtually help us discuss the project in real time and enjoy the facial expressions and reactions that come with video, but it can help us stay connected, which is so important today for those who may feel isolated in our home environment.
Another component of my work is centered around the development of embedded graphical user interface application (GUIs). We design and develop using our own development tool, Storyboard, which allows anyone with basic experience to create, import and modify touchscreen applications specifically targeted for embedded platforms. It has the ability to tweak assets and create engaging animations, as well as build up event-drive functionality using Lua code, all within one program (that happens to look remarkably like Photoshop).
As a member of our professional services team, I’m often recruited to help our clients work on their applications, and they range from small companies coming out with really unique, smart wearable devices to household brands with appliances we are all familiar with today. After we’ve built up their application up to a working state, the next step is to deploy it to the client’s hardware and verify everything is working smoothly. I’m lucky in that I have a number of boards at home with me (with others readily available to borrow off colleagues if needed), so I can test at home. I can simply push my Storyboard application down to the board with a file system transfer. Secure file transfer SCP is also a possibility for those that have a network set up.
There are cases however, where a customer’s hardware is too large to bring home for testing. For example, a full working washing machine or smart oven. Luckily, Storyboard has the ability to simulate the embedded GUI application remotely in a way that mimics the hardware environment. This is done using one of our latest release features introduced in our Storyboard IO connector, which enables you to inject back-end data and events from a remote location, such as my laptop, to validate how the GUI will perform.
It’s not unusual to have multiple rounds of feedback on the design itself, or application once it starts being shared with different stakeholders. In fact, we encourage iterating on your design as it means improvements! This is where Storyboard really shines. It encourages dev team collaboration, allowing developers to merge and compare applications that are brought in from revision control systems such as Git, SVN or Mercurial. This is really helpful when there are many people remotely working on and improving the project, for code is never lost with this merge and compare. Whether or not a UI is being worked on by multiple developers or just one, hosting projects in some sort of cloud based repository is an important factor when working on technical projects from home. This allows you and your team to easily access and work on the most up to date versions of the project from any location.
Apart from the technical side of my job, there were some additional challenges that were introduced when we moved to work from home. Being socially distanced has decreased my in person to person contact. You are void of the impromptu kitchen chats by the coffee machine, casual ventures out to local restaurants for lunch, and even just saying “Good morning” every day while you walk to your desk. My tip for dealing with these changes is to try and push yourself to reach out to your colleagues and allow yourself to have casual chats. Send them tweets and videos you found funny that you think they’d like. Set up lunch time calls to catch up while you eat. Find online multiplayer games you can enjoy together. Remind yourself that not every conversation needs to be work related.
Something that I found myself struggling with at the beginning was staying focused and motivated on my tasks. New distractions are added when you work remotely and learning how to manage them so that your productivity isn’t compromised and you remain sane, is really important. Children, pets, noisy neighbours, even the pile of dirty laundry can all pull you away from the work you’ve been assigned. For obstacles like these, it’s important to remember that no one is expecting you to be a well-oiled machine during a global pandemic. These are struggles we are all facing together. There is leeway for you to take a break when you can, communicate with your managers or peers if you are struggling, and maybe even request to adjust your hours if you need to.
Working from home is a new adjustment that many of us are experiencing for the first time, and while there are some changes and challenges that are introduced, we have found our grove and we’re thriving. The commute however is certainly not being missed!