Building an iPhone App

Revue – Imagine a diary. Writing itself.

Revue is the most simple way to keep track of events happening in one’s life – like a diary writing itself. Using user generated data and content, Revue automatically translates these to diary entries. Locations, date, time and photos are just the beginning. Revue will be available in the AppStore mid 2016.

Why is keeping a diary so hard?

Keeping a diary can be a tough task. It is a great way to remember beautiful moments but needs lots of attention. In the era of data-gathering we wondered could there be a more simple and automated way to write diary entries? How can we create an application that communicates a feeling of security? What would an App look like that focuses on consuming and less on creating content?


When starting the work on Revue we figured out two main challenges. A technical one and a design related one. On the technical side we knew from the beginning that while dealing with external data sources there always are limitations and often there is the need to just rely on what 3rd parties provide – even with the knowledge that at any point important basic technology might change. On the design side we knew creating an app that heavily focuses on consumption and less on creating – since this should be handled as much as possible by the app itself – we would face some tough challenges. How can we visually point out the idea of a consumption focused app and how can we come up with an interface that still feels rich enough the user enjoys using it. In the intersection of these two areas of design and technology we figured out one key question we needed to tackle specifically:

What does a UI look like that supports trust and security?


Apple provides developers the “Visits API”. The iPhone automatically saves location information (combined with a timestamp) about places a user visits. Assuming the minimal entity of a diary entry is a timestamp and usually related to a certain location the user visits, this API seems like a perfect base for Revue. We quickly realized a classic diary is way more than just gathered data. It is about emotions, about how people feel, what matters to them. This way we came up with a unique solution to detect the emotional value of an event: Currently we are working on the use of biometrical data, like for example the heart rate, to track the importance of an event and therefore influence the way we display an event in the interface of Revue.


Revue requires a heavy use of personal data to properly reflect events in the most personal way. That’s why we need to find a proper solution to communicate some very important paradigms:

1. Which data we use
Defining the permission the user has to grant Revue to properly work. This for example includes access to the camera roll, locations and the address book.

2. How we use it
Defining how we are processing this data. For example explaining that we use location information independently from other user information to get a location names from the foursquare database.

3. What it is used for
Clearly showing how this data is used within the app by following the action-reaction principle.

We figured out this needs to be done in the onboarding since this is the moment decides if he wants to use the app or not. Asking for permissions with the known iOS dialog only – especially for many different data sources – seems like a high risk leading to closing the app instantly. Trying a more traditional onboarding experience and testing it we realized there are certain problems. A well known pattern of “accept-button-based” onboardings, with a short explanation that a specific access is needed, tends to be ignored by users since it is usually conceived as annoying. Additionally we clearly saw the lack of a proper way to communicate what exactly this acceptance would lead to. Our second approach turned out to be way more promising.

The Revue onboarding is way more engaging and immersive compared to traditional onboardings since we make it part of the experience – the onboarding is not only asking for access to different data sources but used to create the very first entry itself and additionally eliminating an “empty state of the app on start.

On first start the app guides the user through writing the first entry automatically – from the user perspective – not directly asking the user for permission, but giving the user choices using a predefined tree-map structure flow of decisions.

"Giving the user choices is received better then asking for permissions."

Decisions can either be entered by hand, like the username, or by decision-buttons. The result of this action is then clearly translated to a result visualized in the onboarding flow. Underlined tags within this text then provides more detailed information about why we request access and what happens with the data.

Information Architecture

Content is focus. Revue is about consuming, less about creating. Therefore we decided to give the content as much space as possible.

Striving for as little visual interface as possible we decided to use gestures as a core interaction pattern. The navigation framework is based on a full screen grid the user browses by vertical and horizontal swipes. Days are organized vertically and displayed in a tableview like structure with the height of the single cells depending on the importance of the day and therefore the emotional value of the most important event of the day. Events within a day are organized horizontally.

Navigation Framework: Days are arranged vertically and can be accessed by swiping. Within a day the different events are ordered horizontally depending on time.

Depending on the importance of a day the cells contain different kinds of information. Since Revue is a visual diary we gather pictures taken at an event and prominently use these as the background. The most important event is used as the default content of a day. Date and time is added as well. Location information is compared to the foursquare database and used as a label for the events. In case the data matches a location within the user's address book – for example a friends house – the entries name is used at higher priority to make sure the experience is as personal as possible.

Additionally friends can either be added manually, dependent on this location information or by face detection of the images. Digging deeper in a day by either tapping or pinching one of these cells in the day overview the user can explore a day in detail. The most important event of the day is expanded. From here the user can quickly access the other events of the day in chronological order swiping left and right.

Yes, we use a wardrobe as a whiteboard if we quickly need to discuss a problem.


As a work in progress project we are still testing and changing a lot. Currently we are working on different visual approaches on the design side as well as working on the beta version on a technological side.

Our goal is to provide more data sources for Revue to generate diary entries from (including social networks) and on the other hand use biometric data as source to detect emotions.

Building an app is tough task. As a side project time management is crucial. On the design side we realized how important a proper onboarding experience is when we first tested a traditional approach, especially when you are handling such a sensitive topic like data requests.

To keep updated or in case you are interested in giving it a try feel free to sign up for our beta mailing list.


Working on your own projects is not only fun but very useful as well. If I had to sum up the biggest learnings of working on Revue – wich is still not finished – it would be:

Make sure to ship the minimal viable product as quickly as possible to get a feature tested instead of working on various features simultaneously.

We realized we worked on too many things at the same time a little late. Still, once we realized, we where able to adjust our workflow and prioritize features and get back on track.
Shipping software is a tough task but still lots of fun! It is as great way to simply create something from start to finish and always challenge yourself. Even though I may not be an engineer myself, working on Revue was a great opportunity to train thinking like an engineer and get into complex problem solving on a different level. Oh – and glass covered wardrobes make a great whiteboard.

Date 2015 – 2016
Platform iOS (iPhone)
Status Private Beta
Concept Information Architecture Visual Design Interaction Design Project Management