Over on Slashdot’s sister site SourceForge, the community editors (as part of their regular Project of the Month) sat down with Tobin and Justin, the father-and-son team behind the Win32 Disk Imager project, created in conjunction with another developer (Jeff). It’s a tool that can write filesystem images and raw files to memory devices such as USB memory sticks, while also reading from those devices (and saving the images as backups). Read on for more:
SourceForge: Tell us what the Win32 Disk Imager project can do for folks…
Tobin: Win32DiskImager is a tool to take filesystem images and raw files and write them to memory devices (USB memory sticks, SD/CF cards, etc). It can also read from the device and save the image as a backup.
SF: What was the problem you were trying to solve with this effort?
Tobin: This tool was originally developed for the Ubuntu 9.04 (Jaunty) Netbook release, targeting users of Netbooks with Windows preloaded. At the time, Ubuntu only shipped CD ISO images and Netbooks don’t have a CD drive. This was created as an easy to use solution for Windows users interested in trying the Ubuntu. I should note that the program went from concept to working release in a weekend. Justin can comment more on this.
Justin: Tobin simply called me up on a Thursday after school (Senior year of high school if I remember correctly), and needed a screenshot by the end of the weekend so they could do preliminary documentation. I sent a screenshot only a few minutes later (gotta love developing with Qt) and then had to learn the win32 API *shudder* and by Friday night I had a fully functional prototype.
SF: Has your original vision been achieved?
Tobin: For the targeted release, it went quite well. After it was released in April 2009, Ubuntu changed the format of their ISO images and combined the Desktop and Netbook images, so the tool was no longer needed for this purpose. At this time, it was all but abandoned.
Justin: My original vision for it was simply a temporary tool for a temporary problem that had other uses as well. After being asked to allow Ubuntu to take over the project and turn it into an Ubuntu specific tool, I kindly refused since I wanted to keep it a generalized tool with a wide range of uses. I didn’t quite imagine that that decision is what would ultimately allow it to explode in popularity like it has done.
SF: Who can benefit the most from Win32 Disk Imager?
Tobin: Anyone that is using Windows based systems to do development work on embedded systems or users that want to test the latest Cyanogenmod on their Android devices. I have also heard from users that use it to just back up their SD cards from their cameras.
SF: What’s the best way to get the most out of using Win32 Disk Imager?
Tobin: The program is very simple in design. The first thing to remember is to backup any important data you may have on your memory device before writing to it. And also, read the readme.txt file. If you have questions, please ask. We try to answer all questions that we can.
SF: What is the Win32 Disk Imager release philosophy; do you all use the release early, release often precept?
Tobin: There are currently two people actively maintaining it (Justin is focusing on another project also hosted on SourceForge). We also have received a few translations from other users, which is great. Unfortunately, we don’t spend nearly as much time on it as we probably should. We try to outline what features or bugs we want to resolve in the next release, then work towards that goal. My biggest issues are the constantly changing APIs in Windows, and having to find out how to integrate them in when something breaks.
SF: If not or if so, why?
Tobin: Time and resources are the biggest factors here.
SF: What are the key features from your most current release?
Tobin: As of v0.9, we support generating MD5 checksums for image verification (helpful for downloaded images), Drag and Drop images from Windows Explorer, and the ability to define a default directory for images through an environment variable (defaults to the user’s Downloads directory). This works quite well in Windows XP, but we have seen issues in newer Windows releases due to API changes.
SF: What did the project team do to make sure these were completed in a timely manner?
Tobin: Timely??? Due to our sporadic release cycle, just getting an updated release out was challenging enough. 😛
Justin: As a side note here the first release was dubbed the “Truck Stop” release since one of the guys debugging it was doing so from a truck stop since we had very little time to get the project ready for the initial release.
SF: What was the first big thing that happened for your project?
Tobin: It wasn’t until mid-2010 when I had bought a Nook Color from Barnes and Noble that I discovered other interests in this program. The guy selling the Nooks was trying to also sell a book on using the Nook. I told him I was a Linux developer and could pretty much figure it out on my own. Then he showed me the chapter on “Rooting your Nook”. Glancing through it, I saw a screenshot of our program along with a url to the Wiki page instructions that I had written.
I immediately ran a Google search and found an entire community of users, mainly in the Android Hacker community, but also developers of embedded Linux systems and other types of devices. There were also a large amount of open bugs. Since Justin had moved on to other projects, I took over as lead maintainer, and along with Jeff, we have cleaned up all of the original bugs and added some new features along the way.
The other major event was moving the project to SourceForge (YEA!!!). This has helped out a lot, both in exposure and in the tools now available to us to make this project more noticeable. Since moving (and subsequently being targeted as a SF Project of the Week), our user base has grown a lot. Last time I was at Barnes and Noble, I found 6 different publications recommending our tool to their target audiences.
SF: What helped make that happen?
Tobin: For the first part, word of mouth, I guess. I can definitely say that just being on SourceForge has been a big thing.
Justin: It’s quite interesting that this project had received such worldwide fame despite having zero forms of advertising on our part. I guess that’s what you call going viral.
SF: What was the net result for that event?
Tobin: I recently received an email from a German magazine editor, saying they were going to write a feature on our project. I have also seen countless reviews, blogs, and even several video tutorials on Youtube. Downloads are continuously growing week over week (I check the stats daily while sipping my morning coffee).
SF: What is the next big thing for Win32 Disk Imager?
Tobin: We have a lot planned for upcoming releases. First and foremost is to move to either a newer release of mingw or something equivalent, as there are a lot of new API issues in Windows that aren’t addressed in the release we currently build against. Once we get that resolved, we have a wish list of features we want to integrate, starting with image compression/decompression on the fly.
Justin: A couple things I’ve been experimenting with outside of the project was to possibly have the drop-down-box show not only the drive letter but also the label on the device (for example mine might show up as “F: TuxDrive”). This would help a lot of people I think since my own personal experience of safely removing the drive on XP where it only tells you the letter has been annoying when the computer has 3 or 4 different removable devices plugged in. Also, it would be nice to eventually support batch processing of multiple images since the program is now also being used a lot in major tech companies where they’re flashing dozens of cards all hooked up to one system.
SF: How long do you think that will take?
Tobin: Hard to say. We already missed our soft target of 1.0 for the end of 2013. But we do have an installer in the tree now. That was one of my goals for 1.0. Right now I am focusing on an updated tool base that supports the newer APIs for Windows 7/8.
Justin: As for the pieces I’d like to see, it might be difficult as I’m tiding up other projects, most notably my Open RPG Maker, before going off to college this fall. However, I may be able to squeeze enough time in there to get those two small parts easily done.
SF: Do you have the resources you need to make that happen?
Tobin: We could definitely use more help. We are always open to contributions. We have already received a few translations from users, along with some code contributions. I would also like to thank Jeff B (skydvr68) for his contributions in both code and with the questions forum.
SF: If you had it to do over again, what would you do differently for Win32DiskImager?
Tobin: I’ll let Justin answer the next few.
Justin: I don’t really think there is anything I’d do differently since the initial release, while a bit buggy, was still fully functional.
SF: Is there anything else I should know?
Tobin: If we can get our development environment issues resolved, 2014 will be a great year for new features. Hopefully.
Justin: Really awesome to have this project recognized as project of the month, especially seeing some of the other projects that usually get nominated. Feels pretty awesome to have played a part in getting this project there.