At a place of former employment, the Director of First Impressions (Annie) got stuck with the repetitive task of cross checking employee data across internal platforms. HR and the intranet team both kept their own employee records - data merging and verification was completed manually by Annie.
Annie had a set of very repetitive, error prone, difficult tasks:
- Receive a spreadsheet from HR with sets of employee data organized by department
- Visit various individual employee profile pages on the corporate intranet
- Check each page manually to verify the data on the HR spreadsheet matched the given profile
What she really wanted to do is pull filtered employee data from the intranet in the form of a spreadsheet. She could then use excel to automate her task.
I definitely felt for her and I’m glad she approached me with the problem. But, as a member of the intranet team, I was hesitant to add this functionality directly into the application. It was such a fringe case and our feature request list was already unmanageable.
When Todd and I designed the intranet, we knew requests like this would come up. The entire interface of the application was abstracted from the server using various REST services. But, we had yet to setup oauth, application registration, and other tools necessary for external app API usage.
To solve Annie’s problem, I created a Chrome extension in her name. It used the intranet’s maintained UI filtering system as well as it’s REST query services. It allowed her to download filtered data as a csv and kept us from having to make site wide changes for a single use case.
I later found out that lots of other people started using this plugin in ways I didn’t expect:
- compile lists for their department (email, signups, quick lookups)
- compile property averages for employees based on department, role, and location (eg. what location has the averaged longest tenure).
The corporate intranet is not open source, but Annie the chrome extension is!