By Ethan Chen
Have you ever seen a texting app that looked similar to WhatsApp? Well, I'm glad you asked because this is a mobile app that involves lots and lots of texting. The majority of teens use Snapchat to text their friends along with taking selfies using filters. I have developed the best texting app that no one has ever seen before.
WorldText is a texting app developed as a capstone project. Its main functionality combines components from three apps: Skype, Snapchat and WhatsApp. The app uses Google Maps to track your favorite users including your loved ones anywhere in the world, with the encryption of users from WhatsApp. Disregarding the question "Where are you?", users will be able to track other users they have added to text with; however, internet connection is required.
I had to do a capstone project in my third and final year of my program. This was a requirement that would help me graduate from my three-year program at Durham College. A capstone project is a class taken to put together all the skills a student has learned throughout his/her program. So, with the semester shortened to 12 weeks due to field placement, fast thinking had to be taken.
Reviewing my past applications was not enough because they are relatively easy to master. I talked to my mother, and she said to come up with something that does not exist. I had to talk to my tutor to get some recommendations for my capstone. With Kyle Chapman as the lead professor for the capstone class, he wanted me to look at some projects that his former students did. I did not find anything interesting because I never experimented working with a platform I was never taught. I had to create something that I was taught throughout my program, that would get the best experience on an application.
A lot of research had to be conducted to develop the best capstone project ever. It was very stressful because I had to review all of the applications that I developed since my enrollment to my program. I had talked to my other professors besides Kyle and depending on who I talk to, I had to think about how long it would take me to complete. Gregory Oakes, who was my mainframe development 2 and 3 professor, had told me that developing my capstone on the mainframe would take beyond the semester. A lot of key buttons on the keyboard are required to run it, and how will I be able to run it on CICS? Second, I talked to my mobile development professor, Mohammad Shamas about developing an app for both Android and iOS devices. He suggested that Flutter would be the best option, to which I agreed.
Finding a name for my app depends if it exists in the App Store or Google Play App. I went on my phone to review the applications I downloaded and came up with a brilliant idea: a texting app. I do not text as much because I am a quiet person like my dad. My main texting platform is WhatsApp because there are plenty features they have than Snapchat: you can only text the people you know such as your family members and friends. Snapchat does not rely on groups, but uses the Snap Map feature to locate all your users. Skype, relies is similar to WhatsApp, but uses video calling and user status. Using the three apps helped me combine the components, which gave birth to an amazing app. And thus, WorldText was born!
The development was very slow because I had to find videos that can help me achieve this project. I had the output designed in PowerPoint to show what my app looks like when it's finished. I used to do that for my Mobile Development class for my group's final project.
To achieve the final result, 12 slides were made. Two of which are the login and registration pages, five of them are the pages in the homepage, two are chat pages: individual and group, the rest of them are related to the settings page. This makes it easier, so that you'll know what components you need to use. Reflecting back on my Mobile Development class from Fall 2023 brings up my knowledge I have with Flutter because I have worked with the platform for two months.
After all that, the development of my app started to speed up because I spent more time working on it rather than my schoolwork. There was a contract I completed for Kyle, my capstone professor, where I provided information about my capstone project and the amount of time to work on my capstone project. I used to work 12-hour shift for my summer job at WestRock, a packaging company, so I brought it up and agreed to work on 12 hours/week. Two hours everyday and one hour for the weekend. Because I take long to finish, I planned my time wisely to balance off my assignments from my other courses. Avoiding procrastination from my other work is a great thing so that you do not have to wait until the last minute to get it done. As someone I know said, "Do not spend too much time on one thing even if you do not get it to work.".
Thanks to Mitchell, who was my classmate for the final year, he helped me find the right videos on YouTube by suggesting some recommendations from Mitch Koko, a famous YouTuber who made apps using Flutter. I started working on the texting component, becuase that is its main component. There were however, some adjustments made as I continued to progress through my capstone. The texting page's appbar has the user's information as well as the call button. I added another message bubble to display the image by copying the text bubble and by substituting the text for the image url. The camera component was added to take a picture before sending it. I did not rely on Mitch Koko alone, there were other videos I watched to make my project look catchy. To copy Snapchat's snap-map, I had to import Google Maps by getting a license. Me and my tutor looked deeper into getting the API key. Markers were added after getting the map to work properly. The settings took the least amount of time because I was able to retrieve data from the firebase along with the profile picture's url. From the homepage, the group component was added successfully, with minor adjustments. This YouTuber created a group by adding users based on a particular category such as the Supervisor, Admin, Print Manager, and HR Manager. To avoid getting NULL values, each field was modified to its proper value. Testing the group chat room made it easy to figure out since I need to add the time the user texted with its name. Having the Add Users page was a success because I can finally add users to chat with in the Chats page. The user cannot rely on email search; phone number search was added to make finding easier. Finally, the phone call page came into action for the user to display the call they made or the call they received. All of this has led to a complete capstone project.
On April 3, 2024, all students in the capstone project class were required to showcase their capstone in the main gym at Durham's Campus Recreation and Wellness Center. The event took place from 3:00PM to 7:00PM and every student was assigned a table to showcase their project to everyone.
Presentation skills are required to showcase my capstone to everyone. To present my capstone properly, I got the help from not only my tutor, but from my mother. She helped me organize the slides by shortening the information. This helps people to get a glimpse of what my capstone project looks like. In a way that I can present my project to everyone, Android devices were displayed on my table with the slides that were reviewed.
After Stephen made the opening announcement, everyone flooded the gym to check out everyone's capstone projects. Demonstration of my capstone took a while because I had to explain the functionality of each component. Many people were impressed by my capstone because they have never seen a cross-platform texting app and are dying to try it out. One asked me when it will be released and I told them in the next two years or so. So while demonstration took very long, 15-minute breaks had to be taken, so I can check out other people's capstone projects.
At 6:30PM, the event slowly started to wrap up. The IT Expo closed off with the awards for the best capstone for the year. The award goes to Ryan Boldy, who developed a website on Shadow Agent Webex. Even though my capstone was an amazing app, I received a 4.67/5 rating.
WorldText contains components from Snapchat and WhatsApp. The app allows users to browse through the homepage by using a navigation bar. This makes it much easy to have all the pages on one page instead of going to another. Let's look at each component.
Similar to Snapchat's snap map, users in WorldText have the ability to search for a particular user they added. The map feature is a Google Map layout with markers displayed. The blue marker represents the current user, while the red markers represent the users that the user added to chat with. The app asks the user to find their location; they can accept to share it, or deny if they do not want to. This makes tracking easier so that they do not lose track of their location.
If I were to test it out with a family who has kids aged 15, then they would track them down. This is very useful to control how long they are out for.
The calls page contains the recent missed calls. WorldText updates the calls that the user made as well as the incoming calls, similar to WhatsApp. Users can tap the card to make the call instead of using the keypad on all phones.
The chats page lets users to chat with their favorite people. To chat, add a user. The page will have them search by email (default) or by phone number. Once the user is found, they can start chatting with them.
In the chat room page, users can message by text, or by sending images. The user can also call that person by tapping the phone icon on the top right of the screen. Easy to make calls, so that you do not have to retrieve that number.
When the user wants to send an image, they can select a photo from their photo gallery or by opening the camera.
Groups can be created by finding a user, similar to adding a user on the chat page. Like the chat page, users can add other users by email (default) or by phone number. Then give the group a name.
While in the group chat room page, users can send text and image messages, based on the user that sent that message.
The settings page is where the user can customize their profile information, change the background color, or log out.
Dark/light mode was added because not everyone is sensitive to light.
Change the status to let other users the mood you are in. Online means you're available, Away means you are online, but inactive, Do not Disturb means you will not receive messages, and Offline means you are not able to send any messages.
Logout if the user you are in is not you.
Currently, WorldText is compatible with all Android devices because it uses Android Studio as its main development. The app can be further expanded to iOS devices such as the iPhone, iPad, Mac, and Apple Watch.
Unlike the WorldText(capstone) app, the real app is under development and will be released sometime soon. See the bottom of the page to download it (ANDROID ONLY). If you have an iPhone, download the PowerPoint slides that display all the screenshots.
Because WorldText was so complicated to develop, here's what the app can expand on: