For developers within the SOARIZON team, innovation week is an important and highly anticipated part of the team's calendar. Shubhankar Choubey, Full Stack Engineer at SOARIZON, tells us more about the developers' ways of working, and why innovation week is so valuable for the team.
Who am I?
I am Shubhankar, one of the Full Stack Engineers in the SOARIZON Team. I have been working on SOARIZON for one and a half years and at Thales for four years. When I am not coding for SOARIZON I like to create Indian/European fusion dishes, stay fit by going to the gym and work on my own software projects.
Our ways of working - Cycles, Sprints and Agile
At SOARIZON, we work in Cycles consisting of five Sprints, each lasting two weeks. The Cycle has a clear goal that aligns with the product roadmap and the needs of our users and customers. These goals are fleshed out by our Product Owner, with input from our internal and external stakeholders.
The development team breaks down the Cycle goals into deliverable chunks of work that form our Sprint backlog and create our Sprint goals. We choose the key features to work on per Cycle which are released to the production version of SOARIZON for our users. Throughout this process our team of User eXperience (UX) engineers are constantly listening to our users' feedback that informs the future roadmap direction for SOARIZON.
What is innovation week and why do we need it?
Innovation week encourages us to step outside of out comfort zones and pushes us to be creative as we have complete autonomy of the implementing our ideas. Our ways of working allow us to be focused on our commitments and make us as efficient as possible. However, working continuously at this pace can cause burn out, a dip in the team’s motivation and subsequently the quality of our product, sop innovation week is a great way to motivate and enthuse the team, as well as keeping up the quality of work.
In line with this, at the end of each Cycle the entire team spends a week investigating a topic of interest and how it can be integrated into SOARIZON.
We select areas that our users have been talking about or future features that we really want to include in SOARIZON, however they require a deep dive to assess their viability.
Why is innovation week important?:
The last two Innovation weeks have been under the current COVID-19 lockdown, which had an interesting impact on us. Under normal circumstances we would have picked one topic and tackled it as team. During the lockdown we have worked in groups of two or three on a much more diverse range of topics.
This has created a rich bank of knowledge that our Product Owner can dip into for inspiration while informing our roadmap. Our User Interface (UI) and UX Engineers also refer to this to ensure that designs are technically viable.
What do we do during innovation week?
Much of the work we do in innovation week is added into our product backlog, where we assess its value to our users to eventually become fully-developed features.
Innovation week really allows us time to tackle difficult issues, work on something new and have a bit of fun with it.
Work and fun: Developers with their thinking hats on
Case study 1: Capturing, storing, and analysing the SOARIZON logs
We get valuable feedback about SOARIZON from our users, including bug reports, UX comments, ideas for improvements, and feature requests. As SOARIZON grows, both in its features and users, it was clear to us that we need to address these user issues quickly and reliably.
The majority of retrospective fault-finding is done by reading logs created by our software; so the team decide to investigate this in an innovation week back in 2019. To break down the problem and come up with potential solutions, we split into teams and started our investigations.
This problem allowed the developers to view SOARIZON from a user lens and increased our understanding about technologies that we would not use in our day to day software development. It lent us the perspective of a Development Operations (DevOps) engineer and we were able to see first hand the challenges faced by them on a daily basis.
After through investigation we settled on a solution comprising of Elastic, Logstash and Kibana to search, store and display logs respectively. We created a proof of concept to demonstrate viability of our solution to the team and get the buy in of our Product Owner and our digital security team.
After the innovation week capturing, storing, and analysing logs entered the product backlog as a new feature. It has been progressed by the DevOps team over the last 6 months and is deployed into the production SOARIZON tech stack. The solution we created forms a fundamental part of addressing user bug reports, saves many dev hours and reduces response time.
Case study 2: Map obstruction data and real-time traffic data
The airspace intelligence and ground map is a fundamental feature of SOARIZON which aids in mission planning and mitigates risk during drone flights and missions. We are always looking to increase the value it adds to our users. We have been making the map richer by adding data and usability features to it. During the most recent innovation week we investigated the technical feasibility of displaying obstruction data and real-time air traffic data.
When planning a drone flight, and during the flight itself, there are two main categories of risk that the pilot needs to be aware of. The first is obstructions, such as electricity pylons, buildings and cranes as well as other tall structures both permanent and temporary. The second is air traffic, such as commercial air traffic and gliders. Displaying this information on the map will give users the ability to preemptively plan and deconflict missions with other airspace users in order to mitigate risk.
Most of our aviation data is provided in the form of GeoJSON - a standardised JSON format for geographical data. It is a simple format that allows us to see the coordinates of a polygon/point/circle etc and other data, for example, height and contact details.
We got in touch with aviation data providers to understand the technical aspects of map data like the format and mechanism to access it. We made light adjustments to our code base to do any conversions before we can start displaying it.
The obstruction data is fairly straightforward as it is static, so we can safely assume that we can display it once and that information will still be valid throughout the mission planning process. Real-time traffic data is more complex because it constantly needs to be updated and presented to the user. Here, a simple REST call will not suffice as we cannot display air traffic once and then leave it - we have to update where will they be in 5, 30 or 60 seconds time. This requires a different implementation such as a socket or messaging queue that would allow us to stream data so that we can present the most accurate and up to date information to the user.
Both of these datasets have been evaluated and demonstrated using our map to an MVP (Minimum Viable Product) standard. To get these capabilities production ready for users, we are currently user testing to evaluate the best way to present this data on the map so that it is clear and informative.
If you're interested in becoming a user tester to try out new features before they're released, please get in touch.
Case study 3: Video & Telemetry Streaming
We want to make SOARIZON the 'one-stop shop' for our drone pilots, their organisations and their customers. We recently investigated the possibility of integrating live-streaming into SOARIZON as a consolidated service. By offering a unified service like this we are able to join mission planning and preparation, fleet and personnel management and the acquisition and delivery of data and insights intuitively, in real-time, through SOARIZON.
This is a challenging feature that has to be de-risked before it can be developed. We took the opportunity to take a deep tech dive and learn how to handle real-time data in a web based tech stack. The learning was then shared amongst the devs at the end of the week and we gave our Product Owner a high level technical overview in order to inform the future development roadmap.
For the video streaming server, first we set up a testbed to supply the stream. We enhanced our knowledge on the use of FFMPEG (a multimedia framework) to create a looped RTMP stream to send to a server.
The server was created using a docker image which served as the streaming cluster; the end product being a URL that can be fed into the video client. We used Video.js, a popular, easy to use, open-source video client were able to successfully demonstrate this capability.
We created a service to deliver the telemetry stream to SOARIZON, using mock data to represent a drone circling a static point. We extended our existing framework for live data and integrated it with the new service to allow it to feed the SOARIZON map directly. The last step was to connect to the secure web socket and display the position and orientation of a drone model in our 3D map, powered by Cesium, for each data point.an RTMP video stream receiver and displayed mocked data in a video player in SOARIZON. We also looked at other types of live data that would be useful to our users and investigated receiving telemetry data over web sockets to display the position and attitude of a drone on our 2D/3D map.
Innovation week is just the beginning
For each of these potential new features, this initial development investigation is, of course, just the beginning.
Each new feature needs to be properly scoped, aligned with our roadmap priorities and undertake a number of other tests before being built, to make sure we are building the right feature for the right reason. At that point it will need to be built by our team of highly skilled engineers and rigorously tested for any vulnerabilities, so that we can provide our users with total confidence that our solution is secure to Thales's exacting standards.
We take pride in creating a secure and cutting-edge service for every drone operation across the world irrespective of their size. This means that we have to be on the lookout for the next big thing for our users. The SOARIZON innovation cycle is perfect for this as we can conceptualise, investigate and test ideas without impacting our delivery commitments.
If you have any questions about our tech please feel free to get in touch.