![](../static/images/call-centers/final.png)
A Product for Telemarketers
This is a concept and prototype for an application to be used by managers in telemarketing operations, specifically those operated by universities.
For this project I focused on 3 related tasks.
- Scheduling Employees
- Monitoring Employee Performance
All managers must utilize their employees as best they can. This means playing to their strengths and learning about them, in order to make better use of them in the future. In this environment, this means understanding who a caller works well with and having the ability to make immeditate corrections.
I interviewed two people who had managerial roles in such operations to better understand their needs and the current product. One common complaint I had was that the interface was very garish and confusing. People had to spend all day looking at this software and it was a pain to do.
Second, and most importantly, many common tasks were very tedious to do. Distracting them from their job and inhibiting their ability to make quick changes in the moment. Furthermore, this increased the amount of training neccessary to start someone on the job.
This was most seen in the task of scheduling a caller to a segment. To do so, a manager must find the caller's name in a long drop-down list, go to the caller page, find the small segment in yet another large drop-down list, and finally, manually enter a time and date that the employee will be calling. Because segments are such small units to work with, a manager finds themselves spending a great deal of time on this alone, having to repeat the process anywhere between 5 and 10 times for each employee.
To increase the power of the abstractions, I invented the notion of a "group". A group is simply a relation between many callers and many segments. Whereas the relation is currently many segments to on caller, a group creates an intermediary representation whereby we can operate on many callers and many segments at once. The power and advantage of this abstraction become apparent when you consider the objective of the manager, and the way a caller relates to a segment.
First, a caller and segment are inherently related, for a caller will have some qualities that make a particular segment better suited for them. For instance, a caller that is currently studying engineering will have an easier time talking to alumni that also studied engineering, than a similar caller who is instead studying business. This simple observation is one that greatly influences the strategy of the management, as they try to optimize their workforce.
Second, such an abstraction allows for another level of "indirection" that affords us more flexibility and power. Consider that previously, there was no way in which a manager could save or reapply the relations they had defined. Every day a manager must direct caller A to call segments B, C, and D at different times. With a group a manager can simply save the relationships, and introduce them when they see fit. This also has the added benefit of avoiding any problems relating to the presence of employees. Because a group is a collection of many callers and many segments, if a caller in a group is not present at any given moment, he will simply be ignored.
Taking this even further, we could imagine a smart configuration of these groups, where a manager only has to specify a few parameters and have the group immeditately populated with callers and segments matching certain heuristics.
This abstraction also provides more benefits in the way of enhanced UX. Using groups, we can now visualize the schedule in a very natural, and intuitive way through a timeline. This makes it easy to see, at a glance, who is being called, and how much of a managers workforce is being utilized.
Much thought was put into the design of the layout. I focused on maintaining direct manipulation, reducing mental overhead, and the number of abstractions that must be learned. To this end, the listing of callers and groups are placed side by side, allowing a user to merely drag a user onto a group to link them. This group listing is also the timeline, making it very apparent to the user how the two relate.
Also, it was very important to give the managers a way to quickly see the status of their employees.
To test these ideas, I created a rough prototype using Angularjs and D3. While it isn't polished by any stretch of the imagination, it allowed me to test the abstractions, and transitions for the interface.