Introducing: Reply
Tags: android, architecture, java, database
Published: 2020-05-16 17:35:46

An Android app to easily send your own predefined messages through any platform.

Reply is an app I built which makes it easy to send your own predefined messages through any platform.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/8wocjb3th7r7m72as0mb.jpg)

---


It allows you to:

✅ Create and store your own message templates
✅ Easily send your messages through any platform
✅ Organize your messages into categories
✅ Add, edit, and delete your messages
✅ Preview and edit your message before you send it
✅ Set a timer to remind you to reply with one of your messages at a later time

In this post, I will be explaining its features, use cases, and tips to help you get the most out of it.
If you want to download it and use it while reading the article, you can find it [here](https://play.google.com/store/apps/details?id=dev.ashtonjones.reply).


---

##🚀 Motivation:

I personally like to build things I think are useful. 
I had three main reasons to build this app:

**Solve a problem**: I was tired of repeatedly typing the same message over and over and having to copy and paste the same message to each platform I wanted to post it to. And I know there are other people who feel the same. That frustration was a core motivator to create Reply, which makes it easy to send messages you frequently send through any platform.

**Build my portfolio**: I am building my professional portfolio to showcase my Android development skills. Although it is a relatively small application, it shows I am able to develop entire Android apps on my own from the initial idea to publishing the completed app, implementing the UI, functionalities, logic, app architecture, database, and user experience along the way.

**Learn something new**: I wanted to learn how to build an Android app that uses Android Architecture Components and MVVM architecture in conjunction with Firebase Cloud Firestore as the database. This was my first experience implementing a remote database in an Android application and using Firebase products. In addition to learning how to implement Cloud Firestore with Architecture Components and MVVM architecture, I learned how to authenticate users with Firebase, sign in and sign out users, implement complex Navigation flows using the Navigation component, and how to publish an app to the Google Play Store.


---

##🕹 Features

I wanted to make Reply easy to use and as customizable as possible.

---

**Add Messages**

Adding messages is the core of the app! Add messages you frequently send or post to multiple platforms. You can edit or delete the messages at any time.

**Preview Messages**

Previewing a message is useful to remind yourself what the exact message is and if you need to edit it before sending.

**Send Messages**

The beauty of Reply is the flexibility to send your message through any platform you want (e.g. any messaging app, social media, email, etc.). Once you select where or who you are sending your message to, you still can edit it before sending it. The message is there for you, but can still be customized before posting or sending it.

**Respond Later**
If you need to send a message, but don't want to do it immediately, you can use the reply later feature to remind you to respond with one of your messages at a later time.


---

##📱Use Cases:

Reply is most useful for people who frequently send identical messages through different or multiple platforms.

**Commonly Sent Messages**

Do you find yourself sending the same message repeatedly, composing it each time? If you have a message you send often, add it as a message to one of your categories to easily send it just by tapping it.

**Conserve Mental Energy**

Sometimes we just spend way too much time overthinking a message we need to send to someone. Especially if we are working, we want to minimize the disruption of our workflow. If you create a solid template to use, you will spend less brain power thinking of how to phrase your message. Remember, you can always edit your message before sending it to better fit the context and situation. Even better, you can use the respond later feature to remind you to reply at a later time with one of your messages.

**Time-Saving**

Typing and composing messages on phones is tedious and time-consuming. Utilizing this app can save you time, especially if you have multiple identical messages you frequently send.

**Mass Texting**

Mass texting is sending the same message to multiple people with individual chats for each person. Want to check-in monthly with your friends? Instead of copying and pasting the same message across your platforms and contacts, use a message template to effortlessly send out your message.


---

##👉🏼 Pro Tips:

Here are some tips for you to get the most benefit out of Reply:

Think of all the identical, similar, or frequent messages you send and create templates for them (i.e. a message to introduce yourself).

Think of the processes where you repeat a certain series of messages and create a series of messages to have reusable templates (i.e. applying to jobs).

If you want to mass text (send the same message to multiple people using individual chats), go to your default messaging app and set the "Group conversation" setting to off. If you want to group text (send the same message to multiple people in one chat) leave this setting on.

Create groups in your contacts app to send a message to everyone in the group without having to select each person.

##🖥 Technical Brief:

This is for the nerds (and recruiters).
I built the app natively with Java, using Android Architecture Components (LiveData View Model, View Binding, and Navigation), MVVM architecture, Material Design, and Firebase Cloud Firestore. The app follows Google's recommended Single-Activity architecture and uses Navigation best practices to navigate through the app.
I used the following technologies to build the app:

MVVM Architecture
Java
Android SDK
ViewModel
LiveData
View Binding
Navigation Component
Firebase Authentication
Cloud Firestore
Material Design

If you are interested in the code for the app, you can find it here.

##🙌🏼 Recognition:

I want to thank the following people for enabling me to develop this app:
Elijah Dangerfield for his tutorial to implementing an Android app using MVVM with Firebase in Kotlin
Evana Margain for her series on connecting an Android app with Cloud Firestore in Java
Riyaz Ahamed for making implementing RecyclerView much easier and cleaner
Roberto Leinardi for recreating the awesome FAB from Google Inbox
Gaëlle Minisini for providing fantastic README examples
Thanks to your guides, libraries, and knowledge, I was able to build Reply.


---

##Check It Out:

You can download the app [here](https://play.google.com/store/apps/details?id=dev.ashtonjones.reply). 
I am always looking to improve it, so please feel free to send me feedback and leave a review on Google Play. I hope you enjoy using Reply! 😃

📱 [Reply app](https://play.google.com/store/apps/details?id=dev.ashtonjones.reply)
⌨️  [Reply code](https://github.com/ashtonjonesdev/Reply)

I'm looking for Android development opportunities; contact me at ashtonjonesdev@gmail.com if you are looking for an Android developer or know of available positions!


---

Hi, I'm Ash 👋🏼 Let's connect!
🌐 ashtonjones.dev|👥 @TJgrapes|✉️ ashtonjonesdev@gmail.com
👨‍💻 Google Certified Android Engineer |
✍ Writer |
🧘‍♂️ Stoic && Meditator