Skip to content
Tarkvaraarenduse trendid 2018. aastal

Blog

Software development trends in 2018

2018 in software development is going to be extremely interesting as new technologies will take to the masses. Rapid development will however bring up questions about security and privacy. How far are we willing to go?

Rene Korss

02.02.2018

Blockchain gets the deserved attention

What’s blockchain?

In short, blockchain is a new database technology that is divided or scattered among all parties. It means that the database is synchronized in several places at the same and that further ensures correctness and preservation of data.

First blockchain was introduced in 2008 by an individual or a group of individuals known as Satoshi Nakamoto. Said blockchain was the main component of world’s first cryptocurrency Bitcoin. Using blockchain in cryptocurrency solved the problem of double spending, because there is no need for a central organisation or server.

Blockchain has come to stay and conquer many industries globally.

Security

The main advantage of blockchain technology is supposed to be that it’s more secure, but new technologies are generally hard for people to trust, and this paradox can’t really be avoided.

Vitalik Buterin, creator of Ethereum

Blockchain is secure by design. The divided structure has achieved decentralization which means that functions and power has been taken away from the central regulative institution.

Ensured security makes blockchain an ideal database technology. For example, it would be a good place to keep people’s identity and medical records. Or to build a global car registry where all the cars in the world with their data and history would be registered. Since the chain is decentralized, data can’t be altered or written over. Because every entry in the chain has equal weight and figures in every copy, it’s not only a decentralized system but a fully divided one as well. The structure of the system is described by the following figure.

blockchain distributed
Distributed, centralized and decentralized system.

Fields of use

Here are only some of the possible fields of use. But it’s such a universal solutions, its opportunities are theoretically endless.

Cryptocurrency

Cryptocurrency currencies take the concept of money, and they take it native into computers, where everything is settled with computers and doesn’t require external institutions or trusted third parties to validate things.

Naval Ravikant, AngelList CEO

At the moment the main application of blockchain is cryptocurrencies like Bitcoin, Litecoin, Ethereum etc. Ethereum is a technology that uses smart contract support in addition to blockchain.

Smart contracts

Smart contracts ensure fulfillment of the agreement by both sides without a central institution. Parties send their contract with its conditions to blockchain. As soon as one party fulfills its part, the agreed transaction is made.

As an example, it’s possible to keep copyrights in blockchain. Or music tracks, so that the author would get paid right after a track is played. Today, this system is centralized: authors get their royalties from Estonian Authors’ Society, so from a mediator not directly form radio stations. Smart contracts are extremely easy to use also for news, blog articles, videos and other digital products.

Institutions

Transferring databases like car, land, real estate, business registries to blockchain technologies would mean saving a lot of time and money for the state and its residents. Today, both sides have to go to the notary (third party) to confirm a real estate transaction, but with blockchain, equivalent transaction would be done in minutes. After the transaction is made, smart contract with new owners data is added to the blockchain and new information is synced to every copy. This way, everyone, including the state, knows who’s the owner of the property.

It could be compared to Estonian digital signature that is legally equal to a regular signature. A digitally signed contract in blockchain could be as well be equal to a contract signed at a notary.

Potential risks

Input error

Since blockchain is an invariable database, information going into it needs to be of high quality. Garbage in, garbage out principle applies: if poor quality information is put in, the output is also of poor quality.

Unavoidable security flaw

Blockchain has a recognized security flaw and taking advantage of it would make the database worthless, as it could be manipulated. This flaw is known as 51% attack or majority attack. It would mean that over half of the users online agree to send false information into the system. If 51% of users say that a certain data is correct, the false becomes true and said data will be synced to the whole system. Said problem was also highlighted by Satoshi Nakamoto when he launched bitcoin.

This is the reason the community is constantly monitoring to ensure no one unknowingly gains such network influence. In the history of mining Bitcoin, there has been a moment when a community was very close to owning the majority but they voluntarily reduced their share. All that to ensure the security and fairness of blockchain.

Artificial intelligence

ai

Artificial intelligence (AI) is a branch in computer science that deals with mimicking functions that that are associated with human minds, such as learning and problem solving. A constant debate is evolving on the topic of AI replacing humans in different work areas. Ethics, privacy and security are an accompanying discussion. AI probably won’t have as big an influence on job market as feared. And definitely not this year.

Virtual assistants

One area where AI has a major role to play is virtual assistants like Siri, Google Now and Cortana. These assistants, using AI-s fast developing abilities, will be able to help people better and in more ways than they do today.

