GUI Wireframe

(Backdated: Nov. 12, 2016)

I’ve had a hard time knowing what to do to work on the GUI itself, and I think that’s because we haven’t had a full plan for what it should look like. To rectify that, Isaac and I sat down today and made a wireframe!

There are several pages we want to have in this app. We want to start with a homepage, of course. There should be two buttons on that page: one that will take the user to a view of the job log, and one that will take the user to a form in which they can fill out information for the job log.

Our wireframe visualization of the home page

The job log displays in a table (we’ll probably save the information to a CSV and then import that CSV into a GUI screen) and has a “Home” button so the user can return to the main page. The “Get started” button takes the user to a form where they type in their name, the date, the amount of filament they’re recycling, and whether or not the filament is already ground up. The last question is really to make sure the user is paying attention, since the filament needs to be ground up in order to be used in our machine. (Ideally, we’ll write the GUI such that if your answer to “Is the filament ground up?” is “No,” you’ll get an alert that tells you to grind up the filament before proceeding. But as a first pass, we’re just going to have the user regulate theirself.)

Once the form is filled out, the user presses a “Preheat” button, which turns on the heating system. While the extrusion barrel is heating, a progress bar shows the user how close they are to beginning their recycling job. Once the barrel has reached the desired temperature, the page will switch automatically to the following status page. On the status page, the user can see current temperature, time elapsed, and filament diameter, all as measured by our sensing system.

When the user has finished feeding ground up filament into the recycler, they press a button on the status page which says something to the effect of, “I’ve used all my filament!” This brings them to a page which recommends they allow the recycler to finish extruding (since there will still be filament in the barrel). When it appears that the extruder is done extruding new filament, the user presses the “It’s done!” button. They are greeted by a message saying there’s nothing left to do, and the last button for them to press brings them to the log page.

Throughout the process (from the preheating page through the page reminding the user to let the filament finish extruding), there are “Stop” buttons available. If the user presses one of those buttons to stop the process, they are brought to a page where they describe what made them stop. This information gets added to the log alongside the information they’ve already provided, and the user is immediately brought to the log page upon clicking “Submit.”

Now that we have a full plan for how we want the GUI to work, I can really get started on building it. Time to explore Python packages!

--

--