ITP Final Project – AppInventor

For our final project, our assignment was to create an app/website/program that could benefit students, using design thinking, what we learned about code throughout the semester, and our own research.

I worked with Varun to plan out an app that would allow students to input their own assignments, allocate their desired time to work on the assignment, and set a due date for it. We decided to use App Inventor to do this, mainly because we were both unfamiliar with coding for an app on Python, but also because we didn’t use App Inventor during the semester and we wanted to try something new.

First, we brainstormed questions for our initial questionnaire about problems within HKIS. The idea was to get feedback from both teachers and students to better empathize with them, so we could decide what type of app would be best suited for their needs. Below are some questions that Varun and I came up with:

Here are the responses to the questionnaire. Unfortunately, some of the responses were not as helpful as we would have liked them to be, but we did notice that multiple answers determining stress as a problem. Not only that, but the topic of stress being a major issue within our school community has been brought up many times, in and out of class. Because of this, Varun and I decided to focus on handling stress and time management as our theme for building our app.

We sent out another questionnaire, this time centred around stress and directed at students. In it were questions about how students noted down their homework, how much stress they felt from school, how long they spent on homework, and most importantly, whether or not they thought an app with customizable assignments and time allocation would be helpful to them. We also asked for suggestions and comments to better suit the app to their needs.

Here are the complete responses.

After receiving the responses, Varun and I brainstormed some ideas (we initially didn’t know whether to make an app, a website or both), then came up with our design thinking sentence. We also made a pseudocode and a flowchart for the app (again, this was the initial setup – we quickly figured out that our idea was a little too ambitious, so there were a bunch of changes made).


After the planning stages, Varun and I started working separately in building the app. Here is our testing document, although honestly, it wasn’t very helpful to me since the problems I had with my code were more like multiple bugs joined together to form a superbug rather than small issues that could be fixed separately.

Some links that I found helpful are listed below:

Lists, list blocks, and their functions

Key concepts in App Inventor

Coloured Dots – reference code

List Sorting – reference code

Currently, my emulator isn’t working, so I can’t test my code (and I can’t tell whether it actually works or not, but we’ll get to that). Below are some screenshots of my current progress:

If this doesn’t work, I will cry.
I can’t test these so I don’t know if they work. I hope they do.

I’m still quite unfamiliar with App Inventor, so I’ll be working on that. Cheers.

Update: 11 Dec 2017

It’s 11:24 right now, and I’m so sorry but my brain is kinda fried because I’ve been working for days straight on various summatives. Apologies if this update’s a little scrambled.

So I actually revamped the whole thing, because sharing data across multiple screens was just too much of a pain to deal with. Now, there’s one page, with the assignments on top and the add assignment function at the bottom.

First off, more useful sites that were a godsend:

Basic procedures and calling procedures

Working with Databases

My emulator’s up and running now, so I get to test my code (yay!), and the good news is, I can add things to the assignment list and have them be displayed in the list viewer. The bad news is that I can’t get it to sort by chronological order (which was the plan for the revamp). I also have no idea whether or not the data stores persistently, as in whether or not the data is saved and stored in the device even after I close the app.

Besides that, I also made the list viewer scrollable, so when the assignments fill up the page, it doesn’t push the add assignment function out of the screen frame. The text boxes for the assignment name and the time allocated also clear out automatically when the “confirm” button is clicked. Right now, I’m still working on a) getting the list to sort itself in chronological order, and b) storing the data persistently (although I suppose I might need an actual Android device to test that. Maybe my relatives would be willing to play guinea pig).

Now it looks like this.

I’ve also updated my testing document, not that it makes all that much of a difference in such a time crunch, but it does help keep things at least minimally organized. Below are chunks of my updated code:

First half of the “confirm” button.
And the second half. It’s a lot of code for a measly button.

Link to my app. Not too sure if the link works, but I’ll be doing an in-class presentation anyway, so eh.

Ok, that’s it I’m going to sleep. I’ll work on it some other time, maybe during Christmas break if I have time.


Leave a Reply