Building the Candy Factory

Screenshot of Level 1While it has been very tedious and detailed work, I’m enjoying building my Candy Factory app. It requires creating and keeping track of many variables. I’ve gotten hung up a few times when I didn’t have the code ordered correctly. Verifying answers requires several nested If and IfElse statements that I’ve had to tinker with to get to work the way I want. Overall, I’m pleased with my progress. When I’ve run into a snag, I’ve been able to read the code and find the error in a fairly short amount of time.

I have 3 levels of the game working. The screenshot to the right shows the program in one of my testing modes. The table is for level 1. The answer boxes are for level 2. It took a bit of testing to make sure the variables for the two different levels were working correctly. I kept the “Cartons” answer box visible for a while to make sure nothing was happening with it during Level 1.

I was going to have the user progress through all three levels of the game in one sitting, moving up a level after getting 5 problems correct. I’m thinking I’ll change that. I can let the user choose the level he/she wants to work at and progress up when they feel they are ready for the challenge. I just need to figure out a way to show a user’s progress/score after each attempt.

I’m disappointed with the look of the screens in my program. I found the perfect image to reinforce the groupings of 10 candies, but it shows up a little blah on the screen. It also takes up way too much room. I’d also like a background that gives the feel of a factory. (Oh! I need to look for a factory sound, like a whirring machine or the end-of-the-day whistle.) I wish I was a graphic artist so I could create the exact image I want.

Tomorrow I hope to show my current version to my co-workers for some constructive feedback. Once every couple of weeks we review iPad apps. I’m going to ask them to review my app as harshly as we have reviewed others. I’m sure I’ll come away with a long list of things I’ll want to fix/change.

Enhanced by Zemanta

App Development Proposal

The final project for EdTech597 is to develop an app of my own choosing. In my previous class (EdTech 532 Games and Simulations) I designed a very large math game that teaches math in the context of internship scenarios. At the beginning of the game, students take and interest inventory. The results are used to place students in fictitious businesses. Their math abilities are assessed in the background, always within the context of their internships. Students learn the math they do not know through the activities and tasks they are assigned to at each company.

The internship game will take a lot of time and resources to develop. The app I am developing for EdTech597 will take me one step closer. The app is one activity within one internship scenario. Students work in a candy factory where candies are sold individually, in trays of 10, and in cartons that hold 10 trays. Working with numbers in this way gives students a context for regrouping. Every 10 candies can fill a tray. Every 10 trays can fill a carton. Cartons and trays can be “regrouped” as needed based on a company’s order.

This week’s assignment was to create an App Development Proposal. I got a little lost in the process because I didn’t have a good understanding of the steps required for this project. I wish we could have had one face-to-face meeting as a class where we could get an overview of the project, ask questions, share ideas, get clarification, etc.

In the process of developing my proposal, I created some of the user interface and see that I have many moving parts that could easily get lost. I will have to be very organized as I create the code blocks or I could easily miss a part that would cause the program to fail. I hope I will able to complete what I have set out to do.

Geometry Quiz

This week’s assignment involved creating a quiz using a different image for each quiz question. I thought this was a great opportunity to create a geometry quiz using everyday images. Most geometric images in nature are fairly complex, so the hardest part of creating this app was to find images (that allowed for sharing under a Creative Commons license) and showed simple geometric characteristics.

After finding the images, the programming itself was fairly simple. The most fiddly part was creating a photo credit page. One area where App Inventor is lacking is the ability to customize text on the screen. I had originally chose to use a default font and used spaces to separate the text below each photo. Then I realized that this would probably look very different depending on the device this application is used on. So then I set the font to a monospace font and defined the space between by pixel width. This still may show up differently, depending on your device, but I think there’s less chance in significant shifting of text.

I think there is a way to define a table, which would be perfect for this situation, but I haven’t found information on it yet. I’ll have to do some browsing around the net to see what I can find when I need to do this again.

Enhanced by Zemanta
To try this app on your Android device, use this QR Code.
QR Code

Project-Based Learning

During this course on developing apps, I’m learning more than app development. I’m discovering what makes learning more interesting for me. While my findings may not work for everyone, I find it interesting that my findings confirm some of the most recent trends in education.

Two weeks ago I found I was more motivated to dig deeper and challenge myself when the app I created was related to a topic I’m interested in–math education. It was easy enough to make a connection from the prescribed project and Number Bug. By personalizing the assignment, I became invested in developing an app I could be proud of.

Last week I was disengaged because the assigned app required a “prescription” and the app wasn’t something I found interesting. Even though I choose a topic I found interesting, Natural Wonders of the World, I couldn’t find an engagement point. As a teacher using project-based learning, I would provide one-on-one guidance for my students. Knowing the options available in App Inventor, I would use leading questions to help my students discover an engagement point that would turn on interest and motivation. After my experiences, I know that this is an element that will make all the difference to a student’s learning.

An example of container for geocaching game, C...

An example of container for geocaching game, Czech Republic. (Photo credit: Wikipedia)

This week, I was able to find that engagement point for myself. I have always been interested in geocaching and know that there are many geocache sites in my area. I searched the web and discovered a Cape Cod Towns geocache list–a list of 14 towns and the location of a geocache in each town. Using Google maps, I could put in the latitude and longitude for each location and write a clue for my app users to attempt to follow. For users who find my clues too cryptic or don’t have luck following them, the app will provide directions from their current location.

