Case Study: License Manager

written by Chris Goodwin on 2017-10-10


For some software, managing licenses can be a downright pain in the you know where. Some places allow enterprise licensing others are much more restrictive. Organizations use a number of ways to manage their licenses but more often than not Excel gets used to save data and information regarding the licenses. How many installs, where they are installed, dates of the licenses, etc. It all gets packed away into some Excel sheet that is prone to error or accidental mishaps.


When dealing with things like licensing that requires monitoring of machines the software is installed on and other critical details it often falls on the task of some Excel file which can be prone to error.


The major challenge faced here was human error and organization of licensing. Using Excel sheets also proved problematic because maybe User A had a different version of the file than User B and their lack of communication was causing the wrong licenses to get used incorrectly.

I wanted to resolve this manual entry and potential for mishap by bringin all the more intricate licensing into a system that would be a 'one-stop-shop' for users of an organization.


When I started this project I was working in the helpdesk (which regularly assisted with installs). Sometimes we did the installs, other times the technicians in the field did the installs, so I saw first hand a lot of the struggle with existing processes and the inefficiencies and errors that they presented. As with any project, I knew I had to meet some expectations if this application was to be well received:

  • Searchability - users needed to be able to easily search this information to see who had what licenses and/or if there were more available.
  • Responsiveness - it had to be fast. When you have people actively looking for the license so they can install software required to do their job, waiting is not fun.
  • Ease of use - this application needed to be very simple for users. They were used to copy/paste from Excel and typing in a few key fields. This was a place I thought AngularJS would fit in very nicely based on those requirements. I chose the Laravel framework for handling all server side things and making the data easily accessible through creating a small API for the Angular frontend to tie into. I used twitter bootstrap for the layout side of things so I could have a nice presentation of all the data. This allowed me to get an interface up and going that was easily searchable and very quick thanks to Angular.


By using some of the built in filtering of Angular - the user can just start typing a name, a license number or any of the other fields associated with each license and the record is pulled up almost isntantly. Often they only need to key in the first 3-4 letters of what they're looking for and they have the appropriate licensing information at their fingertips.


Since this is built with AngularJS - it's fast and all gets handled on the front end very easily. As a bonus, with bootstrap, even users out in the field on mobile devices can benefit from being able to quickly get the info they needed.


The particular layout I chose included all the fields they have previously been using in their Excel sheets previously used. This ensured the user would be familiar with the naming convention and would easily know where the data went. Also using Angular directives I could make sure users were submitting only the appropriate information in each field (which had previously proved to be problematic in Excel).


This application allowed the district to begin managing licensing information in a real-time, responsive way that lends itself to less user error. There is (and probably always will be) the potential for user error, but it is very diminished in this case. The data the users can only enter field appropriate data in the appropriate fields (unlike Excel where the columns were constantly mismatched). Having Angular handle everything on the front-end meant that the application would appear and feel seemless to the users, quick and fast like the native software they were used to using - but with all the added benefits of knowing anyone accessing the application had to enter the right data in the right spots. The users knew exactly what they were seeing with each license because of the clear labels, unlike in Excel where you had to look at the column to remind yourself what field you were looking at.


This application helps to keep an organization up-to-date and more inline when dealing with the tricky aspect of license compliance. I think adding an administrative side to it where users could customize the fields they see/enter would be helpful for the future.

Want to see more? Check out the codepen and play with it yourself.

Did you find this article helpful?

Feel free to help me keep this blog going (with coffee)!