---
In the very beginning, I had to think about ideas for the project. Now, this was new to me because all the projects and endeavours that I had previously done were to please a teacher, or impress a judge. Going back to the first reflection, "I've never been asked to think of something that interests me and go after it — Find something that I want to learn and make a project out of it."
To start off, I came up with two questions to guide me. First of all, What things in my life need alteration, or what needs change? Secondly, what can I do to help? This got me thinking about academics in general. I'm not necessarily implying that my academic performance needs any changing, but I was more-so thinking of the infamous standardized testing. Now, what's the most stressful factor of about standardized testing? Sure, you may be thinking of the actual material that would be present in the tests, but me from the past was thinking about the the time limit. Which can be especially concerning during the reading sections. With all of this in mind, I was finally able to come up with an idea called SpeedRead.
Initially, my plan was to simply make a Google Site. I wanted to make a website that would allow the given user to read faster. I wanted to make a free, and straight to the point, website that would generate individual words one after the other. Over consistent and persistent practicing, the website should progressively help the user read faster
However, after a quick Google search I found that actually reading each word, one by one, isn't the best idea. Nevertheless, I decided to ignore mentalfloss.com's advice.
So why an app? I ended up making an app due to the fact that although reading quickly can be very interesting, I wanted to be genuinely interested in the project that I would make. After a bit of thinking, I ended up exposing two topics that I've always been curious about: coding and the app store. I got lucky in the fact that these two mostly go hand-in-hand. So, instead of a website, I came to the conclusion that I was going to make an app.
Following off of the coding topic, although I've always been very interested, I had only done very minimal code before the project. Because of this fact, I knew that if I wanted to make a whole responsive app, including design features, I would have to start slow when it came to learning how to code. I did this by engulfing myself in the arts of block code.
So, what were my options? Me being an insightful and strategic researcher, I was able to find two promising no-code computer programs that would assist me in my app development journey: Thunkable, and MIT App Inventor. From what I could tell the MIT App inventor was solely compatible to test with Androids, while thunkable could use both to live-test. Since I have an IOS device, I opted for Thunkable.
I decided to make a simple first project that I would use just to get familiar with the tools and the coding blocks in Thunkable. To make this I mainly used one of the Thunkable help videos (which thunkable supplies its users with in order to learn the program), but I was also able to get help from Youtube videos.
Now, this “little” pre-project went extremely slowly. This is especially due to the fact that 1) I didn’t even know how to block code, and 2) Thunkable was a completely new program to me. Also, in all honesty really was lacking when it came to being an insightful and strategic researcher, especially the strategic aspect of the trait.
I would search up how to make an effect on Thunkable and I would get very broad searches (later on, I would fix this). But, moving on to strengths, I was actually very happy with myself when the app was done, usually if something was this annoying for me to complete, I would leave it and search for an easier task. However, I really did want to follow through with my learning outcomes, so I stuck withe project.
To the right you can see the finished result.
Although it doesn’t look too great this took an immense amount of researching and great persistence.
I would consider this quite the success on my part. Due to the fact that not only did I follow through with with my LOs, but I also made a functioning first app.
After had a bit of a feel for what Thunkable was like, I started to create my real project. The first task that I focused on was the app’s physical display - The basic layout of my app. Initially, Thunkable's app design tools were much more confusing than I originally expected. When making this first basic layout, I had to follow a Youtube video to produce each specific feature I was trying to display on my app. This would later change as I would become more independent due to my experience with the program
What is interesting here is that I was able to be both an Insightful and strategic research along with a resilient, persistent, and adaptable achiever. For the insightful and strategic researcher, I learned to only search up key words in order to find a element that I'm looking for. For instance, instead of, "how to put several round buttons on a Thunkable" I put, "Round button Thunkable". This is probably a tip that I’ll carry with me for a long time. It is insane, how many better search results you get when only searching up key words [see evidence/pictures below]. Following up on the insightful and strategic researcher, I also watch a lot how Youtube videos about thunkable [see an example of a video below]. Then we have the resilient, persistent, and adaptable achiever, where I was able to go through these Thunkable Help forums, and read different ideas. From these forums I learned how to create a couple of screens (or pages of the app), buttons, labels (text), text input (place where a user can write any given text on the screen), and lastly I learned how to insert rows and columns (which allow you to put components side by side or one on top of another).
I used a whole lot of these when both building and coding my app. These forums of people asking questions, and advisors making articles about specific topics really saved me when it came to making the app.
This video, and in reality, this whole channel called No Code Apps with Darren was a really helpful resource when it came to using Thunkable.
(Google Slide from Final Presentation [See at the bottom])
After I made the basic layout of the app, I decided to renovate it. This was because my app was looking truly awful with just the skeleton. When it comes to renovating the layout of my app I was also not only a Insightful and Strategic Researcher, but also a Resilient, Persistent, and Adaptable Achiever.
For the researcher profile I brought myself to look at an article on color design, something I would never even think of doing previously. From this article I found out that I should have a color theme for my app. The article specifically mentioned a couple of different color theme generators, but I ended up going with Adobe Color. With this information, I was able to go on Canva, and create background pictures for my app. I also made my own youtube video explaining how to add these picture that can be created on Canva as the background to a screen on Thunkable. [see renovated Canva screens below].
(Google Slide from Final Presentation [See at the bottom])
Finally, I reached the part where I had to code the app. This, as is clear from my previous reflections, was the aspect which I was most putting off. I thought that whatever hard the app design process was, the coding would be 10x harder. Now, I wasn't necessarily wrong, however I eventually got the hang of the block coding, and coding in general.
As was with the first to processes, I was tried my best to be both an Insightful and Strategic Researcher and a Resilient, Persistent, and Adaptable Achiever. To start off with the researcher profile I watched HOURS of videos on tips, tutorials, and run-downs of how people coded their app. As with the first two processes I did, a lot of information also came from forums and Thunkable community pages. I can not express simply how many Youtube videos I had to sit through. Keep in mind, at that point I was working on this project since what felt like forever, and it was currently the middle of winter break. You can imagine me sitting away at my computer in my room for hours at a time just trying to get the app to do what I wanted it to. It was such a gruelling experience, and I probably sent over 24 hours all in all simply trying to code the app to do what I wanted it to do.
Eventually this project became more of my project, than a project that I had to complete for a class.
Then, we have the resilient, persistent, and adaptable achiever. This can honestly go without saying, but I really do want to convey that there have been many trial and error and research involved in the coding aspect of my app, that just the code could have been a project of itself [after the slide, I describe some struggles that I faced while making the code of the app].
(Google Slide from Final Presentation [See at the bottom])
Although I had many more, I decided to list two of the main and most prominent struggles that I faced when making the project. Firstly I had to take a sentence make every word from that given sentence show up on the screen consecutively and consistently [see slides below]. However there wasn't any solid information on how to make the words from a sentence pop up one by one. At first I to just separate each word, make it into its own textbox, just have a lot of textboxes, and all I would have to do is call each of them one-by-one. But, since the practice stories that I would make would have 500-2,000 words in them each, I knew that the method wouldn't be possible. My second option was to use the "make list from text "" with delimiter "". This would separate the sentences of words and make them into a list of words with a comma between each word [See the slide at the left]. I eventually decided to use the second option
So, once I figured out what I was going to do to fix the problem (keep in mind that this was me brainstorming beforehand on what I was going to code, so I didn't actually start coding yet), I moved onto my second major struggle which was that I had to take that given list of words that I split up and somehow explain to the app that I wanted the words to appear consecutively in the same spot. I ended up thinking of a really horrid solution that is absolutely trash, but even after hours of research and experimenting I could simply not see any other solutions (of course, if I wasn't limited to the block code on Thunkable, it probably would have been easier for me to do what I wanted to do — nevertheless, I do believe that Thunkable was a great introductory project to for me to understand how to code).
(Google Slide from Final Presentation [See at the bottom])
(Google Slide from Final Presentation [See at the bottom])
(First slide in image carousel) In the end, what I managed to do was initialize a variable named SelectedPractice and set it equal to null which signifies that its value will change over time. Then, for each of my prepared stories (practice tests) I made an individual button for them on the actual display of the app. Later, in the code, I said that when the button called, "The Leopard Man" is clicked set the variable to a number [see below] and navigate to a page called "Reading Screen Read-Made" which is simply where the user will actually read the words one by one
(Second slide in image carousel) Then, in the screen of "Reading Screen Ready-Made", I wrote that if the variable SelectedPractice is equal to a specific number (in The Leopard Man's case that would be one), then set the variable SelectedPractice to the full story of The leopard Man (That is where I would enter the whole story). From then, make a list from the given text and use a delimiter of space which would actually be a comma and set the list equal to the variable Selected Practice. That was how I solved the first major struggle.
(Third slide in image carousel) For the second major struggle, even after hours upon hours of research, I was simply not able to figure out how to display the words. What I ended up doing was making massive list that ended up consisting of about 400 numbers (which is much less than the 2,000 numbers I was needing). But what I ended up doing to display the words was I would get the substring from the SelectedPractice's story, and it would print letter #1 to letter #1 (which would be the first word). Then it would update the screen to the word and wait 1 second. It would repeat this process, as stated before, about 400 times only because I simply did not have enough will in me to continue make the blocks one by one. For this one, I would be open to any and all suggestions that would allow me to make the words display one after another with the method that I used to break the sentences up into a list of words. But, nevertheless, the app does in fact work for the first 400 words of the given story.
Finally, my goals moving forward would to learn how to code without the block codes. I feel as if I have enough of a basic foundation in order to really begin real coding. Also, more related to the project at hand, I would definitely want to be working on more apps. Since I already have a solid understanding about how the program works and how to code in block code, I would really like to work on other app ideas. However, I probably don't want to improve SpeedRead (unless I could find a genuinely good solution to my second major struggle), not only because it gives me mild trauma whenever I look at it, but also because I am really proud of how it turned out and it is an overall nice summary/reminder of how my first semester of computer apps turned out!
Below is my final presentation for the class. Here, in the last couple of slides, you can find what the finished product of my app looks like on my phone.