With the summer travel season quickly approaching it’s important to find ways to help the time go by more quickly. Whether it’s your own time on a plane or a way to keep the kids occupied in the car, doodling can help the monotony of travel be more entertaining (and hopefully more fun).
This week’s “App Spotlight” shines on Doodledroid, a rich drawing application recently integrated with the HTC OpenSense SDK. The brainchild of independent software developer Eric Peterson; DoodleDroid was built to allow anyone with an Android phone to virtually “doodle” on the screen.
I recently spent some time with Eric to get the inside story on the development of DoodleDroid.
Leigh Momii (LM): “The first thing I want to say is it’s amazing that you built DoodleDroid in your spare time while holding a full-time job! How did find the time?”
Eric Peterson (EP): “Half an hour at a time. Seriously, before becoming a parent, finding time to work on DoodleDroid was a snap. Now I get most of my work done on the bus during my commute.”
LM: “The bus? That’s great! Way to be efficient with your time I’m a big fan of DoodleDroid, it’s one of the best drawing apps out there on Google Play. What was your inspiration for creating this app?”
EP: “I always enjoyed drawing, and was interested in Mao Bi (Chinese Calligraphy). I thought it would be an interesting challenge to try to simulate a calligraphy brush. I usually have some sort of side project going just to keep myself entertained and learn something. At the time I had an old HP iPaq, which was perfect for starting out. It had a pen, and I was able to write code for it with the tools I was familiar with (C# in Visual Studio). The app was relatively simple, but it let me get familiar with designing motion based brush effects.
“When the prospect of a “Google Phone” was announced a year or so before its first appearance, I already knew I wanted one. A week or so after getting my hands on an HTC Dream, I had ported my simple Chinese Calligraphy simulation to Android. After porting the app, I really wanted to actually save my drawings and change colors and do all of those basic drawing app sorts of things. Eventually I had built enough of an app that I wanted to share it on the Android Market.”
LM: “The number of rich features you’ve included impresses me; can you talk a bit about the development process and the drawing engine behind it?”
EP: “The development process was much less formal than, say, my day job. Being a part-time project, I tended to work on things that interested me first, and didn’t always have a concrete idea of what was going to be in the next release. Developing the engine was a great learning experience though, and I became more familiar with graphics programming for sure. Still, the majority of my time was probably spent just dealing with less visible and less “glamorous” things like memory management and UI layout.
“The drawing engine still has some history in the original calligraphy simulation. There’s definitely some secret sauce in there, but what differentiates DoodleDroid from other drawing apps is how the stroke is rendered. Instead of rendering a series of translucent overlaid “stamps”, I opted to render a continuous texture. The continuous texture, I believe, allows for some variances that better simulate a true brush stroke.”
LM: “Regarding using continuous texture, how is this different than the approach taken by other drawing apps?”
EP: “Because “stamps” (The most common type of brush used in other drawing apps) are creates by overlaying the same image again and again with some small offset, they look very repetitive. The continuous texture brush renders a long thin repeating image along a path and doesn’t overlap itself. Unlike stamps you can create textures that fade in and out or fray at the edges like a real brush stroke would. Though it is repeating, the stroke doesn’t appear repetitive and the performance is quite good.”
LM: “You’ve recently integrated the OpenSense SDK into DoodleDroid; what features were added that someone using an HTC tablet might find handy?”
EP: “First, let me say that the OpenSense SDK was very easy to integrate with my application. DoodleDroid uses the SDK to automatically detect the pen and callibrate pressure. Additionally, DoodleDroid allows you to use the pen’s side button to toggle the eraser. These both make for a more intuitive drawing experience within the app.”