Several years ago, I started working on a program that I called “PumpDownload.” I was frustrated that most diabetes record software was horrible and that none of it worked on Mac or Linux. Being young and foolish, I decided I would write my own. How hard could it be, right? It turns out that it was a LOT more work than I thought it would be, and along the way I had to teach myself Java GUI programming, how to create data structures, and how to communicate with serial devices. It was a lot of work, but somehow, through hours and hours of work, I pulled it off. The “end” result was a somewhat glitchy, but fairly robust piece of software that works on Windows, Mac, and Linux, and is capable of downloading blood glucose readings from both Freestyle and OneTouch meters (I haven’t tried the new OneTouch meters, but I know the new Freestyle meters work.) In fact, whenever I need to bring blood glucose readings to my endocrinologist I dig out my old backup of PumpDownload, figure out how I started it up the last time, download my readings, and print out the beautiful, clear, easy to read reports that it creates. Every time I do that, I think about how I should really start working on it again, but I usually get too busy with school, or waste too much time doing something else. But not this time.
I’m pleased to announce that I’ve brushed the dust off PumpDownload, and I’m working on what I hope will become a new release! Over the past few years I’ve learned a lot about software development, programming practices, and data structures, and I’m using what I’ve learned to help me write a more robust, easier to use version of PumpDownload, which I hope to release some time this summer. I probably won’t be adding many new features, but I’ll be streamlining the work flow for using the program and making the code more robust. Before I stopped working on PumpDownload, I added some new features that didn’t make it to my last official release, so those will be about as new as it gets, but what I’m doing now will lay the groundwork for features to come.
When I first started writing PumpDownload, I didn’t have much knowledge of good programming practices, or how to use and write data structures, but what I lacked most of all was experience. There are certain aspects of programming that I simply didn’t know or think about, which made writing PumpDownload fairly difficult at first. I had to kluge a lot of things together, which means that I’ve had to go back and rewrite major portions of the code more than once – just today I overhauled the entire portion of the program that deals with settings (it’s a relatively small component, but it has its tendrils everywhere,) which took me probably one to two hours of code, compile, fix, repeat until I managed to repair code that I thought was fine the first time around.
While my dreams for the program have changed slightly, I’ve realized recently that I really do want to get the program out there. The strength of PumpDownload isn’t that it’s coded well, or that it’s faster than other programs, or even that it produces fancy reports. On the contrary, PumpDownload’s strength is that it produces useful reports; reports that you can look at for a few seconds and see exactly where you need to make changes to your basal rates or insulin to carb ratios. That and the fact that it will run equally well on Windows, Linux, or Mac OS. It’s simple without making the user feel stupid, and it doesn’t give irrelevant information.
It will probably be a while before I post anything about this project again, but at some point I will try to update the PumpDownload Project Page on SourceForge (I may also upload my code to CVS, for those who are interested.) Stay tuned!
Note: If you are a diabetic, you can help me (at some point) by testing PumpDownload and telling me what you think of it – what you like, what works, what doesn’t, what you’d like to see in the program or the reports it generates. Please contact me if you’d like to try it.