The Smart Queue Algorithm

It was only a month into managing the Harvard Maker Studio that one of our engineers decided the scheduling needed to be improved.

Earlier, we were doing what all of our competitors were doing: Per printer queues. It made sense and was easy to code. You want to print on a printer? Find a printer and start it.

And then we walked over to the Harvard Design School during finals and saw 40 3D Printers running our competitor’s software. That’s where we saw the printer queues fail at scale.

Stress during finals was so high, students were camping in front of the printers for up to six hours. There was no queue on a printer, because if a printer failed, the print job scheduled on top of it wouldn’t run. If their print job failed, as 3D Prints often do, that job was removed and placed at the back of the queue, often up to 8 hours.

This video showcases the differences between our competitors and Makerfleet. Smart Queuing makes the whole process of managing 3D Printers much easier. Students don’t worry about scheduling onto a broken printer, and they always get their prints as fast as possible.

Hence, the only solution for students was to camp in front of the printer, and watch the printer until the end of the print job. Which sounds great for the management team, except that students started to get desperate and bypass the system. One student even said, “We would disconnect the printer from [Competitor’s Software] and run the files manually from our own laptops. Management had to manually unsolder and disable our ability to manually print.”

We took it personally to fix it by creating what we call the Smart Queue. Basically, instead of saying “I want to print on a printer”, you say “I want to print on a printer with PLA” and the Smart Queue will ensure your print goes through.

Here, we choose the “MakerFleet” Group, with a Printer Type of “Prusa MK3” and Material of “PLA”.  It then says that there are “11 out of 15 Printers” with that configuration, which means that there are 15 MK3 Printers that are loaded with PLA in the MakerFleet Group, 11 that are immediately available to print.  Using “Extra Options”, you can even define the manufacturer, color, or nozzle size.  With “Explore Printers”, you can bypass our smart queue algorithm and print onto a specific printer.

Here, we choose the “MakerFleet” Group, with a Printer Type of “Prusa MK3” and Material of “PLA”.

It then says that there are “11 out of 15 Printers” with that configuration, which means that there are 15 MK3 Printers that are loaded with PLA in the MakerFleet Group, 11 that are immediately available to print.

Using “Extra Options”, you can even define the manufacturer, color, or nozzle size.

With “Explore Printers”, you can bypass our smart queue algorithm and print onto a specific printer.

After a handful of interviews with the students in the Design School, we improved our software considerably, and even gave them free prints in exchange for more feedback.

They responded with pages and pages of things they wanted to improve with the platform, frustrations they felt with the competitor’s software and frustrations they had when using ours.

Six months later, finals came around again, and we felt proud that students would rather print using our software and walk across the river. And it felt good knowing they weren’t stressed about the print.

And that’s when we knew the smart queue was better; less uncertainty during finals, leading to more productivity and less stress, for everyone involved.

Harnek Gulati