Box is a secure file sharing, storage, and collaboration platform, that recently engaged with us regarding their Technology Partner program. In order to make an informed decision about becoming a partner, we needed to explore their API and assess our suitability for developing software around it. However, rather than just digging through the documentation, we embraced the opportunity to build something interesting. Making a real application would not only help us decide, but would showcase our capability and allow us to try out new technologies. So we endeavoured to develop something useful and usable, something that wouldn’t just get thrown away at the end.
Identifying user needs
By browsing Box’s community forums a key user need stood out. People seemed interested in gaining a better understanding of how much space they were using with their various files and folders. Taking inspiration from a Windows desktop application called WinDirStat, we decided to build a web application that would generate a visualisation of the user’s files and folders, thus allowing them to see where most of their space was being taken up. This would involve working with authentication, querying for specific information, and designing an interactive user interface to display the data. For us, it was an exciting project that would allow us to play with the API whilst also producing something that people would find valuable.
Building the app
Once we had our idea we set about developing the application. In doing so we seized the opportunity to make use of technologies we’re less experienced with or haven’t worked with at all before. We chose to interface with the Box API using their Windows SDK, as it allowed us to utilise and gain further experience with the .NET Core 2.0 framework.
We are 'tech-agnostic' - so we continue to evolve our own development skills as a team, learning new technologies all the time - all our new recruits must also take this open approach so that we can deliver using the most appropriate tech. So as well as new framework tools, we also decided to play around with some newer front-end technologies, most notably using the Styled Components library with React to design the user interface (as opposed to the conventional CSS approach). Having the freedom to experiment in this way was a very valuable by-product of choosing to develop a real application instead of a throw-away demo.
All the way to the App Store
In the end we produced a polished application that was interesting to develop, serves a useful purpose, and employs technologies we don’t commonly use. Along the way we achieved our goal of exploring the Box API and convincing ourselves that we’d be a good fit for the Technology Partner program. We demoed the final product to a team from Box, who were impressed enough to suggest that we submit it to their App Store. We gladly obliged, and if you have a Box account you can try it out for yourself: