Barcoded tool transfer management
Product owner, Design, Development
Where's the tools?
ISC Constructors designs and installs complex electrical and power management systems. They do phenomenal work, and it’s easy to see how passionate they are by looking at their beautiful installations.
One process that makes their operation tick is a paper-based system that employees use to request the various tools they need at a particular job site. Each requisition goes through a process:
- 1 Employee requests tool(s) for some job during some date range
- 2 Requests are approved or denied based on tool availability and other factors
- 3 Approved tools are collected and scheduled for delivery
- 4 Tools are delivered to the job site, and someone signs off
A separate return home request occurs when tools are no longer needed, and the same workflow commences in reverse. The tool dispersal process was far from perfect, but it got the job done for many years.
Switching software
ISC eventually embraced a line-of-business software called Viewpoint for project management, invoicing, estimating, etc., which offered more efficient and paperless opportunities.
However, the inevitable problem with any off-the-shelf software is that it only does 90% of what you really need it to do. ISC soon discovered that Viewpoint could not accommodate tool tracking and, therefore, it could not invoice tool rentals to job sites.
The discovery process
ISC approached us to deliver a solution to this problem, and our solution would ultimately need to submit data into Viewpoint so that it could be invoiced appropriately.
This was also a wonderful opportunity to identify and improve pain points in the existing tool transfer process, which was far from perfect.
- » Requesters can write anything they want on the tool request form, so bad data came across the approver’s desk all the time
- » Approvers do not readily know where every tool is at any given time
- » Tools would sometimes be unusable upon delivery, and employees needed to reject them
- » There was no system overview of all requisitions and tools
- » It was not easy to identify who or what caused a disruption to the requisition process
As far as positives, ISC did have 2 things that we considered hugely beneficial:
- » Well-established workflow that employees understood
- » Entire tool inventory was individually (and uniquely) barcoded
Focusing on what's most important
Many pain points would be solved as a natural side effect of switching to a digital process, so we honed the project requirements to a focused-set of goals:
Data integrity is most critical
The most important process in Tool Tracker is that meaningful and accurate data gets imported into Viewpoint, because this data ultimately finds its way onto an invoice. Every decision was made with this in mind.
Introduce employee accountability
The old paper-based tool transfer method was prone to many issues, and there was no good method for determining who was the last person to interact with a particular tool. We have an opportunity to change that.
We would build 2 separate applications: a website for tool request creation and approvals, and an iOS application for field tasks like picking, loading, and unloading. An iPhone mated with a laser barcode scanner was the perfect gadget for transitioning tools.
iOS component
Once satisfied with the general workflow of the iOS app on my whiteboard and Visio diagrams, I created low-fidelity prototypes in FluidUI. This ultimately established preliminary design decisions including which workflows were acceptable and, more importantly, which ones were terrible.
I was able to consider which information the user would need at each point in time, then I could quickly test it on an actual device for a proper experience. The client was involved with this process, ensuring we simplified the interface as much as possible while retaining core functionality.
I built upon the approved prototypes to design higher-fidelity mockups, which would serve as the UI goal of the final product. I was continuously involved with the development process to test each workflow from the user’s perspective, and I prioritized changes as needed.
I incorporated a number pad entry method where I thought it would benefit the user greatly, such as logging back in after being idle. The most helpful use of the number pad allows barcodes to be entered manually, which eliminates the dependency on a barcode scanner attachment and makes Tool Tracker 100% functional on any iPod, iPad, or iPhone.
Logo & app icon
I was given full creative freedom with the logo and iOS app icon. I continued with styling queues that evolved during the prototyping phase, which were already extensions of ISC’s existing branding guidelines and logo—a faux italic version of Impact Regular (you have to pick your battles, but I am pleased with the outcome regardless).
Website component
The web-based Node application allows users to formally request and transfer tools between various job sites and company locations, tracking tool locations and handlers throughout each lifecycle. I designed the interfaces, built the jade HTML templates, and created the LESS-based stylesheets.
Account registration queries Viewpoint, an internal management application. All users must have an active employee ID to register. Integration with LDAP allows single sign on for applicable users, and non LDAP employees are guided through account creation.
Heads up display
The heads up display (HUD) page was designed to be visible on a large monitor all day, and web sockets allow real-time updates as tools transition between column states.
Batch transfer
A special permission was established that would allow certain users to create Batch Transfer files, which would be imported into Viewpoint for billing purposes. This functionality is what makes everything else worthwhile, so it had to be perfect.
I worked with Viewpoint’s own development team to create an integration method that would absolutely guarantee successful data imports without negative side effects. Lucky for us, this simply involved exporting our MongoDB data to a CSV file, particularly formatted, which would then be imported and processed within Viewpoint. Our most important priority here was to ensure each tool transfer is only exported to that file one time.
What I learned
I learned how crucially important it is to plan a project before opening Photoshop or a text editor, especially when part of the goal is to (vaguely) improve upon some existing workflow while translating that workflow to another medium.
I also learned important project management takeaways like identifying stakeholders, keeping detailed meeting notes, and understanding not only what we were building, but why and how we were building it one way instead of some other way; helpful when presenting to clients.
From a technical perspective, I witnessed the benefits of making the API a first-class citizen.