App reflection

The layout of the appointment scheduler function

1: I used to think that block coding is simple and unable to make advanced functions but using block coding, you can make apps that can respond to the needs of people. When I used to code in Scratch which uses block coding, I thought the code was unadvanced because it is easy and the most it can do is present images on a screen but in App Inventor, I have the ability to make more advanced code through blocks and present it in a functional way; I can present it as a app.

 

I also used to think that it is very difficult to make applications that function on a phone but with App Inventor it is way easier to do so. App Inventor uses block coding, therefore making it easier to navigate and code compared to programs like Xcode which relies on Swift.

 

2: Among my Lego robotics team, it is hard to communicate within each other freely due to only coming together one a week. This give me the idea that I should make an app that could make me be able to communicate within my teammates easily by simply entering a description, date, time and title for my team to easily organize team meetings and/or appointments.

 

3: On my app, I made a menu screen because I like and is used to always going back to a menu. Reasons I did this is because it is easy to centralize and use more of a hub-spoke system (In other words, the menu screen is the ‘center’ of the app where after each function is used, it goes back to the menu because to make it easier if needed to access other functions). I noticed some apps rely on having 1 function but then to click a button below to go to another function. I don’t like this because this kind of system means there is no ‘center’ and you must navigate through the functions rather when all the buttons to go to the next function is simply all in one place.

 

I believe that using email for the ‘appointments scheduler’ is better compared to other methods because as ISB students, we rely on Office 365. In Office, the closest to a messaging app is Outlook, therefore I decided to use email. On the other hand, relying on SMS messages requires sim cards and cost credit on it and WeChat is not used by everybody, therefore I think through email is the best way to communicate.

 

4: My first and primary function of the app is to enter a date, time, description and title of an event, then will ‘teleport’ or ‘send’ me to an already formatted email draft, ready to send via the Android Email application.

In my opinion, I could improve the scheduler more ‘neater’ due to the formatting of the current date and time slots is a bit weird and the spacing is not equal between texts in the format. I could spend some more time improving the format of the email and locations of where the time, date or description goes in the email.

 

My second function is a function where it needs me to take a photo and provide a caption or title of the image and a date. My main reason to doing this is because I want to track the progress of the robot. This function however didn’t work quite well due to technical difficulties of saving the picture (every time I close the app, the pictures disappear). Maybe next time I could investigate more on the usage of databases.

5: A strength of this app is that it is solely designed for my team and for their needs, therefore we don’t need to compromise any features if my team relied on apps like Trello or Outlook Calendar. Another strength is because it’s simple, where it only gives out fields to enter and also reminds them if any mandatory fields are empty.

 

A weakness of my app is that the design and layout of the app is a bit… ugly. The format of the app is basic text, buttons and text fields. I was unable to do so because I was too busy on the main functionality of the robot.

Robot Petting Zoo


The robot petting zoo is the first unit of the Robotics and Coding elective. I just finished the unit by showing our robots to Grade 1 students in the robot petting zoo.

What is the most difficult part of the project for me? In my opinion, it is making and attaching the body of the robot. When I and my partner cut the cardboard, it came out with rough edges, therefore, attaching the parts is more difficult since hot glue is easy to accidentally glue in the wrong place and could break easily if we did not stick it on properly.

My robot!

What is the most fun part of the coding? I think the most enjoying part is the coding. It may seem a bit odd but the reason I think so is that when I finish the coding and run it, the robot comes to life! It moves and transforms from a still statue into a moving robot! That is why I thought it is the best part.

What did I do well? I think I did a good job of attaching the cables into the Hummingbird/brain of the robot. Even though my hands have limited space of moving in the body, I still managed to push in the wires to the respective ports and secure them so they do not go out.

What would I do differently if I did this again? If I could, I would use my time more efficiently rather than dedicating a lot of time on a single thing. We spent about 2-3 classes in just planning which is actually a lot of unnecessary time to waste.

The plan of the robot.

What did I learn about physically building a robot? I learned to not just use glue to make angles but also use L braces and several other ways in attaching cardboard or ways to make good 90-degree angles.

What did I learn in programming the robot? I learned that when you program the motor that rotates 360-degrees you use values 100 to -100 to control the speed not 1-360 to control the angle like the servo (except the servo is 180 degrees only). The entire time I thought the motor was to be controlled by the angle but apparently it is supposed to be controlled by the speed of it spinning.

A back view of the robot. The orange wire you see is the motor wires and goes through a hole to get connected to the Hummingbird.

What would I like to learn more about the robotics and/or coding? I would like to explore more with the hummingbird about the vibration motors and more advanced sensors like the sound sensor or the joystick. I think Snap wasn’t challenging enough in terms of coding, so I think I can challenge myself by trying the Arduino and its text-based coding.

What advice would I give to a student that was beginning the unit? I would recommend the student to use their time efficiently.  If you know that you aren’t that good at attaching cardboard, then focus more of your time on that. If you know you are bad at the programming part, you should focus on this first. You should allocate more time for your disadvantages. Of course, also make sure that you don’t spend too much time on a single thing. Another thing I would recommend is having to make sure your robot has a reasonable amount of functionality. Having just 1 functionality will result in your robot being boring, but having too much will result in you not finishing them on time.