A week ago, I released Frame Grabber’s first big update. Version 1.1 brings support for Live Photos, a big redesign and a streamlined user experience. It’s also the first time I announced the app outside of this blog. It was received overwhelmingly well, which is what I want to talk about today.
In the Making
I started Frame Grabber to learn iOS development. It’s a little app that lets you export full-sized frames from videos and, now, Live Photos. I use it save quality stills of the coolest moments in my 4k videos.
I made it purely for myself and I really didn’t think other people had much need for such an app. So when 1.0 rolled out, I kept quiet. I told friends and family about it and that was it.
With version 1.1, my goal was to polish the app. If 1.0 was the minimum viable product, then 1.1 is the polished version of it I had always envisioned.
And for once, I was actually proud with how it turned out. I wanted feedback.
I submitted it to the Apple forum on reddit. That’s where the most eyeballs are, I figured. At the same time, I was scared. Putting your stuff out there in front of so many people is scary. What if everybody hates it?
Nobody hated it. The feedback I got was overwhelming.
The post quickly became the forum’s top post and stayed there overnight. It received over 4,000 votes and 9,000 downloads. People really liked the app and, to my delight, me as a developer.
I attribute the warm welcome mainly to three things:
It’s actually a good app. I mean it has to or people wouldn’t like it. I think I hit a nerve here in providing a clean, easy-to-use utility that is focused on one use case. And it does it really well without any rough edges.
It’s open. The app is completely free with nothing to unlock. This is what I promised myself for my first app. But it is also open-source with a permissive license. It respects the user’s privacy and contains no ads or analytics. All taken together, people felt they can trust my app.
It’s transparent and authentic: Or rather I was in how I communicated about it as its developer. I wasn’t trying to sell something, I really just wanted to get some feedback. I also told a little bit about my story and what challenges I faced.
What People Say
I was surprised there was not one single critical voice.
What I loved the most was hearing about people’s use cases. There were those who use my app for extracting the best stills from their scuba diving, concerts, or car racing videos. Or those who want to get the best moments of their children or their own selfies.
It’s pretty humbling seeing people all over the world do such amazing things with my little app.
Shortly after the forum post, App Store reviews started coming in. Right now, Frame Grabber has an average rating of 4,9 out of 202 reviews. And in the US, it even has a perfect 5 star rating out of 80 ratings!
When people say the app is clean and delivers what it promises, I take that as a compliment of the highest degree. That’s exactly what I set out to do and I know how hard it is to achieve.
Simple apps are not simple to make.
What I Learned
This was an incredible learning experience for me, as a developer and as a person.
The most important lesson for me is to start sharing my work. It is easy to hide behind fears. But I’m done with that. Even if it isn’t ready or good or polished, I will from now on put myself and my work out there. I will openly seek feedback and critique so I can improve and keep myself accountable.
I learned how valuable being authentic, open and transparent is. There are so many amazing developers out there. It’s intimidating comparing myself against them. I don’t want that to let me hold back anymore. Being authentic means accepting where I am right now in my journey in becoming a great developer. Being transparent means showing it to others. I think that’s how I will learn the quickest.
On the technical side, I learned how to polish things, round out the edge cases and make hard things appear easy. I finally got to implement a non-trivial custom interactive transition. I also got to learn a bunch of new APIs I hadn’t used before. The in-app purchase you see in the app? It’s literally only there because I wanted to learn how to use StoreKit.
An iPad app. Full accessibility support. The ability to export multiple frames at once. I actually had this feature ready to go but decided not to ship it in the end. It wasn’t good enough for me yet.
And then new more ambitious projects.
I’ll be sharing my work along the way.