Case Study: Package Analyzer

The Problem

Open Source packages are increasingly used to build modern software. Licenses can conflict with one another, and as such it is important to understand package composition from a licensing perspective. Enter Package Analyzer—a tool designed to answer the question, "What licenses are present in my product?"

Input: package.json

Output: Visualization of metadata, license(s), version(s), and links for further exploration as needed.



The Process

The initial plan was to employ a textarea for JSON input, and then fetch dependency data from npm for tabular display and license breakdown in a graphical format. This approach allowed users to paste in their package.json file and see the results. However, during the testing phase a couple of UX challenges were observed:

To address these concerns, a simplified file-input approach that allows users to select a package.json file for upload was implemented. This approach is faster and more intuitive, and removed the distractions of formatting and the unnecessary step of selecting thefile contents from the flow.


Includes small touches to enhance the user experience: basic error handling, ability to load an example if no file is selected, a count of dependencies, and column sorting where it makes sense (Author, License, Name).


The Solution

Try it out:   Launch Package Analyzer

Want to learn more?

Get in touch