Skills.hr, a new product powered by Liveview

Liveview, developer happiness = 99.99%, JS nightmares = 0%

After several months of development I am happy to tell you about our new product Skills.hr.

Before going into technical details, a few words about the product.

Skills.hr is an exchange platform that allows companies and training organizations to communicate and share documents.

A platform powered by liveview

At the beginning of development we decided to experiment with new technologies in the Elixir universe, especially Liveview.

What is Liveview?

Liveview enables a rich user experience in real time via server-side generated HTML.

More precisely, during the initial loading of your page a Websocket is established between your browser and the server. When a user action occurs, where in a more traditional model a new HTTP request is initiated, here a message is sent on the Websocket previously established. This is then managed by a Liveview which will send a message to the client with the change to be made in the DOM of his browser.

An improved developer experience for quality

Historically, to enable this kind of real-time experience to your users, only one solution existed, JavaScript.

Javascript, we love it as much as we hate it, we also laugh about it: many memes are circulating on social networks to make fun of this language.

A reputation that is half deserved since the language has been able to evolve, especially through the latest updates (ES6, ES7...) that we learn to appreciate when they are adopted by modern browsers.

Far be it from me to fuel this endless debate. Although it's hard to resist the temptation of a meme from time to time.

It remains that today for a fullstack developer the languages to master are numerous. You will need to master at least one server language, then a language to communicate with your database (typically SQL), and of course HTML / CSS / JavaScript.

What Liveview offers a development team is the ability to remove a language almost entirely from their toolkit. This means a reduction in the duplication of logic that often occurs when using Javascript and therefore a reduction in the cost of context switching for the developer.

Liveview allows you to build most of your features using only one dynamic language.

After more than a year of development we have accumulated only 400 lines of Javascript and it is unlikely that this will increase significantly with the development of new features.

A small team? No problem!

For this project, we are only two developers, one of them having already an experience with Liveview. For my part, I had never had the opportunity to use this technology, however it took me only a few weeks to write a Liveview became an automatic.

We have noticed a significant decrease in development time for the same amount of functionality. Indeed, in my opinion, with an advanced Javascript interaction, one can be tempted to cut back on the details, thinking that one can always improve it later.

The simplicity of Liview makes it more user-friendly and therefore reduces the perceived development time. This encourages the developer to focus on the details. I insist here on the notion of perceived time, because in the context of Javascript, the cognitive cost of changing language tends to increase my estimate of time.

Do you have the same feeling? Don't hesitate to answer me in comments!

In conclusion, the experience convinced us that we made the right choice for Skills.hr.

Today, beyond Skills.hr we are even thinking about introducing Liveview in our historical product Digiforma.

We look forward to accumulating more experience and feedback through our new product Skills.hrwhich we will not hesitate to share with you on this blog.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.