John Gazzini

Fini: Almost Done


We partnered with a designer, Jarod Sutphin. In 2 months, we reworked everything, and although the app is far from perfect, we think it’s ready for prime-time. We integrated a friends-list, profile views, levels, challenges, social features, and all the makings of a good app. But, more importantly, we iterated on these features, keeping it simple and nailing the “30 seconds of fun” that happens when a user actually tries to finish a Tweet. We’re very proud of the result:


I’ve never actually seen our designer, Jarod. He is a friend-of-a-friend who lives in another state. When we first spoke on the phone, he informed me that he had never designed an app before. However, he had decades of experience designing for web and print, and he wanted to design apps. He had the exact expertise that I lacked, and vice-versa. So, Jarod agreed to partner with us and design Finish, and I agreed to partner with him and develop 2 of his apps (coming later this year).

In January, Jarod started working on the app’s design, I continued work on the implementation, and Daniel Herrington developed / implemented a monetization strategy.

Design Strategy:

After Jarod agreed to design Finish, I made one ignorant request: “make it pop.”

Apparently, nothing “pops” like yellow, hence the app’s new color-scheme. Jarod also shortened the name to “Fini” (French for “finished”). He made detailed design-comps for each screen, and after only a few iterations, we had a fantastic, detailed design that was actually feasible to implement.

Our biggest challenge, and the topic of several debates, was how to design an app that was both social and competitive. In the end, we made it open-ended for the users. As soon as they open the app, they see their timeline and are free to view Tweets, make guesses, and see other guesses as they please. However, as soon as they press the menu-button at the top of the screen, they are presented with gamification features, including a “challenge” to complete immediately:

Implementation Strategy:

As an iOS Developer, I always want to have my apps featured by Apple. I have had the opportunity to work on featured apps in the past, and they have common elements:

Highly polished interactions.

This goes beyond great-looking screenshots; the apps featured by Apple respond in a delightful and surprising way to the user’s touch. They must conform to Apple’s Human Interface Guidelines, but intentionally deviate from the norm in specific places that add value to the overall app experience.

When implementing this app, I spent several weeks re-thinking how traditional table-view selection works. We combined the traditional “hamburger menu” with the animated carat-arrow thing on all the system-level dropdown menus in iOS 7 (see top-right corner of above screenshot). We also put a lot of work towards the actual text-entry that happens when a user tries to guess the missing word in a Tweet. In short, we applied specific, intentional effort towards several small features that blend together beautifully.


Every Apple fan knows that “Simplicity isn’t just the absence of clutter.” As we see it, “simplifying” an app is the process of removing all tedious interactions from the user experience. Often, this requires mountains of code to save the user only a few seconds. Case-and-point: Twitter Authorization.

The app opens with a simple tag-line: “Finish your friend’s Tweets.” But then, before the user can start, they must login with their Twitter account. It required only 3 lines of code to implement this, but the user had to manually type their username and password. We knew there was a better way, but it was much more difficult.

iOS provides “deep Twitter integration”, which allows users to login to Twitter without entering their username/password, but our backend provider did not support it. After some research, I spent about 2 hours integrating this open-source library, and then about 4 more hours refining the process. This might not sound like much, but I assure you, development time is a scarce resource, and it adds up quickly.

In this case, we took on the complexity of the “reverse authorization” process so that our users aren’t forced to remember their Twitter password before they use our app. This added complexity to our source code, but it simplified the experience for our users. This is the type of decision that we made over and over again during the implementation of this app.

Much More

Our app isn’t perfect. We had planned on implementing localization and Game-Center achievements, but decided to cut them out of our scope in order to release the app sooner. It’s always tough to make compromises, but the great thing about the App Store is that we can always include these features in an update!

Monetization Strategy

I’ll cover more about this in a later post, but Daniel implemented an incredible analytical system focused around the “hint” feature.

Next Steps

We are thrilled with how well this project has come together so far, and as Apple reviews the app this week, we are doing everything we can to spread the good word and generate some buzz around the product. Once the app is approved, we can set an actual launch date and make one marketing push before the final launch.

← Previous


Next →

blog comments powered by Disqus


01 March 2014




About Me