With the announcement of Box's content platform-as-a-service (PaaS), Box Platform, it's become more important than ever to provide developers with a top-notch experience, whether that's learning about authentication methods in our docs, configuring an app in the developer console, building with an SDK or reaching out for support.
With Box Platform, Box becomes a hidden layer for managing, securing and viewing content. Whereas previous Box apps were meant to access content of existing Box users, Box Platform introduces the ability for the developer to own the user authentication, user accounts, and content associated with an app, while having access to the full functionality of the Box API.
Developers building on Box have a number of options when it comes to configuring and developing an application.
How might we redesign the Box developer console to reduce the amount of time required to configure and develop an app built on Box?
As new features for Box Platform were being designed, the team was forced to add settings to a long form that was quickly becoming a mess and a headache for developers to sort through.
The 4+ year-old codebase was increasingly difficult to update—let alone to incorporate new features into.
Lastly, Box’s core web app was going through a much needed redesign and the design system was maturing and ready to be used elsewhere.
Design a better user experience for creating and configuring applications, in order to reduce the time to value (first API call) and time required to configure and build apps.
Build a foundation that aligns with the new and evolving Box design system—to be able to expand with future features and functionality.
I worked with two Product Managers and three Engineers to redesign the developer documentation and developer console.
With the help of Box's user research team, we found that the biggest pain point with Box for developers is authentication—what type of authentication is appropriate for their use case and how to configure it.
Box developers prioritize functionality (What types of apps can I build? What features can I utilize?) and ease of use (How easy will it be for me to build? How quickly can I get started?) over security, cost and reputation when considering a platform integration, which highlighted the importance of reducing friction in the development process.
Since we were working with an existing product, we started with an audit of all the current settings and functionality. Because the code base was very old and most of us working on the project were new to working with the codebase, there was a lot of digging around to see how things worked—highlights the importance of documentation!
Knowing that authentication was causing the most friction for developers, this was an area we put a lot of focus on as part of the new app creation flow to make sure developers could easily configure their application with the appropriate authentication method.
Since these were new app concepts being introduced, I experimented with many iterations of copy changes, graphics and layouts in order to make the choice as clear as possible.
With feedback from the sales engineering team that meets with customers and developers everyday, along with testing with internal and external developers, we incorporated the terms they were used to into the short descriptions, heard from many that sample use cases would be very helpful, and listing which type of users the app would be servicing really resonated. Abstract graphics were more confusing then helpful, so I made graphics that were more use-case based:
To get developers to their first API call faster (that 'aha' moment), the final step of creating their app gives them a code snippet with their developer token pre-filled—this gives the developer the ability to make API calls against their personal account for testing, without having to set up authentication.
This call in particular gives a list of folders from their account.
By reaching Beta ahead of schedule, we were able to showcase the new developer console at BoxWorks, which increased platform product awareness.
Through this redesign, we built a foundation that will allow the team to expand with new features without compromising the user experience.
While it's still early, we're seeing an increase in developer satisfaction:“Holy crap, this is a lot better!”