MonoTalk

Service

iOS App

Language

Swift 4

Tool

Xcode / Sketch

Date

OCT 2017 - NOV 2017

ABOUT

This is an app where users can practice speaking English more fluently by recording their answers to interesting questions.
This app is available on App Store.

CHALLENGES

There were a lot of things that I had never done before in making this app. Also integrating sketch UI designs into iOS apps was more difficult than I expected.

Category

This page is quite simple, users can add / edit a category.
When users add a new category, the UIImageView will be set to the initial letter of the category name instead of a picture.

Question list

Each cell shows a question body, a number of the records, a note (if it exists), a star (if it is on) and the total file size of the records. And users can sort the questions.

Question Detail

I used the UIPageViewController for these pages so users are able to go to the next/ previous question by swiping right/left
There are many functions on this page so I’ll explain some of them step by step.

Note

Users can take note of the question.
If the text of the note is not empty and it doesn't contain only spaces, the note icon will be changed the one with the blue circle.

Rate

Rate represents the difficulty of answering the question in English for users.
Furthermore, I added a small animation(fade-in and fade-out) for the view when it appears.

Speech

When users tap the question text area, it speaks it.

Recording

After tapping the Answer button, it will check the status of the authorization to use the microphone.
If not already granted, it opens the Setting app because this app won't work without the ability to record.
If granted, it shows the modal of recording.

Player

Users can control audio playback with the slider.

The audio will be paused once users try to play the other records, delete the playing records, or leave from this page.

Rate Tutorial

Only after the first time recording an answer, the popup view will appear.

Set-up

This app will load CSV files to Realm database when it is first-run using UserDefaults.
So I can manage Category and Questions easily on spreadsheet.