Overview Link to heading
The main focus of this week was to build an application interface. I built an interface for my final project.
My application has a primary menu that separates into distinct “apps”. Some of the apps have pretty self-descriptive names such as “Jokes”, “Cat Images”, while some are a bit more abstract. For example “Time” just displays the current time and “Tarot” draws a random tarot card and explains it for you.
My application follows the following flowchart logic for navigation:
After an app is used, the user is returned back to the main menu.
App-specific information Link to heading
For the cat images app, I used 2 distinct APIS from which I extract the fact and the image separately and then I add them together. I requery the facts until I find a short one that can properly fit on the screen.
For the Tarot card reading, I had to download the images and pre-process them on my side so that they are the appropriate side. I uploaded them to my github as a fork so that I may host them easily.
For Tetris, I simply adapted my code from the embedded programming week.
Pictures of application Link to heading
Possible improvements Link to heading
The screen management is greatly unoptimized and it would be great to improve it. I decided to not speed much time on this in order to get a working prototype. Another grievance is that I currently lack the ability to connect to arbitrary wifi networks and can only connect to my hotspot.
I could also try to use more complex APIs such as receiving emails, however sending them might prove difficult due to the limited input interface.
I added the code to this part of the project under my final project tracker page as I did some small modifications and I also did not want to upload it twice.