I had a similar experience as two weeks ago in that I dug in, searched the web, asked questions, and solve problems I wouldn’t have had if I had stuck with the basic assignment. I pushed myself to combine things I had learned in previous weeks. In addition to learning more, I have more pride in my work when I push myself.

If you’d like to take up the Cape Cod Towns geocache hunt, download my app using the QR Code below. Have fun! Let me know about your adventure and if the clues were helpful.

 

 

 

Related articles

Enhanced by Zemanta

Following a Recipe

There’s nothing like trying to follow a recipe that calls for ingredients that are no longer available. My experience with this week’s app was a little like that. The app involves using Google Maps to create a virtual tour. My app tours some of the natural wonders of the world. Very little of this app is controlled by me. The text instructed me to use a specific code, I did and, viola!

I wanted to customize it more beyond the look and changing the locations for the tour, but the options for customization either didn’t work or were no longer available. For example, I wanted to provide a street-view image of the Grand Canyon. When I followed the directions, I found that my tablet would not open up the image. I just got a black screen. I am sure Google Maps has been updated since the text was written and my tablet has it’s own way of dealing with Google Maps, so the code no longer functions as described.

When I first experienced this I thought, no problem, I’ll just take the text’s suggestion and go to mapki.com to learn more about Google Map protocols. mapki.com website doesn't existAs you can see, I struck out there, too.

I’m sure I could do some more searching on the web to find out more about how to get Google Maps to show what I want to show, but I am not really interested in using Google Maps. I’ve done enough to satisfy the requirements of this app. I’ll do the search and discovery when I find a need for Google Maps. By that time, I’m willing to bet the coding requirements will have changed…again.

If you are interested is seeing a birds-eye view of some of the natural wonders of the world, download my app using this QR Code. Depending on the version of Google Maps on your device, you may be able to choose Streetview and explore the areas.

QR Code

Enhanced by Zemanta

Learning Improves When Content is Personalized

This week provided proof that, at least for me, I am more motivated and struggle less when a lesson is personalized. This week’s app was a game involving a ladybug eating aphids and avoiding being eaten by a frog. My career is in creating math educational materials, so I changed the app to make it a game for PreK-K students learning the numerals 0-9 and their matching number words.

There were several challenges in creating this app. I had to search and find information on a few coding issues (e.g. lists and while) that hadn’t yet been discussed or used in previous apps. In the process, I discovered a bug in App Inventor that makes the tilt functionality work in a opposite way in Android OS 2 than in versions 3 and 4.

After several unsuccessful attempts at getting the initial instruction screen to show up first, I was about to throw in the towel when a helpful friend pointed out that I had used a capital letter in one place but not in another. This actually helped me feel more confident in my ability to get the code right. I just need to be more careful with the details.

In previous weeks, I have not put in this much time in developing the apps. I have been more frustrated over issues that were minor in comparison to what I was up against this week. I was more interested in puzzling out the problems I faced because the app felt more meaningful to me.

If I had waited until this weekend to begin work on the app, I would have never accomplished as much. I needed the whole week to mull over possible solutions, test little bits at a time, and go away to think about alternate solutions.

Creating apps using App Inventor takes time, but it is time well worth it when you are creating something you are interested in.

Please try this app yourself. I’d love to know how it works for you. If your device runs on Android 2, the right/left tilt may work in reverse. Use this QR Code to download the app.

QR Code

Enhanced by Zemanta

Coding Blind

Notice: This post follows the progression of my development. To get the most up-to-date version of the app I developed, use the very last QR Code. You’re welcome to get the earlier versions, too, if you’d like to see how the app progressed.

This week’s assignment was to create an app that sends an autoreply to all incoming text messages. The outgoing message can be customized and includes your current location using the Location Sensor in the phone. In addition, the app reads the incoming text.

I am using an Android tablet, so I have no way of testing the app other than by using an emulator. The emulator seemed to work, but I don’t trust it as it stopped working at one point. If you would like to try it, use the QR code to download it to your Android phone. Let me know how it works for you.

Both last week and this week, I’ve challenged myself to create the coding for my app before looking at the code provided in the lesson. I’m feeling more confident in my ability to create code based on a description. I’m not yet ready to create the code without it being explained.

In this week’s app, I don’t quite understand the code used to initialize the screen so that it shows the outgoing message the user entered the last time the app was used. I understand why this is needed and what it does. I think it is just understanding some of the language, particularly “global”.

Even though I am challenged by something each week, I am feeling more and more confident and enjoy pushing past the requirements of the lesson to try something else. This week I tried to create an option to turn off the Location Sensor. When I tried to test it, the emulator stopped working. I’m not sure if it was due to my code or some other issue. I’m going to try testing it at another time. If I can get it to work, I’ll post it here.

 

 

 

 

 

 

 

Update–Later the same day

I was able to get the emulator working so I could test the feature to turn off the Location Sensor. I was doubting my understanding of “global” when really it was just the emulator that wasn’t working. My code is working as I expected it to. Use the QR Code below to get the version that allows you to turn off the Location Sensor.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Final Update (for now) — The next day, after a good night’s sleep 😉

I wasn’t quite happy with my final product. I had wanted the user to be able to toggle on/off grid. This would make it so the user could eliminate the location information from the outgoing message for a time but turn it back on later. After reading more about how App Inventor works and sleeping on it, I was finally able to create this toggle. The updated version is available using this third QR code. Enjoy!