Happy Monday, everyone!
We made it to Issue #60! Thank you to everyone who read last week’s issue ❤️
I’m so excited to announce the newest sponsor of Indie Dev Monday 🥳 That sponsor is… Codemagic!
Deep Dish Swift is a brand new conference being held in Chicago April 30th to May 2nd in 2023. The conference aims to bring togethe Swift and iOS developers of all experience levels and backgrounds in an inclusive environment to share knowledge and experience from a diverse set of speakers. The first day is focused on indie development and and the next two are focused on Swift and iOS!
Today’s Spotlighted Indie Devs
📆 Today I’m featuring Chad Etzel.
👉 Please make sure to follow them or support them anyway you can! 😇 I’m excited to share their indie dev stories.
1) What is your name? Where do you live?
Chad Etzel - San Francisco
2) Introduce yourself. Education? Background? Main job? Interests outside of tech? Interests inside of tech?
Hello, I’m Chad Etzel. I grew up in the Southeast US and moved to the Bay Area in 2010 to pursue the startup dream, which turned out to be more of a rollercoaster. I graduated with a BS in Computer Science from Georgia Tech in Atlanta in 2006. I started programming because my 4th grade math book had some example BASIC code, and I thought, “Huh, this looks interesting??” I had a toy VTech computer at home which allowed BASIC input, and I put 2 and 2 together, so to speak. I’ve been hooked since.
I’m currently unemployed, taking some time to figure out what my next major project is… maybe it will be Sticker Doodle! I was most recently at Apple for five and a half years on the Proactive Intelligence team, working on the Siri Suggestions and Shortcuts features.
I left Apple in May of 2021. Sticker Doodle is my first post-Apple app!
Interests outside of tech include playing music, bowling, and my kids.
Interests inside of tech include app development, web development, and a recent fascination with hardware hacking. I’ve been developing my own little gadgets and designing PCBs to drive various projects like nixie tubes and hacking my Axidraw to generate random mazes.
3) Have you ever considered yourself an indie developer?
Yes! I’ve shipped about 10 personal/indie apps to the App Store over the years. A few utilities, a few games…
4) What got you started/interested in creating your own applications outside of your “normal” job?
I got an original iPhone in 2007 and was just blown away by it. When the iPhoneOS SDK was released I started learning about it, but I didn’t start actually writing any apps until 2009. I really love having an idea for a product pop in my head, feel like it needs to exist, and then making it! Apps were (and still are) a great way to scratch that itch.
5) How do you balance your time between friends/family, work, hobbies, and indie dev?
It’s pretty difficult! The last year and a half even more so. When I was at Apple, there was no indie dev allowed! Employees are not allowed to ship apps to the App Store, so I was kind of forced to pursue other hobbies (which is how I got into the hardware hacking).
Now that I am “full-time indie” I usually work “normal hours” at my desk on whatever projects I’m exploring, and then I switch into Dad-mode in the late afternoon. When I was younger I could also work late into the night, but these days, after the kids’ bedtime I am pretty exhausted for the day.
6) Sticker Doodle - Congrats on your recent launch! I’ve had so much fun with Sticker Doodle already 😁 I think I’ve used more iMessage stickers today than I have my entire time having an iPhone. These are just so personal and fun! Where did the idea for Sticker Doodle come from?
Thank you! It was a sort of roundabout path. I always wanted to make something with PencilKit because I love to draw on my iPad, and my daughter has learned how to make funny little drawings, too. Then I started to learn about the GameController and SpriteKit framework because I wanted to see how hard it would be to make a little game my daughter could play using the doodles that she drew as characters! That was really fun, but seeing the drawings on the screen, it was hard to see them against the scene background, so I had to figure out a way to make them stand out.
The idea popped into my head to make them look like little stickers that would move around the game. This sent me down a deep rabbit hole of learning about graphics shaders and various techniques to generate such an effect, but I finally got a result I was happy with. So, now I had a way to get from a doodle to a sticker! Then out of nowhere a light bulb went off… “Hey, Messages has stickers, but you usually just buy these static packs… what if you could just draw your own personal stickers?? Is it even possible to have dynamic stickers in a Messages app??” Once I found the answer to that was “Yes!” it was off to the races.
According to my git logs, the initial commit was on July 8, and I launched on August 31… so, just under 2 months from idea to ship!
7) Sticker Doodle - It was so cool seeing all the love for Sticker Doodle on launch day! Right now (as I’m writing these questions), you are at 417 likes, 137 retweets, and 57 comments 🤯 That’s huge! What was your marketing and launch strategy like? Do you have any tips for any other indie devs planning their launch?
Unfortunately I still think launching apps as an indie on the App Store is very much like buying a lottery ticket, so you need to increase your chances of being noticed. Even if you have the best app on earth you still need to grab people’s attention just to try it. So my preliminary strategy was to make the marketing screenshots and videos look as sexy as possible (while also having a good app!). I heard about an application called Rotato and decided to check it out. It lets you create very high quality renders of different hardware devices with screenshots embedded. It also allows you to make videos with screen recordings to really show off your app. Rotato itself is a little rough around the edges and has a somewhat steep learning curve, so it wasn’t the easiest process.
I also decided to localize the app in 7 languages (English, Spanish, Italian, German, Arabic, Japanese, and Chinese) from the start to increase chances of having the app be used around the world. I used a service called Babble-on for that.
This also meant that I needed to generate App Store screenshots in all those languages. I used the fastlane tool and Xcode UITests to automate taking screenshots in each language for each device size for all iPhones and iPads. Then I took those screenshots and stylized them in Rotato. In the end I had over 400 screenshots to upload to App Store Connect… it took 2 whole days to get through the process! In the end I think all that work was worth it because the screenshots look really slick and eye-catching. I think having the fun video in my launch tweet also helped to grab attention and demonstrate what the app does.
I also worked with Oliver Haslam and used his copywriting services to create great App Store copy and presskit copy.
I wanted some press coverage, and that has always been a weak spot for me. Since I was at Apple for so long, you can imagine that I had absolutely no relationship with anyone at any remotely Apple-associated blogs or sites. I worked on a presskit and sent emails to several blogs and bugged a lot of my developer friends for any intros or connections to writers. In the end I did get some coverage on 9to5mac and AppAdvice, which was great to see.
8) Sticker Doodle - Reading through the feature set on the App Store description is 🔥 Discord and Slack support. Apple Pencil and iCloud sync. Editable image and full color palette. You have everything! What was the hardest part of building a Sticker Doodle? What was the most fun part?
The hardest part was definitely getting iCloud sync and Core Data to play nicely together. I’m using the new NSPersistentCloudKitContainer which does a lot of the hard work behind the scenes, but wiring that up to a UICollectionView using a UICollectionViewDiffableDataSource with NSManagedObjects certainly has its share of… shall we say… quirks? Lots of asking around and coming up with workarounds for various edge cases took a lot of time and mental energy, but I think I eventually got it to a point where it Just Works, haha.
The most fun part was playing with the sticker curl effect and inserting it in various places in the app. Probably the thing I’m happiest about was making the QuickLookThumbnail and QuickLookPreview extensions for use by the system so that I could seamlessly integrate sharing a custom sticker file format throughout the system. If you share a sticker file over Messages or save it to the Files app, you get a nice thumbnail view of the sticker and a nice visual curl effect if you tap on it to view it. Probably very few people will see it or even appreciate that it took extra time to add that polish, but that’s ok! I just wanted to provide a very cohesive experience around the system, no matter where you interact with the stickers.
9) Sticker Doodle - I believe that I saw that Sticker Doodle was on Airport. What was your experience like having access to so many testers? I’m always torn whether I want to open up beta testing or leave my app a surprise for everyone. Were you able to get a lot of valuable feedback?
I posted my TestFlight to Airport mostly as an experiment to see what it would be like! Lots of people installed the beta and played around with it, but as it usually goes, I got actual feedback from only a handful of people. However, that feedback was really valuable! It was also good to have a more “random” set of testers that weren’t close friends and family (whose feedback is usually more positive than the generally indifferent public!). It also helped that the Airport testers are pretty tech savvy, so their bug reports or crashes were pretty helpful in finding issues I never had during local development.
10) Sticker Doodle - I’m hoping that you’ve seen a lot of creations from your users! What have been some of the best doodle you’ve seen? Do you have any of these doodle or any of your own that you can share with us?
Almost ALL of the stickers I’ve seen from people posting them on twitter have been of their pets or kids! I was not expecting that at all! Originally I only wanted to support drawing stickers with the PencilKit tools. My sister actually badgered me to add photo stickers, and it seems people MUCH prefer to make stickers out of photos than draw them by hand. I guess it makes sense, it was just a funny turn of events given the genesis of the original app idea. I have some freinds that are skilled illustrators, and their drawn stickers are really impressive.
- taco - A happy taco my wife drew.
- smile - A beautiful smiley face my daughter drew.
- dog - A fun dog sketch my friend Nick Takayama (@ntakayama on twitter) drew.
- chad - A caricature of me that Nick also drew.
- casey - I turned my friend Casey into a pickle and made a sticker out of it.
- umbrella - A clever umbrella doodle my wife drew.
- cat - The infamous cat sticker from all the App Store screenshots… I had to trace it about a billion times for screenshots and promo videos, and now it holds a special place in my heart.
Interesting bonus fact (now that several days have passed): Most people create photo stickers, by a large margin. Most of the ones that get shared on Twitter that I see are of pets and children (I never expected this, but it makes total sense)!
Bonus-bonus fact: I have submitted 8 updates to the App Store in 10 days since launch. This was unthinkable to me since the last time I launched an app, each review cycle took at least 2 whole weeks!!
11) Sticker Doodle - What’s next for Sticker Doodle?! Do you have any future features that you can share with us? 🙃
Lots of requests for WhatsApp support (and a few other services). Each service has its own different way to use or import stickers, so I’m trying to find a good balance of supporting all those services without making the UX in the app overly complicated. Ease-of-use is a top priority in my app design goals.
People that make a lot of stickers have also asked for a better way to organize them, so I am thinking about fun ways to create collections (or sticker sheets?) which make it easy to organize and find all your stickers.
12) What’s been the hardest part of being an indie dev? What’s the most fun part of being an indie dev?
The hardest part for me is the marketing piece. I would love it if good apps just spoke for themselves, but sadly that is not the reality. Marketing and distribution have always been the toughest part, but that’s how you get customers.
The most fun, for me, is having agency over every decision and just being able to make forward progress at my own pace, whether it needs to be fast or slow. I loved working at Apple, but there are so many people involved in every aspect of every part of every feature, sometimes it’s hard to feel like you have a large amount of input. Some people are ok with that, and that’s great! For me personally, I love to have an idea, see a wholistic vision of the implementation, and work on it from top to bottom.
13) Is there anything else you’d like to tell the indie dev community about you?
I still feel like I’m just re-emerging into the real world and seeing what’s going on in the indie dev community again. I really missed interacting with other devs in public, and it’s been fun to see what everyone is up to. I love answering questions and being a resource for other people in the community. Mostly I just hope to work on a bunch of apps and projects that make people happy.
14) Do you have any other indie devs that readers should follow / lookout for?
Sadly, no, since I was away from the community for so long D:
Indie Dev Stuff From Around The Web
I also found this amazing indie dev comic series over at @IndieLifeComics 🙌 I will be embedding my favorites occassionally and here is the first one 👇
Newly Released and Updated Indie Apps
Here are some newly released and newly updated apps from this past week! If you would like to possibly see your app in this list, please submit your app to the look at me form 👀
Thank you to everybody who made it to this footer! You either spent the time to read or took the effort to scroll 😊
Make sure to visit https://indiedevmonday.com/subscribe to get an email of future issues!
And go to Twitter and give @IndieDevMonday a follow… or multiple follows if you manage more than one Twitter account 😜