Phone Memo: Building a Truecaller like Application

Gokula Krishnan S
5 min readMay 7, 2020

--

Phone Memo app integrates your incoming and outgoing phone calls with Evernote app. You take notes in Evernote app directly from your phone call.

All notes taken via Phone Memo app are stored in a new Evernote notebook called ‘PhoneMemo’. Additionally, the notes taken are auto-tagged against the callees or callers name or number. Thus easy to search for notes against your contact name or phone number.

As you receive a phone call, you can remind yourself with what conversation you had with the caller. It let you open Evernote app with all the notes taken against the caller. It is a powerful integration with a seamless experience from your phone call to Evernote app

PRODUCTION

Phone Memo is available in Amazon app store for free of cost. There is no in-app purchase and ads. So feel free to download our app from the below link.

Also for this app to work you need to download the Evernote app. You must use the same account for Evernote app to sign in Phone Memo.

Why Phone Memo

Evernote has over 400Millions downloads. It is a very powerful app and tops the ladder when comes to the number of features it could offer. We have found out that many organizations have made Evernote default application for notes, reminders and collaboratory chores. So, there is a need for people to make notes while on call. Phone Memo delivers this need perfectly.

Our target users range from desk employees to logistics drivers. Almost anyone who creates a lot of notes while on call can use our app.

User Flow

To integrate Phone Memo with Evernote, the user should download and install our app and register device using Evernote’s account. Lets quickly see how Phone Memo works. Assume the user has installed our app and has granted the required permissions.

Activity flow

Image 1: Whenever the user receives a call or calls someone, then PhoneMemo’s floating window pops up, giving the user a choice to either create a new note or see all notes created for this caller.

Image 2: If the user wants to create a note quickly, he/she can tap on Create Note button on the utility window which will take him to Evernote’s create one activity. You can see that every note user creates while on call are saved to a new NoteBook called “PhoneMemo(Notebooks created on call)” which makes it easier for the user to search for a note. This Notebook is created when User Authenticates Phone Memo app using Evernote’s account.

Image 3: Every new note created while on call will have the two default tags. One is the name of the app: PhoneMemo and other is the name of the caller. We get the name of caller from your contacts. But user can also add any number of tags he/she wants.

Features

Phone Memo offers few features which would boost Evernote user’s user experience.

Evernote’s ole API documentation and android SDK has been used to make these features possible.

Design

A lot of efforts and thoughts has been put on design works. I am proud of how the overall design came up which also coincides with Evernote’s and also is very flat and simple.

  • The Floating button can be moved around the screen. We understand that every phone’s activity is different. So the user can simply move the floating window and app remembers exactly where you place it. So next time when you receive a call, floating windows pops exactly at that position.
  • If you are not going to create any note or search for an already existing note, you can simply collapse the floating window or you can close it as well.
  • Deciding the logo was also a crucial part. The logo I designed initially could have brought claims from Evernote itself, so I came up with a new one.

App Flow

Now that we have seen what Phone Memo does and how it solves various problems, let's see how it works.

  • In layman term, there are basically three states when there is a phone call; OffHook( Phone is in an active call), Ringing(When calls are not connected), Idle(When calls are disconnected). Android framework broadcasts all these states to apps that are subscribed to receive the states.
  • Our broadcast receiver receives the action and then triggers our custom service FloatingView, which creates an object of WindowManager to create our floating window. The user should have granted Appear on top permission.
  • When a user clicks on Search or create_new_note button on our Floating WIndow, we get Evernote session key and open Evernote activities using Intent Filter.

Challenges Faced

There are a dozen challenges I faced while developing this app, I would like to mention a few.

  • New security measures in Android O(API level 26) and above have made it very tedious for developers to access Phone States. So basically there are two very different ways how I access the states(for API level <26 and >26).
  • Evernote’s Android SDK documentation hasn’t been updated in a couple of years making it difficult to access Intent Filters to their new activities.
  • Evernote logs user of the session without any notice. There is no fixed period a session is active for.
  • You all must be wondering why this app isn’t in the play store, that's because for some reason play store cannot understand why we need Phone and call logs permissions. I even made a separate youtube video and sent it to them.

This is my first blog about an application I made. Feel free to check my all other published applications here. Also, feel free to connect with me on LinkedIn by clicking here.

--

--