A bad date. A conversation that should have ended five minutes ago. An uncomfortable walk past a stranger in a seedy place. We've all needed an excuse to get out of a bad situation... yet coming up with an excuse off the top of your head can be difficult. There is one fool-proof excuse that always works – a phone call. But unless you get lucky or have phappened to planned an "escape call" ahead of time, you're kinda SOL.
Phoney is an app that I designed and (kind of) built over the course of 2019. What began as a simple idea ten years ago eventually turned into my first completely personal app released into the App Store.
Completing this app was a lengthy process in which I learned a lot. I've been profesionally designing apps for over six years now and products I've worked on have gone into the hands of millions of people around the world – but this project was my first end-to-end product to ship myself.
Since I don't want to make this case study too long I'm going to cut out the details of the beginnings of this project and dedicate the majority of the content explaining the design and development – but I do want to take a moment to explain how this got started.
When I decided to build a tool that let me trigger fake phone calls, I was going to build it as a simple Principle prototype for personal use. I built a version for my iPhone XS (prototypes are not responsive layouts) based on publically-available iOS UI kits, made a few basic personas whom I could have "call me", and held it on my phone for a couple of months. After finding some use in it, I decided I would make versions of the prototype for other devices and then distribute those for free.
I spent a long time creating to-spec versions for each iOS device. Once they were done, I set up a spot for the thing on my Marketplace. Then, ready with my cursor hovering over the big red "DISTRIBUTE" button, I had a thought...
"This is useful to more than a few nerds willing to store a prototype file on their phone. I keep saying I want to learn to develop my own apps. I've tried but never built my own app or shipped a personal project. This app is simple enough..."
"...why not learn some Swift and build it?"
To set the stage, let's first jump to the end with a cut to a commercial! Once Phoney was completed I created quick ads spots to run on Instagram and Snapchat Stories. Since you have ~.5 seconds to grab someone's attention the ads are designed to be quick and slightly jarring to catch your eye and keep you from tapping away, but this is a good high-level overview of the app's purpose and functionality before I drive into the design details next.
You know the classic old trope: Someone is going on a blind date, and due to the fear of uncertainty, they ask a friend to call them at some coordinated time to check in. If the date is going bad, the dater can use the call as an excuse to leave while letting the date-ee down easy.
In Special Council Rober Mueller's "Report on the Investigation into Russian Interference in the 2016 Presidential Election", Donald Trump Jr. is noted to have texted his secretary asking her to call him to give him an excuse to leave a downward-spiralling meeting with Russian officials. A phone call provides a neutral out that's difficult to counter, no matter who you're avoiding. It's a trick that's nearly as old as the phone itself, just made easier and a more realistic tactic today thanks to mobile phones.
There have been some decent attempts at executing on this idea. Chelsea Handler has a standup bit where she expresses a desire for an app that made fake phone calls to get out of awkward dates, and ended up getting a developer to build one. It's called "Gotta Go!" and it's a fun app which shedules a real phone call with a recording of her on the other end.
I used "Gotta Go!" for some competitive analysis and after using it for a while I made a few observations which I could use to make my app better. The app is alright, but it's a bit restrictive and doesn't meet the needs of everyday situations. Some of the friction points with Gotta Go! are:
All of these factors make it dificult for the phone call to create any semblance of realism for the escapee to use to evacuate the scene. This is not to crap on Chelsea's app. In fact, I think the app is fun and handy. I just find it to not be as useful in real world situations where the need for this app is required. What I learned from asking a few people that I know and, well, living the way that I do for so long, is that there is one basic requirement for this app to serve people well – the guiding principle of Phoney's design:
First-time users are shown a few brief info slides before being taken into the contact creation flow to set up their first contact. Once a contact is created, they are able to trigger a test call or add in more contacts.
The contact list is a series of cards building from the bottom-up. I chose to anchor the list and action buttons throughout the app on the bottom because it's more ergonomically friendly, and I don't anticipate people having more than a few contacts, so it's a bit friendlier to keep the content close to the thumbs.
The list is topped off with the "add contact" button which takes you to the "edit contact" screen. From here, you can add a photo, a name or phone number to display on the incoming call screen, set a Voiceback gender, and a ringtone. Furthermore, you can swipe left to edit an existing contact, and right to delete them.
The "edit contact" screen underwent the most design work. Partly because it's the only real "custom" page in the app, but also because of a number of unforseen factors. I played around with different methods of grouping information and controls, considering the card metaphor I was using throughout the app. I played around with multiple versions, considering different ringtone and voiceback settings, before settling on a more prominent model which was inspired by iOS' control panel screen.
To complete the call experience, I needed to add a feaure that played a voice through the ear piece. It's not a phone call without someone on the other end, after all. Not just for the obvious reasons of it being more realistic, but to also help draw the user into the the experience more. If you've ever pretended to be talking to somebody on your phone, you may have struggled with your script and ended up mumbling through or switching between random phrases and filler words like "Uh huh" and "Yeah." As noted earlier, Gotta Go! plays a recording of Chelsea Handler talking to you by describing a situation and walking you through things to say, like an acting coach, to get you out of, specifically, a dinner date. It takes your mind off of your surroundings a little bit and focuses you on the call, which in turn is more realistic to any on-lookers than merely mumbling to yourself. Rather than playing a recording of someone talking, I wanted to explore ways that I could ditch a script and make Phoney fit into any siituation, not just a dinner.
When a call comes in and the user answers the first recording that plays is a basic "Hey, it's me." It then starts cycling through the voice library at random with brief intervals in between. The microphone is open and listening, and if noise over a certain decibel threshhold is registered, the Voiceback pauses to let the user speak. After they are done speaking, the recordings continue to play. This lets the user experience a more natural back-and-forth that also helps fool the person they're trying to avoid.
To mimic the native phone app's behavior as much as possible, hanging up a call closes the app and takes you back to your home screen. This feature comes at a cost in that if you select the wrong contact to call there is no way to go back without re-opening Phoney. This isn't an issue I anticipate people running into all that often, but there's still a risk of causing a friction point for the user. In order to get around this, I introduced the ability to swap a call.
To swap a call, simply pull down on the call screen (both the "incoming" and "active" states will work) to go back to your contact list. From there, you can tap another contact and instantly launch a call from them. For increased ease of use, the call screen that you pulled down rests at the bottom of the screen and peeks up a bit, allowing you to pull it back up to continue with the call. This also effectively serves as a "pause" if, for some reason, the situation calls for it.
Phoney is built and ready for launch, but mission control is holding us back. Phoney's best - and worst feature - is that it's built to mimic the native iOS calling experience as closly as possible, and Apple is very particular about allowing apps like this into thier market. Combine that with the fact that it's a novel 'jokey' concept and that a person on the other end of the call 'talks to you', it begins to violate Apple's policies. This is understandable and I expected it from the start of the project - I just hoped it wouldn't happen. I'm still working with them on getting the app within compliance without losing the heart and soul of the app but it's an uphill battle.
Maybe I can sell it to Conan O'Brien...