View JS in a different way: meet Vue

A couple of years ago, it was pretty standard to refresh the page every time our users performed an action: saving a form, applying a filter to a search, etc. Making the site reactive and allowing our users to perform these actions without refreshing ...

LiveView: Soft real-time interactive application without using Javascript

LiveView is an Elixir/Phoenix library. It enables us to implement interactive applications without using javascript beyond the bare minimum. In this post, I will try to illustrate how it works, by showing a use case where I successfully applied it. I propose the following ...

CSS Grid: The Ultimate Layout Tool

CSS grid technology represents a completely new way of thinking web layouts, a way in which you are in full control of the presentation. No more weird HTML nesting and non-semantic elements here and there to assist our layouts. Unlike any other tool available ...

How to Create a Custom Layout with Panelizer in Drupal 7

While working with Drupal, sometimes we need to customize an entire entity type of the site, like a page or blog post, or even modify some specific nodes of the entity. If you are in the situation of needing a custom content or to ...

Guide to Multilingual sites with Drupal 8

We are currently living in a globalized world. Thanks to the internet, the days when companies and businesses had to think in only one specific community as their marketing target have been left behind. Now, through your website, you may reach clients everywhere in ...

CMS vs Custom Website Development

This is a very common question when starting a new web project: Should I pick a CMS (Content Management System)? Or should I implement a custom web application? And this is a fair question for a technical or non-technical person because each option has ...

Guidelines for UX Mobile Design

Interface Design is a career that involves not only knowledge on visual aesthetics but usability principles to make effective the using of your app for your users. Your mobile app must be useful and intuitive, two concepts that play a huge role in the ...

Store Django static assets with Amazon S3

For some projects we serve a lot of images, videos, and documents. This can overload your site and make it slower because it is requesting too many resources and processes at the same time. Due to this situation, it is a good practice to ...

Improve WordPress UX With Custom Gutenberg Blocks

Last year, on December 6th, Wordpress 5.0 released a huge upgrade to the content editor UI, the Gutenberg Block Editor came to enhance the Wordpress experience with an extensible drag & drop content designer interface based on React. However this kind of editors are ...

Be a developer and don’t die trying: What I have learned after four years working as one

Last monday was my fourth anniversary working at Swapps as a software developer. It was also my four years anniversary working as a software developer at all. Before working here at Swapps, I had some minor works on my university but none related to ...

Go beyond with automation: ansible-runner

Back in 2015 we started using Ansible at Swapps. I created a small Django application that could interface with Ansible directly, and used that to manage our infrastructure at higher level. Back then, Ansible was in version 1.9. Ansible is written in python, so ...

How to set up SSH and GPG keys for your development workflow

A long time ago, in a galaxy far, far away, I found out about SSH keys and GPG keys and I thought they were good... so I started using them, obviously the wrong way (if you want to know a little bit more, you ...