Our very first meeting was at Valve on a Friday afternoon. We got a large office room in our use, where we got to know each other and the upcoming project. Everyone had amazing ideas, and some of them were already put together.
Our meeting lasted for about three hours, and during that time we for example thought about the working tasks and that who is going to do what during the project. Some things that we came up with for example were that we wouldn’t use too bright colours and the colours would be considered that also colour-blind people can see them. We also thought that it would be awesome to have a seal as our mascot. Also an idea of some kind of point counting calculator with the climate actions came up, and that became the main thing, and the whole app started to get build around that.
Our visit on Saturday at the University of Oulu was a lecture-kind of information set about programming. Teacher-Matti from OAMK was guiding us. The day lasted from 11am to 3pm and during that time we got lots of new information with the help of the professionals and by ourselves.
A programming project includes lots of different steps which are for making sure that the outcome is the best possible, tempting and easy usable. First one of the steps is the requirement definition, where the wanted requirements for the outcome will be defined. Something important is also the planning, which contains everything important from the wanted working principles to the looks of the app. During the implementation part we will program our climate calculator technically to use and after that we will make sure that everything works. After this the app will be ready to use.
A good programming project includes goals, recourses and a good schedule. A project can be either good, fast or cheap, and you can choose only two of those. During the project you need to keep in mind the realistic goals and follow the schedule, plan the work well and take care of the work division and that everyone knows what they are supposed to do at times.
The app is supposed to be as easy as possible to use and understand. It is also not supposed to use too much battery of the device. The results of the calculator should be performed in as easy understandable form as possible, and they can for example be presented in a way where it’s easy to compare it to something well known. The easy usable way means usability.
We learned that while programming our app we need to take a notice in its accessibility. The app is supposed to be in reach also for people with for example problems in their vision or hearing, or with colorblindness. Our goal is that every highschooler is able to use our app happily also with different disabilities.
It is also important to take in note the user group of our app. It will mainly be designed for highschoolers, and this needs to be visible in the work progress from the start to the finally ready app. It should also be taken in consideration that not every teenager is interested in any climate act, so the user experience has to be as entertaining that it makes people want to use it.
Today’s work meeting was held from home via Teams. Our meeting lasted for two hours and during that time we planned the backgrounds of the app a little bit more. We thought those things in small group by doing presentations. We learned for example about personality, contest analysis and already the climate acts itself.
The app’s personality means what the assumed app user is like. Our assumed personality is about seventeen years old highschooler, who wants to do small and low-key climate acts. We want to make sure that every user of our app will find fun alternatives with different investments.
While examining the contest analysis we searched different climate calculators and apps online. Turns out that most of the apps use green as their main colour which is great for the climate theme. Green is also a pleasant colour for your eyes, but you should be careful with the different shades and the whole colour as people with colorblindness usually have problems with seeing that colour properly. Many of the calculators also reported the results in an unclear form or they were too chart-like, so in our own app we should make sure that the results come out in an easy and pleasant form that everyone can understand easily.
We also discussed a little about the climate acts even though we didn’t decide anything yet. The ideas will for sure be talked a lot all through the project. Good ways that came up were for example using your own feet or a bike instead a motorized transportation, starting to recycle and maybe add more plant-based food alternatives to your diet.
Today in Teams Matti from OAMK held us a distance workshop, where we thought about the user story and prototype for the app, for example. The user story means description about the imagined user of the app, which presents the users different sections and reacts to the app or product’s different parts. Prototype then is a bit like the first, smaller version of the final app. It’s purpose in the beginning of the project is to give important advices and views of even the most simple and smallest things.
Via Teams we prioritized the wanted features and refined the climate acts we wanted our app to include, before we started working with the OAMK students.
To these climate actions we will get the calculation formulas from D-mat company as an excel chart.
Today we had the kickoff in Teams where we gathered together with all people from our cooperation for the first time. We introduced ourselves and our ideas and during for about one hour. We talked about our plans for the future working. D-mat is going to do the calculation formulas and the students of OAMK will help us with the graphic design. We will send them a draft of the prototype of our app and based on this they will give us examples of the graphics.
There have been shortish meetings every week about many different things for part of the team or each and every one. The students of OAMK and the team of D-mat have been on meetings with us on the calculation formulas. During those meetings there have been for example discussion about programming and the graphics. Max and Jaakko from our team coded the front page and the menu of the app.
The app was supposed to be ready before 17th of December, but the delay of the calculation formulas delayed the whole programming project. The programming will be full on our team now that the course of the students of OAMK ended. Fortunately our Max and Jaakko are excellent coders and they will code the whole app ready in two. The new estimated final date was set to 14th of February, Valentine’s Day 2021.
The monumental task of coding the app has ended. In total the process has taken about 4 months, but for the majority of that we were not actively coding. For the last two weeks the both of us have been coding nearly daily, which was difficult, because our school had an exam week during that time, which made it difficult to allocate time to programming. We did manage to finish all the mandatory features for the app way before the deadline. Thanks to that we had time to add some bells and whistles to the app.
The programming itself was done in a JavaScript framework called Ionic. JavaScript’s intended use is that of a web programming language, but Ionic allowed us to use it build a phone app. In the beginning we only had a basic grasp of web programming, so the usage of modern toolsets proved difficult. But thanks to online guides and our own programming background, by the end we had a good understanding of the development environment.
Communication was crucial during the programming phase. It was important that the both of us didn’t start working on the same file or feature. We often held long videocalls, where we would decide on our course for the next couple of days. It was useful that we could easily message each other. Especially when we had a quick question relating to the design of the app or if we found a new bug inside of code that the other had built.
When our partnership with OAMK ended, they left us with a large amount of scattered and hard-to-read code. It was up to us to organize all that code into a complete and effective package. In the end we are proud of the end product and are beginning the process of getting it on distribution platforms.
At some point during the programming phase, we had come to the conclusion that the app would be released after the competition deadline. Plans suddenly changed in the last moments. Jaakko began work on publishing the app to the Play Store a mere day before the deadline.
Before the project could be uploaded to the Play Store it had to be ported to Android. A couple tools were needed. Using Capacitor the Ionic project was built and moved to Android Studio, where it could be run as a mobile application for the first time using an Android emulator.
Using Android Studio the .apk file was signed and uploaded to Google Play Console, where it would soon be uploaded to the Play Store after some problem solving. Completing all the steps took nearly the entire day. Luckily the job was done before the deadline.
Before the app receives its own store page and becomes publically available it has to go through a verification process by Google, which will presumably take several days. The app available to download "Lukiolaisten ilmastolaskuri".