I’m finally launching a product that’s taken me years longer than I’d anticipated to complete. It’s a much bigger project than anything I’ve done before. My first app was the first battery indicator on Android, back in 2009, which was very successful by my standards (I didn’t have a college degree at the time and made way more money from it than I’d ever made from a job.) I also have a free instrument tuner on the Play Store.
Swap-a-Doodle aims much higher, and was quite an undertaking for me. It’s a cross-platform app (Android, iOS, and the web) for social drawing. I knew nothing about computer graphics when I started out, and just a bit about web programming. I learned so much along the way. I’m sure I’ll learn a lot more as the app grows.
The front end is written in Dart. The back end is written in Go and runs on App Engine, with Compute Engine for the websocket servers for live drawing (sharing a canvas with a friend to draw together at the same time). The Android and iOS apps are fairly small wrappers around the web app.
Feel free to ask questions. I’m of course open to feedback, or I wouldn’t post here — but I do feel somewhat vulnerable in this surreal moment of finally launching, so please keep that in mind and try to be kind if you do have criticism, and maybe frame it as “something that could be even better,” if that’s not too much of an ask. Thanks!
Here's an example of something really adorable made collaboratively by two people. The first person sent the first part to the second person, who used the Doodle-on-Doodle feature to add to it and make an even cuter story out of it.
Dude that's awesome. Congrats! I like its simplicity and minimal interface, with no shenanigans. Just a plain ol' drawing app that lets you share. Great stuff :)
Thanks so much! I was definitely inspired by Go's (the language I use on the back end) careful balance of well-honed simplicity. There was a lot more work than one might think to keep things so simple!
This is awesome. Fun and easy to pick up. Swapped-a-doodle with my technologically inept mom without a cinch. I was surprised how quickly she responded :)
Thanks! Yeah, I occasionally considered not including undos and redos, but there's so much positive value that easily outweighs the occasional negatives. Just a couple of the things I love about including them:
1) Much of the general idea is a sense of connection and intimacy -- it's not just the final product that you're sharing, but the process. When you see the mistakes, or the attempts to get something just right, it's a moment of connecting with the sender's experience while making it.
2) You can make emotionally evocative doodles by removing elements, so they're only present fleetingly but not present in the final image. (Examples of this are by friends I haven't thought to ask permission to share. But think: drawing a small plant, then undoing and drawing a bigger one, for several iterations, for example. You can sometimes do that by "erasing" the part you want to remove by drawing the background color, but if you want to remove something that's on top of something else, undoing is so much easier.)
Thanks! I bought two iOS devices to develop on, but I haven't ever used the Messages app. Does it animate the drawing for the recipient, or just show the final image?
darshan|6 years ago
I’m finally launching a product that’s taken me years longer than I’d anticipated to complete. It’s a much bigger project than anything I’ve done before. My first app was the first battery indicator on Android, back in 2009, which was very successful by my standards (I didn’t have a college degree at the time and made way more money from it than I’d ever made from a job.) I also have a free instrument tuner on the Play Store.
Swap-a-Doodle aims much higher, and was quite an undertaking for me. It’s a cross-platform app (Android, iOS, and the web) for social drawing. I knew nothing about computer graphics when I started out, and just a bit about web programming. I learned so much along the way. I’m sure I’ll learn a lot more as the app grows.
The front end is written in Dart. The back end is written in Go and runs on App Engine, with Compute Engine for the websocket servers for live drawing (sharing a canvas with a friend to draw together at the same time). The Android and iOS apps are fairly small wrappers around the web app.
Feel free to ask questions. I’m of course open to feedback, or I wouldn’t post here — but I do feel somewhat vulnerable in this surreal moment of finally launching, so please keep that in mind and try to be kind if you do have criticism, and maybe frame it as “something that could be even better,” if that’s not too much of an ask. Thanks!
cutler|6 years ago
masonic|6 years ago
darshan|6 years ago
https://www.swapadoodle.com/d/5288420972691456
I think 9× is the best speed to watch it at. (I'm still thinking of adding a way for the author of a Doodle to change its default speed.)
amatecha|6 years ago
darshan|6 years ago
Kuzutsukake|6 years ago
darshan|6 years ago
McDev|6 years ago
darshan|6 years ago
1) Much of the general idea is a sense of connection and intimacy -- it's not just the final product that you're sharing, but the process. When you see the mistakes, or the attempts to get something just right, it's a moment of connecting with the sender's experience while making it.
2) You can make emotionally evocative doodles by removing elements, so they're only present fleetingly but not present in the final image. (Examples of this are by friends I haven't thought to ask permission to share. But think: drawing a small plant, then undoing and drawing a bigger one, for several iterations, for example. You can sometimes do that by "erasing" the part you want to remove by drawing the background color, but if you want to remove something that's on top of something else, undoing is so much easier.)
mrcoles|6 years ago
darshan|6 years ago