After having the basics of the server set up, I decided to switch routes and go with a suggestion Perry had last year when my culminating was making an Android app, which was to make an Android app for GHSS. With what I learned about Android last year and what I learned about servers this year, I figured that this project would be possible for me to do now.
I started off with some basic pencil drawings of the layout of the app, planning where everything will go and what it will have, and so far I've stuck to the layout plan quite closely. After I had a good plan down, I started asking other students for feedback - if they would use it, and what they want in it, and through that I was able to get a few more ideas and suggestions.
The app so far has 4 sections - Home (News), Cafe, Extracurricular, and Health Clinic. Each section has text boxes and web views which retrieve text from a server. The text in each of them are changed easily and quickly from a set of forms on webpages on the server, that can be filled out and saved and instantly retrievable by the app.
Skills Used/Learned - I had to use my programming, graphic design, and networking/server set up skills to set up the server and the app. During this, I learned a huge amount more about how networks and servers work, how to program web pages using PHP and HTML, and improved my knowledge on Android app programming.
I've had quite a few problems I've run into during this project, one of the first and biggest ones being a problem where the app sometimes couldn't retrieve info from my server while on the school's WiFi. The issue was where I would start the app on the WiFi, and every time it would either fail to get info, get the info but somehow get outdated info that doesn't exist on my server anymore, or get the proper up to date info.
After a while of thinking, I came to the conclusion that the WiFi was giving me a cached (old, saved) version of my info, since my phone is on the "guest network" because it is not a school device, and therefore I only get the 'extra'/unused bandwidth from the school's connection, and then during times when school devices were heavily using the network, there was no bandwidth remaining so I'd receive a cached version instead. I figured my only solution to this was to have the app's server in the school somewhere, so the app could recognize when it's on the school's network and connect to the server locally instead of over the internet.
Some improvements I plan on making are:
- Having the app know all the order of periods for each day for the year
- Implementing a snow day alerter/checker
- Making a version for Apple devices
The app is still in development and still has a bit to go, but if anyone with an Android device would like to test this app and give feedback and problem/bug reports I can give invites that allow you to download the Alpha version from the Google Play Store.

No comments:
Post a Comment