Sorrisos Update

        And just like that we’ve completed our seventh week in Barretos and I’m proud to report that our app is coming along nicely! This week, our project transformed from a collection of pages and prompts to a flowing and almost-fully-functioning application. We began with a pretty detailed vision for what the app should look like and how it should run. While we kept usability and safety as our core focuses, we played around with graphics, user logic, and adding/editing certain components to make the app look polished. Diego and I also chose a name and logo for the app, Sorrisos (‘Smiles’ in Portuguese). The app is meant for the dental department and we wanted the name to be short, catchy, and uplifting, thus Sorrisos came to be. Having these two, simple parts down made it all feel real. We’re making an app–one that could help patients and doctors! 

Sorrisos app logo

 

Divide and Conquer

        The app was coming along yet there still remained work to be done. Similar to last week, we decided to divide and conquer the tasks at hand. Diego worked on creating prompts for email verification, implementing methods to allow users to change their passwords, and creating alerts for existing users in the case that the try to re-register. He also seamlessly combined the registration and login portion of the application with the other pages prompting patients to call the hospital or message Dr. Denny with their symptoms (yay!!). While Diego worked on prompts and user verification, I continued to tackled the messaging component of Sorrisos. 

 

WhatsApp… but make it Dental!

         We originally thought of implementing a check-off list format for patients to fill out, upload on the app, and send to Dr. Denny. However, an instant messaging app would grant patients and doctors the ability to personalize their descriptions, voice all of their symptoms, encourage a dialogue, provide both parties with real-time feedback and notifications –all on a secure and customizable platform. 

        I was determined to create a messaging platform that would allow patients to send messages with images and PDF documents, to receive notifications, and to see when/if Dr. Denny had read their messages. Furthermore, I looked into how to make the process as intuitive, or familiar, as possible by creating a “Latest Messages Page” where patients could see any incoming messages or begin a new chat. While designing the messages app, it became clear that, depending on the user (i.e. doctor or patient), certain functionalities would have to change or limited. 

        For example, we expect for patients to only use the app to communicate with Dr. Denny. Dr. Denny, however, should be able to see and chat with all of the app users. For security purposes, we do not want patients being able to have access to the list of existing Sorrisos users but we would like that information to be accessible to Dr. Denny within the app. In order to address this solution, we will implement a conditional statement to only allow Dr. Denny access patient names. 

 

From Class to Code

        The project, as I reflected, was not like any of my other, typical engineering projects. In Introduction to Engineering Design, we learn the Engineering Design Process which consists of defining the problem, conducting background research on the problem and current solutions, creating design criteria, brainstorming, and then iterating through prototypes. While I tried to implement this process, I knew I had to tailor my approach since the task at hand was completely foreign to me. I conducted my research by scouring through coding blogs, YouTube playlists, and Stack Overflow posts to find existing approaches. We are working on Android Studio and coding in Java for the most part. While I am not fluent in Java (yet!), I knew I would not have enough time to give myself a full on crash-course and, instead, decided to dive into the thick of it and just started piecing code together and editing it to meet our needs and wants. 

        The tutorials and online communities I found were extremely helpful. As I progressed through formatting the chat portion and editing code that tapped into the Firebase database to join users, I began to learn. Certain commands started to become familiar to me and I could understand what certain actions and voids meant. That is not to say that the experience was error-free. On the contrary. At times it felt like I was playing whack-a-mole: I’d parse through an activity on Android studio with a fine-tooth comb, clean up any errors, and then find other problems in another activity page. While this process could get frustrating, I persevere and began to develop a whole new skill: troubleshooting. 

        I had my fair share of troubleshooting code in classes like Intro to Computer and Applied Mathematics and Numerical Methods using Matlab. Although coding on Matlab and coding in Java are pretty different, the problem solving techniques definitely translated. As the project progressed, I became more comfortable interpreting other people’s code and deciding where it might fit into Sorrisos and what tweaks might have to be made where. The messaging component still has a couple of errors that must be addressed but I have a list of potential solutions and approaches to address them. Things are looking good!

        Next week, we will finalize our code and compile the application and begin preparing for our final presentations with Hospital de Amor staff. One of the presentations will actually be in Portuguese and I am so excited! Stay tuned!

Ate logo, 

Paula