What is sustainable development and what can software development bring to it?

As a software lab, FrostBit is not a traditional software development unit, although we have a web and mobile team in addition to the XR game team. These teams support each other in most projects in one way or another. The lab could be considered as a multidisciplinary operating environment.

Many examples of projects concerning the fields of Health, Mining or Forestry highlight the multidisciplinary actions in the lab, and one addition to this is the currently ongoing project “Towards Sustainable Tendering”. Through the implementation of a practical tool, the project seeks solutions at the level of the province of Lapland to minimize the carbon footprint of municipalities so that new ways of operating are also regionally profitable. To make this possible, a new way of thinking and procurement policy is needed among municipal decision-makers and entrepreneurs.

Ii’s municipality’s example of sustainable low-carbon procurement has even attracted the interest of foreign media, including the BBC. The municipality has invested in geothermal, solar electricity and wind power. The practices of the entire municipality starts even from a primary school level: with consumption savings, primary school children can raise money for a jointly decided purchases. Such a new way of thinking must therefore be instilled in other municipalities, decision-makers and citizens. Often, however, such a large price tag for large purchases seems to be a cost item that is difficult for the municipality to cover. At this point, we need to think about the payment period, when new jobs, tax revenues and margins from production convert large expenditures into income in the future. In addition, a sustainable society is increasingly more important for people today, and such municipalities appear to be pioneers in creating this “new image”.

The list of municipal decision-makers is not small, thus many factors must be take into consideration: choices are made in areas such as energy production, heating solutions, central kitchens operations and the food industry, sustainable construction and logistics solutions, which mentioned are the largest sources of carbon emissions in municipalities. Many projects in Lapland and throughout Finland aim to improve some of these areas, and many different partners with their needs and results are contributing to these projects. This leads to the question of how all these areas and the results of the projects can be used by the decision-makers in their development towards the goals that are also regulated by the EU goals?

The project Towards Sustainable Tendering aims to provide a tool for scalable demonstration of the impact of procurement from small businesses to provincial decision-makers. In order for the tool to work, considerable work has been invested in its design and even internationally recognized mathematicians are included in the project. In addition to retrieving background material for the tool, collaborators from various fields have been acquired from e.g. in energy, construction, transport optimization and local food-focused projects. The tool also needs a lot of users, which at times is challenging to approach from the point of view of entrepreneurs because of the Coronavirus-pandemic. Therefore, there is a strong focus on the communication and marketing actions about the project, which is established through many different channels. Thus, in addition to technological know-how, the implementation of the tool itself requires expertise, e.g. from an economic, agrological and energy point of view, and the successful outcome of the project provides a tool that can be taken to other parts of Finland and to the international level, where Lapland University of Applied Sciences is strongly increasing its project actions and gaining a variety of partners. The goals of Lapland University of Applied Sciences and the Lapland Association on the development of the Arctic region and green solutions are the driving force behind the project and the strong desire of the municipality of Kemijärvi to raise the profile of Eastern Lapland and the whole province.

The project’s website contains more detailed information about the project and upcoming events in the event section, as well as a project webinar that explains the issue in more detail.

Written by Mika Uitto| 14/09/2020

Machine and deep learning – a tech trend or a tool of the future?

Everyone who is familiar with software technology trends within past few years has surely met with the concepts of machine and deep learning as well as artificial intelligence, whether in articles or other contexts. It seems nowadays these terms are also widely used even while marketing different software solutions.

The FrostBit Software Laboratory has also studied some of the ways of machine and deep learning in recent times. Our laboratory is especially interested in the wide array of possibilities of these new technologies; what are the software features they allow us to create more easily which are either extremely difficult or even outright impossible to engineer?

From the technological point of view, most machine learning related applications are created by using the Python language. The reason for this is the fact, that Python offers a stunning selection of different tools and libraries that are especially crafted for machine learning applications and cases.

The basic concept of machine learning is the following: We provide our machine learning application the data, which is used to create desired predictions for new data. The data will be split into two parts: the training data and the testing data. The training data is used to teach the machine learning algorithm to understand all the features of the data as well as the complex correlations that lie within. The test data is used later on to make sure the algorithm is capable of creating predictions within the limits of acceptable error margins.

Machine learning can be utilized in many applications. Some traditional use cases:

  • supporting decision-making based on earlier decisions
  • determining the market value based on sales history (e.g. real estate prices)
  • natural language processing (e.g. spam e-mail detection)
  • finding complex correlations in given data (e.g. what are the features of a typical web store customer during a certain ad campaign)
  • recommender systems (e.g.  web store product recommendation features)
  • data classification (e.g.. determining whether a tumor is benign or malign based on earlier measurements)
  • etc.

Deep learning is a subcategory of machine learning. The basic difference between the two concepts lie within the way they strive to create predictions based on the given data. While the traditional machine learning algorithms aim to create their predictions based on a single operation, deep learning algorithms utilize so-called neural networks while creating predictions. Neural networks are collections of layers and nodes, through which the training data is processed for the learning model. The finalized learning model will be used to create predictions when given new data. Since the training phase is distributed among multiple layers and nodes, it will create a certain amount of natural chaos or humanity in the data processing phase.

Because of this, the deep learning process is a much more organic way to create new predictions when compared to traditional machine learning methods. The organic feature of deep learning also means, that it is virtually impossible to get the same exact results every time, even while using the exact same data and chosen algorithm in the training phase.

The possibilities of machine and deep learning are amazing, but as often in trending technologies, the realistic use cases are often forgotten. Too often there are discussions, where machine and deep learning are regarded as all-solving silver bullets, which can solve any given IT problem easily. The truth, however, is much more closer to the concept, that machine and deep learning are actually just extremely demanding tools, that potentially can provide useful information for challenging problems. How well machine and deep learning algorithms work in practice, is always dependant on the context and especially on the fact, how much time and willpower the software developers and context experts can possibly provide.

The quality of the training data also plays a significant role in machine learning. If there is not enough data or it is not versatile or relevant enough, the predictions based on the data are most likely not usable.  Machine and deep learning require a lot of time and effort, and it also resembles both statistics and quantitative research analysis at the same time. From the software developer’s point of view, the challenge is to find the correct analysis method for the correct problem, while the data is processed in the correct way.

Machine learning also requires the developer to spend a great deal of time to explore the data and create personal decisions, which features of the data are relevant and which are not. All irrelevant data will undermine the precision of the machine learning application predictions. As an additional challenge, machine learning contains a vast amount of theory, that has to be utilized while developing a machine learning application. However, the actual programming phase is not that difficult in machine learning applications. Instead, deciding which methods to use and in which way is the actual challenge. Because of this, the machine learning application software developers always need to be accompanied with experts of the context of the data as well as experts on different research and analysis methods.

We are eager to work more with all these technologies in future projects!

Written by Tuomas Valtanen 14/08/2020