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 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).