Monthly Mission #3: iOS release

Last month was mainly about our iOS release. We are not quite there yet (many little things got in the way) and the app is currently in a closed beta. As soon as we are satisfied we will open it for everyone.

Before we get into the details, lets talk about the things the rest of the team did.
Simon traveled to New York for a week and moved to Berlin so he could not do much. I spent some time to fix a few notification related bugs (see last MM). Besides that I started to restrict our information API in the things it accepts.
As it is for now, there is no specific format required to store things. A phone number could be anything, a random word, a real phone number, a mixture of numbers and signs (like 0123-2344 233). This is totally fine for now but as we plan to work with the entries (one example would be starting phone calls right out of the app), we need specific formats.
Besides that we started to implement a history on the web app (our api already has a history route since our notification update) where you can see the recent activities but that will be a topic of a future MM.

So back to our iOS app...

The UI is quite simple and is a mixture of iOs typical elements and our Hyphe design you already know from our web app with the main color being green and the secondary color being red.

We tried to keep the design as close as possible to the design you are familiar with when using iOS. On the other hand we wanted a little bit of individuality so when you see it, you know it's the Hyphe app.

We solved that by using a top bar with the color of our corporate identity for example. But more eye-catching should be the blurred version of the contact images you might know already from the web app.

The app is not quite where we want it to be design wise. But with a stable release as priority no. one it is more important to focus our energy to optimization tasks. You can expect a lot more from the design in the future.

Persistent Storage

The biggest part of the app is the one you don't see: persistent storage and synchronizing everything. It is important, that you can access your contact information at any time, even if you don't have internet access. Therefore Chris implemented a thing we call harmonized which takes care of storing all data on your device and keeping everything up to date.
To trigger these sync processes we found the notifications pretty useful. Instead of updating everything each time you use the app, only the things that have changed (and you get notified about) get updated. This saves us a ton of bandwidth and fastens the synchronization quite a bit.
Besides the download synchronization, harmonized buffers upload synchronization as well. Instead of just pushing every change to the server, all local changes are stored in our local Database. As soon as a network connection can be established, these changes are uploaded and pushed to our API. The user never has to care about internet connection, he just does things and Hyphe does the rest.

These features can get pretty tricky especially if a user has multiple devices active at once, but we are pretty happy with the overall outcome so far.

As always, feel free to leave a comment below.

comments powered by Disqus