This week we were asked to create the app “No Texting While Driving“. It is a basic app designed to keep drivers safe while driving by sending a pre-designed automated response to all text received, to the extent of “I am driving right now. I will get back to you later.” In addition, using a location sensor, the app sends the location of the driver to the sender so that s/he knows where the driver is. In order to keep the driver’s curiosity satisfied, the app also uses the text-to-speech functionality to read the message received out loud and includes the phone number of the sender.
Building the app by following the tutorial was quite easy, although in order to test the app I was to use an android based phone to receive the message and automatically send the response. In the initial stages of making the app I did not have a working android phone (I did not know we were supposed to have a phone with a working SIM card in it), so I just ignored the testing and continued building it. When I finished, I found a phone and tested it. It seemed to work well aside from two things- The phone number was read as a continuous number rather than as individual digits, which did not serve its purpose. Also, I did not receive a message back indicating the response or the location of the “driver’s” phone. I found it quite frustrating because I built my app exactly as it was instructed. I then read a couple of my peers’ comments and found that their location sensor did not work either. I decided to ignore these two facts and move on.
I had brilliant ideas as to how to modify the app. I wanted to get rid of the location information, as I am not a big fan of revealing (what I see as) unnecessary private information. Instead, I wanted to add the date and time of when the message was sent, for convenience. I then realized that the sender won’t need it since s/he already gets the date and time when a message is sent. I also wanted to create a welcome screen, which includes a text box for the name of the driver, so the app calls his/her name when reading the message out loud, to add a personal touch to it. Since I found that my tablet’s battery drained quickly because I forgot to turn off the app, I wanted to add a button which would shut down the app automatically. Lastly, the app’s design was plain and boring, so adding some color, text, and images sounded like the right thing to do.
I found it difficult to add the time and date, and after numerous attempts, I gave up. I created a welcome screen, but then realized that the first screen I created (where the driver enters the response message) was the opening screen. I tried different things that seemed like they should work, but they didn’t. I also searched for tutorials, but none of them provided me with the information I needed. So I left it at that with the hope that a more experienced (and creative?!) peer would help me out. My idea of creating a text box for entering the driver’s name looked well, but I was unable to find the correct blocks which would transfer the data form one screen to another. I scrapped the idea. The more successful aspects of the app re-design were adding the power button (easy) and adding images, text, and colors to bring the app alive a bit. I did struggle a bit with spacing, because the app looked differently on my phone and on my tablet. Lastly, I changed the name of the app to “AutoPilot Texter“.
When I compare working with blocks on App Inventor and my coding work in HTML5 and CSS on Dreamweaver, I must say that the former is a lot more difficult to work with. MIT’s App Inventor 2 functionality is not very intuitive, and the support one can get on the Internet is very lacking, resulting in hours of frustrating searches. Three things I would need to do in order to feel and be more successful in this course is (one) to get the textbook or print the online one, (two) to spend more time playing around and re-reading sections of the book, and (three) to complete my apps early so I can use the discussion forum and peer feedback more effectively.
This is the original look of the app:
… and this is how I changed it (as it looked on my App Inventor 2 screen):