Behind the scenes

Team Isotopes: The speed demons of engineering

Dominik Bärlocher
7.5.2018
Translation: machine translated
Pictures: Thomas Kunz

When it comes to raw speed, the Isotopes engineering team operates in a field of tension between man, machine and the future. They provide an insight into their work.

Damian Frizzi sits on the sun-warmed concrete blocks in front of the digitec offices. Sunglasses, grey T-shirt. He seems relaxed, speaks slowly, jokes from time to time and digresses from the topic. His topic is milliseconds, technology and a bit of oracy.

The Isotopes are currently working on a mammoth project: they want to reorganise the entire shop.

A look back in history: How shops worked in the old days

Too slow for the user and far too slow for the isotopes.

This so-called server-side rendering was the best way to implement websites for a long time, as JavaScript was not yet as advanced as it is today. At the beginning of Web 2.0, however, JavaScript, whose purpose is to enhance the dynamics of websites, did not enable much more than image slideshows or date picker widgets.

As the years went by, the development of ever more powerful websites and visualisations pushed the traditional web to its limits. Today, customers expect fully featured application platforms. With fast JavaScript runtimes and HTML5 standards that display rich applications. In other words: everything you are used to from the internet. Because JavaScript and HTML5 are no longer a luxury, but the basics.

"That was the moment when developers changed their focus," says Damian. More and more computing power moved from the server to the client, i.e. to your computer. So-called single-page applications with client-side rendering enable direct interaction with the website without a diversion via the server.

Damian starts to explain: "Single-page applications are applications that are based on a minimal HTML structure and reload data - customised to the user and their environment - asynchronously in the browser."

Initial performance is also critical. As the entire Document Object Model (DOM), the architecture of a site, is built on the client, it takes a certain amount of time for the data to be requested, processed and rendered on the server.

"This can lead to long loading times, especially for clients with low computing power, old smartphones for example, or with a poor internet connection," says Damian.

This results in almost endless loading animations when the page is first loaded.

The isotopic path

The isotopes operate in this area of tension between user requirements - i.e. your requirements - and those of the technology. In addition: Google. The search engine giant naturally also has a say, whether it suits the Isotopes or not.

The Isotopes have sat down and experimented with universally renderable applications. In other words, whether human or crawler, the page makes sense and can be read, categorised and evaluated by a machine. To do this, the display logic must work perfectly on both a server and a client. That has its advantages.

"Not only do we save ourselves the additional work involved in developing for one environment, but we can also specifically control which content should be loaded and when," explains Damian.

To achieve this goal, two major problems need to be solved:

  1. Isomorphic Universal Frontend: Isotopes must build a frontend that can be processed and rendered by both a server and a browser and deployed to the cloud as an independent unit
  2. Data reload: You must be able to consume, temporarily persist and display data in the frontend from any independent interface

After experimenting and defining the requirements, wishes and limits, the team led by Damian Frizzi got down to business. Time to reinvent a web shop.

Universal front end

The Isotopes jump into the fray. The rendering engine is quickly determined: React, developed by Facebook. Both Facebook and Instagram use the JavaScript library and perform very well there. React, sometimes also called React.JS or ReactJS, supports rendering on the client and server side, has a large community behind it and is widely accepted by both humans and machines. It solves exactly one problem: rendering and therefore interaction with the DOM.

"Last but not least, React is very efficient. With a virtual DOM and targeted patches."

React is joined by Node.js on the server side. That makes sense, says Damian. This allows Isotopes to programme in JavaScript and benefit from existing expertise.

Data reload

APIs, i.e. programme interfaces, are the key to success when reloading data. The isotopes around Damian first have to catch up with the present here.

"We are currently converting all interfaces to web APIs," he says. He can barely suppress a sigh. Because the changeover is not easy. There are a large number of interfaces that need to be requested by the client. To prevent every user from having to send a huge number of requests to the digitec backend servers, we decided in favour of a GraphQL layer between the frontend and backend.

Speed. The isotopes are looking for them.

Damian summarises the core of digitec's current technology stack:

  1. JavaScript (ES2015, ES2016)
  2. Node.js
  3. React
  4. Next.js
  5. GraphQL
  6. Apollo
  7. Enzyme
  8. Jest
  9. Docker
  10. Azure
  11. Kubernetes
  12. ASP.NET Web API

This results in a prototype, which is where things get exciting.

A look at the prototype

"Confused? No problem. Take a look at this prototype," says Damian. The improved performance will only become apparent when it is seen.

Damian is proud: "And that's exactly what the isotopes do."

The result of the prototype will go online soon.

Apropos: Team Isotopes wants to let you know that our engineering team is looking for reinforcements. If you want to get involved, please take a look at the following open positions:

In addition, there are other engineering positions here.

If you would like to find out more about how we develop, then take a look here.

49 people like this article


User Avatar
User Avatar

Journalist. Author. Hacker. A storyteller searching for boundaries, secrets and taboos – putting the world to paper. Not because I can but because I can’t not.


Computing
Follow topics and stay updated on your areas of interest

Tech
Follow topics and stay updated on your areas of interest

Behind the scenes

News about features in our shop, information from marketing and logistics, and much more.

Show all