Virtual assistants learn users practices, routine, likes etc. On the basis of this information, the virtual assistant is able to offer the user suitable information. And arising from patterns of behaviour, they are also able to offer information that would, as first sight, seem unlikely for a virtual assistant.

Through analysing purchases made online and current weather, the assistant could suggest what to wear. Or by knowing the products bought from a grocery store (possible already), it could suggest recipes to try at home. The keyword associating with AI this year is acceleration of development as the analytical capacity is developed in an insane pace. AI-s are able to make decisions based on logic, pattern recognition, deducing and experience while using vision and speech as input. And AI is making its way more and more into our everyday lives, not only in industries.

Internet of things

iot
Concept of smart home and control device. Technology device, system mobile automation, monitoring energy power, electricity efficiency, equipment temperature, remote thermostat illustration

Internet of things (IoT) is a network of things that are connected through internet and exchanging information between themselves and with the user. Things like that have been in people’s homes for years now: smartphones, refrigerators, washing machines, cars, activity monitors etc. Smart home opportunities and integration will expand as these devices have developed rapidly and offer great practical solutions.

For example, the heating system could be connected to the thermostat and home security cameras or security system. The system would know if anyone is at home, plus the outside and inside temperature. Knowing that, the system can make the decision to lower the temperature when noone is home. Identifying that someone is heading home (through car GPS, smartphone or smart watch), the temperature can be raised again. It’s a good way to save energy and money.

IoT is not just a set of a few sensors anymore. It’s now connected to AI that is able to draw conclusions from data and based on that control the IoT.

Generally, all devices connected to the network work together, making decisions based on different information and patterns. 2018 will be a year when people further discover the beauty of this system.

An excellent example of using IoT is Eliko Kalaranna SmartStreet solution that can be used to examine real time environment information and also optimizes energy usage. The system makes conclusions through sensors on traffic, jams, black ice danger and whether street noise is harmless. Street lighting level is regulated depending on the volume of people and cars. It helps save energy, as it can be seen that the system has helped save a whopping 5121€ on lighting.

PHP 7 and Laravel 5

laravel

PHP is still a popular server side programming language. Contributing to its success is developing PHP 7.x versions that has made PHP much quicker and more functional than before. Many great possibilities have been added: null coalesce operator, group use declarations, anonymous classes etc.

Making waves in the world of PHP is Lavarel framework that is, according to Github, still the most popular PHP framework. Lavarel is a very good friend of a developer, as it offers easy solutions to difficult problems, has a large community and many ready-to-use solutions that can be used in different projects. Documentation is also exemplary and easy to read.

The framework uses a common MVC structure that is immediately understood by most developers. Also, the code base is commented, clean and well structured. The flexibility and opportunities of Laravel have made it the number one choice of most developers, regardless of the size of the project.

With Laravel, my job isn’t done until even the underside is clean, and I’ve come to find enjoyment in it.

Taylor Otwell, creator of Laravel

Lavarel is updated at least every other month and that ensures that the framework is up to date. The creator of Lavarel, Taylor Otwell, is an active member of the community and listens to its opinion and that has definitely help boost Lavarel’s popularity.

BaaS

Backend as a service (BaaS) is a model where different applications (web, mobile etc) are uniformly connected to server side storage. The main communication with the service in through software development kits (SDKs) and application programming interfaces (APIs) that enable every applications’ smooth communication with databases and services that are needed for work.

BaaS has gained its popularity due to the fact that most applications demand similar resources like social media, cloud storage, push notifications etc.

Using BaaS saves time and money as developers don’t have to redevelop their own backend for every application. For example, it’s not reasonable to make separate backends for uploading a file for web and mobile applications. In accordance to BaaS both applications make a query from API that uploads the file into the correct place and answers from these results. Applications continue their work respectively. Thus, uploading logic is only written once and it means saving time even when the logic should change in some way: restrictions on the size of the file etc.

Summary

Blockchain is definitely the main subject this year and makes its way to the big picture thanks to technology portals, news and people themselves. People learn more about blockchain and different industries realize how great of a chance it gives them to win competitive advantage. Many former market leaders fall behind because they can’t implement new developments fast enough, despite having enough resources.

Web application development reaches new grounds in speed and efficiency – creating a working service is easier than ever. Freeware gains even more popularity, developers want to belong to working communities that they like. Working together achieves great results.

Topics: