How I helped admins set up employees with custom software they need to be productive at work–remotely and securely.
The ability to remotely install apps we didn't offer in our Catalog of content to devices was one of Fleetsmith's most frequently and longest requested features. Although a known feature in the device management space, my goal was to craft a thoughtful solution tailored to our specific customers' needs, goals, and that they'd love.
It was one of the first projects I worked on at Fleetsmith, cracked open a window into the secret lives and minds of IT Admins, and was overall a fast and fun project to work on.
Over 5 months, I took us through quick ideation, multiple rounds of testing and interviews, and beta releases before we launched the feature to all customers in December 2019.
Fleetsmith was a series B startup with the goal of owning the device management space. It was loved by customers for its ease of use, robust Catalog of configurable apps and device settings, and focus on security.
However, IT Admins at mid- to large-size companies needed the flexibility to install additional software we didn't provide–known in the space as "custom apps." Delivering a great solution would allow us to better support and retain existing customers at larger companies, while also opening up new business opportunities and conversations upmarket.
How might we help admins deploy custom software in a way that doesn't require a lot of time-consuming or confusing steps?
Getting employees set up with the devices and apps they need at onboarding is a big part of an IT Admin’s job, and they typically have a checklist of things they need to complete to consider a device completely "set up."
In our current world, IT Admins weren't able to automate the deployment of anti-virus and proprietary apps to their org's devices through Fleetsmith. Many resorted to manually installing apps on every single new employee's device which was time-consuming.
In order to help IT Admins complete their device setup checklists–specifically, their needs around anti-virus and proprietary apps–the product manager and I focused our approach on solving 2 key problems:
There were a couple factors guiding this effort:
Creating a custom app
Adding kernel extensions + privacy preferences
Deploying a custom app
I worked with our user researcher to develop a study plan around my learning goals, and we hosted remote user interviews over a week. I part-timed as a sidekick notetaker and detective huddling together after each session to review our "insights."
All 5 participants said self-hosting their app and providing a URL to a .pkg was "sufficient" to solve their needs today. Given a Help article, they were "confident they could figure it out." While not ideal, this was good enough signal to move forward and unblock customers as fast as possible.
Testing also revealed that more experienced IT Admins expected the ability to upload an app's .pkg file directly to Fleetsmith in the future. Duly noted for our next iteration.
While 4 of 5 participants preferred having these accessible from the "Create Custom App" page, most had limited prior experience with kernel extensions and privacy preferences and didn't initially realize they were optional based on their visual prominence.
4 of 5 participants expressed some confusion around what to expect when hitting Save. "Will it save all page elements or just the title and description [above it]?" "Will it save what I have or create the app?"
This invalidated my assumption that providing a familiar page structure would align with their existing mental model of apps in Fleetsmith. Instead, the Save button's placement and word choice made participants hesitant and unsure.
For a technical task like creating a custom app, providing a menu of too many options combined with an unclear content hierarchy tripped up folks.
To solve both issues, I introduced a single column layout that would guide users through 1 task at a time, reduce visual clutter to create focus, and repositioned the primary action atop the screen to better frame its content. I also updated the button language to clarify the intended action and made a couple other visual refinements.
"Secure by design" is one of the Fleetsmith's core values. When an Admin provides a URL to their app package, we can't verify the contents of the file. So, we required users to provide us with the package's SHA-256 as an extra layer of authentication.
To make this step as accessible to new and non-technical Admins as possible, I included a solution they could copy-paste in Terminal and ensured we covered this in our Help article.
While we were able to quickly get custom apps support in the hands of beta customers and enable them to deploy apps they needed to their employees–we could do better. Our next step was to build on our foundation, reduce the steps to deploy a custom app, and meet our customer expectation around having a direct upload capability.
I explored a few interaction patterns for selecting between providing a custom app via a package URL or file upload. I landed on using our comfy toggle component and having file upload selected by default.
When Admins upload a file directly to Fleetsmith, we would automatically scan and calculate the package's SHA-256 on the backend.
This effort introduced new use cases around file uploading and management that prompted building on our simple uploader. For example, we only accepted packages in .pkg format, didn't enforce upload limits, and offered limited free storage per account.
I worked with engineers to assess what information we could extract and access in order to provide a useful experience for any situation they found themselves in.
To help IT Admins manage their custom apps, easily know which are URL vs. file-based, and keep track of their storage limit, I added subtle iconography and file size to differentiate custom app types and give them a little visual flair.