Let me run a scenario by you. You’re just back from vacation in the Maldives, and your friends are very curious to see photos from your fantastic trip. You unlock your phone, open your photo album and make sure that there’s nothing private hidden in between those beautiful (albeit predictable) beach and sunset photos.

You choose to either swipe carefully between your photos in front of them, or you hand them your phone. With your phone in hand, there are some who swipe your photos with caution; making sure they don’t see anything private. Unfortunately, there’s an even larger group of people who seem oblivious to the privacy of a person’s Photo Album. Each time they hand you back your phone, you notice that they’ve swiped way past the range of photos you wanted to show. Not cool!

Today is the day I tell you it doesn’t have to be this way anymore. There’s a new app in town, which solves this issue once and for all. And who made this app you ask? Yours truly!

No Peeking

Swift iOS

As the name suggests, the app prevents people from sneaking a peek at photos you don’t want them to see. This app is a side project which I’ve been thinking about for quite some time, and started on a while ago, only to put on the shelf when other things started taking up most of my time. I’m very happy to have finally released the first version.

How it works

You select the photos you want to show people, and the app makes sure they can only see those photos you’ve selected. They can swipe around all they want, but they’re not going past what you’ve selected. Neither can they go back to view the full album, as the app is protected by biometric authentication.

Technical details

While the app is fairly simple, and most of it is a walk in the park for the seasoned developer, I’d like to highlight a few features which were slightly time-consuming.

Most of the development time went into the Photo Viewer. Knowing that it would be the most time-consuming, I considered using a third party library. Unfortunately I found no good open source alternative that could satisfy all my requirements, even with modification.

While I’ve worked on photo viewers before, they’ve only needed to support normal photos and videos. This one had to support everything available in the standard Photos app, which includes:

  • Photos
  • Live Photos
  • Videos
  • Animated Photos (GIF)
  • Loop Videos
  • Panorama Photos

While it took a lot of time and effort to code, I’m very happy with the result, and glad that I decided to create one from scratch. Hopefully I’ll get to use it in future projects as well.

Some other features that took way less time, but deserves an honorable mention are:

  • Transition between Photo Grid and Photo Viewer
  • Pan to dismiss photo from Photo Viewer to Photo Grid
  • Pan to select multiple photos in Photo Grid
  • Handling orientation change in Photo Grid when showing Photo Viewer (CollectionView won’t update until view becomes visible again)

Promoting the app

To really drive home the point of this app to potential users, I used my whole marketing budget of a whopping $20 to create a video ad. If I can say so myself, it’s quite good. I might enter it into a film festival or two, but probably won’t. I’m not in it for the fame; I just want to promote a very useful app that I made :)