Interview by Michel & Yves Sinner
Q: Could you please briefly introduce yourself and tell us how you became interested in 3D printing in the first place?
A: I think I am what you could call a geek by heart. I’ve been fascinated by both new and old technology as long as I can think and have been into programming computers since I first laid hands on them, which is why I became a software engineer in the first place. I spent the last couple of years working for a big IT consulting company, but during my free time I was also always looking for new fun technologies to play around with. So when I first encountered a RepRap 3D printer (it must have been at Hacking at Random in 2009) I was instantly fascinated by the possibilities this new type of machine offered, and it was really just a question of time when I’d get my own. I finally gave in to this nagging voice inside of my head at the end of 2012 and got my first printer, since I finally had the space at home for it.
Q: How would you describe OctoPrint in a few sentences?
A: I recently heard a very nice description in episode #44 of the “3D Printing Today” podcast: It’s a baby monitor for your 3D printer. I would add to that that it’s like a mixture of a baby monitor and a remote control — you can both control your printer but also see what is happening with the printer while you control it, and all that from within your browser.
Q: Why did you develop OctoPrint and what motivation was driving you to embark on this project?
A: I had this shiny new 3D printer with its constant stepper motor sounds and molten plastic smells sitting in my home office on the floor, but also a spare room with a good wi-fi signal and no intention to constantly run into that to check on a couple of hours print job. So I really wanted to be able to get the same amount of information on the printer as if I was sitting right next to it without having to actually be next to it, and do all this in as cheap a way as possible, which is where the Raspberry Pi as target system came into play. The existing solutions back in november/december of 2012 that I could find basically handled the printer as if it was a black box — pump data into it but never get it out again so to speak. I wanted to have a full feedback loop of what the printer was doing, so I decided — since it was about time to have some private programming project anyways — to just roll my own, just in time for my christmas vacation.
Q: What was your goal/vision when you developed OctoPrint?
A: The most important goal was really to scratch the personal itch of not wanting to have the printer in the same room as me but still be able to watch and monitor it constantly without having to strap a full sized computer and loads of cables to it or spend a lot of money on the convenience — I had just spent a lot money on a 3D printer after all. Therefore: small inexpensive single PCB computer, webcam, wi-fi. And I wanted to be able to monitor the printer from every wi-fi capable device in my possession if possible, so making it all usable from a regular web browser was the top priority right from the start.
Q: From the earliest days of OctoPrint to now with so many users and even 3D printer companies depending on this tool, you have played a central role in the online community, responding to questions in the group, pushing patches and fixes to the repo, overall community leadership and management. What was it like doing this while also having a full-time job? What is so special about this project that you were willing to offer so much of your time to nurture and develop this tool?
A: It cost a whole lot of energy, and I honestly still don’t know where I found that. I spent most of my free time moving the project forward, so weekends and holidays and sometimes even the evenings after work were dedicated OctoPrint time. I even felt bad if I actually left a ticket unanswered and instead spent a couple of hours on the couch or with friends and family. I think I did commit to the project in the way I did because I had the feeling that I really had created something useful here with which I could do my part in that very active and engaging community. I also had a lot of fun coding something I could make the decisions on, and testing out a couple of new things I didn’t have the chance to play around with during my job.
Q:What projects did you draw your inspiration from either as a model for open source development or a tool to learn from and improve on with OP?
A: Everything I learned about doing open-source projects I learned from my time as a regular contributor to the awesome DokuWiki project and its project lead Andreas Gohr. OctoPrint itself at first was actually just a different UI on top of Cura (which I’ve been using as my slicer since the very beginning and of which I also used the host functionality myself before I had OctoPrint).
Q: What are the features/capabilities of the current version of OctoPrint?
A: You can upload and manage your G-code files including those stored on the printer’s internal memory/SD card, you can select those files for printing, control print jobs, create timelapses from them, manually control the printer in all axis, watch a live feed from an attached webcam, follow the print job in the built-in G-code viewer, define your own UI elements to control your printer on top of the predefined ones, monitor the hot end’s and bed’s temperature, and thanks to the internal event subsystem also attach your own functionality to certain events, e.g. get an email with a webcam snapshot when the print is finished or upload a rendered timelapse to Youtube and tweet about it. The current development version also supports multi-extruder setups and sports a shiny new API, so if you know how to program you can also build your own apps on top of OctoPrint.
Q: What role do you see photos and timelapses having for the development of desktop 3D printing?
A: I mostly see them as some nifty gimmick with one useful side effect, being able to analyze an unattended failed print afterwards. But being able to just show a timelapse of a successful print also really helps explain 3D printing to people.
Q: Who do you consider to be the target users for OctoPrint? (the average 3D printer owner vs. advanced users?)
A: At its current state with the many options offered via the interface its obviously more geared towards the more advanced users, however that is not something that will stay like that forever. My goal is actually to offer something appealing for both parts of the spectrum in the long term.
Q: OctoPrint is open source. You recently announced that you started working fulltime for bq, a Spanish company. Will your employment have an impact on the open source nature of the software?
A: bq is a very open source-conscious company and right from the very beginning we fully agreed on OctoPrint definitely staying open source under the same license as now and continuing to support the same broad spectrum of setups out there as it does today. We’re actively contributing back into the 3D printing community (there have been a couple of accepted pull requests now against the Marlin firmware and the Cura slicing software, plus all of bq’s printers are open source, too) and believe in working hand in hand with the community in general.
Q: Why did you choose to work for bq and not one of the bigger players in the market, like Makerbot or Ultimaker?
A: They gave me the opportunity to visit their offices and meet a couple of the very talented people working there. I felt that we fit very well together, both in regards to our passion for 3D printing and open source software and hardware in general, so for me it was a no-brainer to accept their offer. I also would not say that they are not a big player, we are speaking about a company whose 3D printers are now present in more than 20 countries and whose recent rework of the Prusa i3, the Hephestos, has already sold over 500 kits in its first month of availability. And there are many more very exciting projects for the maker community — not only restricted to 3D printing — in the pipeline you will see very soon.
Q: What does being employed by bq entail / change for you? (i.e. more time for development, help by a team, etc?)
A: I’m now able to work full time on OctoPrint so I certainly have way more time for that than previously. I also have a team contributing to the project, documenting it and supporting the community, peers to bounce ideas off, quality assurance, and the very good feeling to not have to constantly balance my job, the project, and my social life any more. I’m a firm believer that this is not only something that I will profit from but also all current and future users of OctoPrint, we certainly will see a lot of interesting development.
Q: As OctoPrint is open source, the community started to develop some specific applications. Could you give us a brief presentation on some of those developments?
A: There’s “OctoWatch,” a Pebble watch app developed by Jason Gullickson that allows you to control your printer right from your wrist. Then there is a command line tool for controlling OctoPrint called “octocmd” by Giles Hall, a preliminary integration into Google Glass by Adam Bryam and also several projects for adding a display to the Pi that shows current status information. I’m also pretty sure there are a couple of projects out there I don’t even know about yet, but I try to give them a shout-out on OctoPrint’s G+ page whenever I stumble across a new one. Although, besides not being an application but rather a big time saver for a lot of people is the awesome OctoPi Raspberry Pi distribution maintained by Guy Sheffer, which bundles OctoPrint, a webcam server, and some other nifty stuff into a Raspberry Pi SD card image you can directly use to get started.
Q: What are the OctoPrint developments that you are currently working on?
A: Right now I’m doing a long overdue bug squashing all around, finalizing a new module communication layer which is a major headache to develop and concurrently working on slicing integration, a shiny new file management approach and something to make setting up OctoPrint/OctoPi in a new network environment less of a headache, so stay tuned!
Q: If I am totally new to OctoPrint, where do I find the best how-to/reference guide to get started?
A: I think the best starting point right now is certainly Thomas Sanladerer’s recent video guide:
Q: Octoprint.org directs a user wanting to download and use OctoPrint to a github wiki (OctoPrint supports Windows, Mac or Linux installations). The installation procedure is explained step by step, but multiple program installations and the use of various command lines may constitute a certain barrier to entry for a basic user. Are you considering developing a more simple installation via executable for Windows for example?
A: Let’s not forget octoprint.org also directs the user to the all-in-one Raspberry Pi distribution OctoPi created by Guy Sheffer. But executables for something like Windows or Mac admittedly have a low priority given the fact that most people will not set aside a more high powered machine (that’s capable of running windows or is a Mac) just as a server to run their 3D printer from. The target system is still Linux on a Raspberry Pi. But I already played around with a popular installer system and also the addition of a systray icon, so it’s not completely off the table right now.
Q: What is your take on the integration of OP into current printer models, like the the Printrbot GO v2 and the Type A Machines 2014 Series 1?
A: It makes me proud that my used-to-be-little-side-project apparently has convinced enough to be integrated into commercial products. I find it very important though to not only take from the open source community but also give back (e.g. by contributions but also always attribution), and while those two companies certainly did well in that department, there are sadly always a couple of black sheep in the mix.
Q: How do you think OctoPrint and other tools inspired by OctoPrint change the experience of desktop 3D printing?
A: I think that they are making 3D printing more accessible and “family friendly”. Being a woman myself I don’t like the term “wife acceptance factor” very much, but from what I’ve heard from users being able to leave the printer in the garage and being with the family while it churned out a long print job without sacrificing the possibility of sneaking a peek at it from time to time appears to have had a positive influence on a couple of relationships out there.