Do I Need a Mobile Application or a Mobile Website?

In our digital era where people’s attention is scattered between apps and websites, it’s not easy to know whether you need a mobile application, or if a responsive website (that can be accessed via your web browser) would meet your needs.

I have this discussion every week with new clients, and I thought it was time to share our reasoning here at Liip in order to give you a clear answer if you still hesitate.

Do You Want To Reach Your Users, or Bring Rich Features to Them?

When clients come with a mobile app request, I explain them that most of the time, a web application is more efficient in terms of investment, as well as in term of reach.

The second question I get after this answer is: “When would I need a mobile app, then?”
In my point of view, mobile apps are useful when they are crafted to be rich — vs. the reach that web applications can provide. Rich in terms of features that are only available on mobile devices, and that can’t be achieved via web technologies.

Continue reading about Do I Need a Mobile Application or a Mobile Website?

Tags: , , , , , , , , ,

Drupal 8 – Multilanguage Improvements

As a Swiss-based Drupal Agency, we have to create a lot of multilingual sites. Since Switzerland has three official languages (German, French, Italian) and even one more national language (Rumantsch), we are used to this requirement and we found our way with Drupal to make this an easy task (usually). We mainly used node translations in Drupal 7 for maximum flexibility. We used to separate languages from each other using the various i18n modules, language specific menus, blocks, URL-patterns, terms and so on.

With Drupal 8, things changed.
I struggled a little doing multilingual sites in Drupal 8 the same way I was used to in Drupal 7 because node translation is not available anymore (which is good) so I had to find another way to achieve the same easy to handle translations system. For us and for our clients. Let me explain, what I have learned.

Continue reading about Drupal 8 – Multilanguage Improvements

Tags: , , , ,

Advanced Drupal 8 Configuration Management (CMI) Workflows

After implementing some larger enterprise Drupal 8 websites, I would like to share some insights, how to solve common issues in the deployment workflow with Drupal 8 CMI.

Introduction to Drupal CMI

First of all, you need to understand, how the configuration management in Drupal 8 works. CMI allows you to export all configurations and its dependencies from the database into yml text files. To make sure, you never end up in an inconsistent state, CMI always exports everything. By default, you cannot exclude certain configurations.

Example:

If you change some configuration on the live database, these configurations will be reverted in the next deployment when you use

This is helpful and will make sure, you have the same configuration on all your systems.

How can I have different configurations on local / stage / live environments?

Sometimes, you want to have different configurations on your environments. For example, we have installed a “devel” module only on our local environment but we want to have it disabled on the live environment.

Continue reading about Advanced Drupal 8 Configuration Management (CMI) Workflows

Tags: , , , , ,

Is corporate communication in self-organized companies still needed?

When we decided to move forward into self-organization, I often heard, that corporate communication and marketing no longer will be needed. Self-organized companies would work much more transparent and open, are purpose driven and therefore, fulfill real market needs. Cool! I love being transparent and never have been one of these marketers building castles in the air. But will my daily work really be obsolete? I decided to find it out.

Different approaches of self-organization

As a parallel to working at Liip, I was doing my master’s degree, I used the question in the title to write my thesis[1] about. But where to start? I decided to go for Laloux’ Reinventing Organizations as this was the book mostly talked about at Liip.

With further investigation, I found other approaches like Heyse & Erpenbeck of Malik. Keeping things short, here’s an overview of these 4 approaches:

Continue reading about Is corporate communication in self-organized companies still needed?

Tags: ,

Using an After Effects animation in your iOS, Android or React Native app

Animations greatly improve overall user experience! This tutorial explains how to export and use an Adobe After Effects animation in your iOS, Android or React Native project, with Bodymovin and Lottie.

Animating your logo with After Effects

The first part is creating the animation with Adobe After Effects. After Effects is a powerful tool that is used to create digital visual effects and motion graphics. Starting with After Effect is fairly easy. Animating a logo for example will take you a few hours. Read my last blog post and go for it: Adobe After Effects: how to get started?

Continue reading about Using an After Effects animation in your iOS, Android or React Native app

Tags: , , , , , , , , , , , ,

Why did I change my mind about open data?

Knowledge against fear and suspicion – open data is beneficial

Generally disagreeing about any kind of data sharing, I realized my behavior was mostly based on fear. Fear is a major impediment to anything innovative and to any kind of change. Why did I change my mind about open data? It is about differentiating between public and private data, and about the fact that data made public are first of all edited.

New work – new ideas

In November 2015, I started working at Liip and I had a lot of new projects and inputs. The core of my work is the same, I completely changed field though. I stand now in the middle of a flow of innovative ideas and energy, which is very motivating and helps me be constantly open-minded.
One of my projects, last spring, was the coordination of Liip’s involvement at the annual opendata.ch conference. No, I cannot communicate about anything if I don’t understand it! Otherwise I would write complete bulls**t, people would notice it and Liip would lose all credibility on the subject. In other words, I had to know what I was talking about in order to be able to talk about it.

Continue reading about Why did I change my mind about open data?

Tags: , , , , , ,

Adobe After Effects: how to get started?

Adobe After Effect is an option to build animations. In this blog post, I share some of the tutorials and blogpost I have read in order to get me started with After Effect.

Animation with After Effects

Animations greatly improve the overall user experience of an app. They also bring different benefits to the user. In my last blog post about the SwiftAlps Conference, I wrote about the 12 basic principles of animations in design (see the slides in the blogpost). During the conference, we used CAEmitterLayer from Core Animation to insert a snow background effect.

Adobe After Effect is another option to build animations. After Effects is a powerful tool that is used to create digital visual effects and motion graphics. This tool is mainly used in film and television production although is also popular to create UI/UX animation among designers.

Continue reading about Adobe After Effects: how to get started?

Tags: , , ,

The DrupalDay 2017 in Rome

This year was the 6th edition of the DrupalDay Italy, the main event to attend for Italian-speaking drupalists.

Previous editions took place in other main Italian cities like Milan, Bologna and Naples.
This time Rome had the privilege to host such a challenging event, ideally located in the Sapienza University Campus.

The non-profit event, was free of charge.

Continue reading about The DrupalDay 2017 in Rome

5 industrial challenges mobile applications can solve

How can mobile applications support industries to undertake a digital transformation? In supply chain, risk management, or information distribution, mobile applications will make tasks easier for your employees, thus increasing efficiency. Read about 5 industrial challenges that mobile apps can solve.

First of all, it is important to carefully chose between a web and a mobile application. Mobile apps are useful when they use one of the device’s native capabilities (e.g. Bluetooth, GPS, camera, etc.), and when they enhance the experience provided to the user (compared to what a web application could do).

Industrial challenges

The challenges industries face are often very good candidates for mobile apps as they leverage all their potential. Therefore, I have identified five recurring issues that industries are facing nowadays. These pain points can be easily relieved by mobile applications.

Challenge 1: Productivity issues due to technical limitations

Continue reading about 5 industrial challenges mobile applications can solve

Tags: , , , , , , , , , , , , ,

Going Crazy with Caching – HTTP Caching and Logged in Users

HTTP caching is an efficient way to make your application scalable and achieve great response times under heavy load. The basic assumption of HTTP caching is that, at least for some time, the same web request will lead to an identical response. As long as “same” means simply the same domain name and path, you will get many cache hits. When users are logged in, we have the opposite situation, where potentially everybody will see different content. Lets take a closer look to see where we can still find safe uses for HTTP caching even with logged in users.

Controlling the HTTP Cache Behaviour

A HTTP request is not only the URL, but also the headers. Some are only for statistics or not relevant for your application. But for some web applications, there are relevant headers. The Accept-Language header can be used to decide on the content language, or when building an API, the Accept header can be used to choose whether to encode the answer in JSON or XML.

HTTP responses can use the header Vary to declare what headers lead to distinct responses on the same URL. A HTTP cache uses the Vary to keep the variants of the same URL apart. This works well when there are few variants – you will still get frequent cache hits. However, if every request comes with a different header, caching on the server side makes no sense anymore. There is no benefit in storing results in the cache that will rarely be reused. Even worse, this is a waste of resources that should be used for caching relevant data.

For this reason, caching proxies like Varnish will by default not attempt any caching as soon as there is a Authorization or Cookie header present in the request. Cookies are commonly used to track a session in the application, meaning the user might see a personalized page that can not be shared with any other user. If you force caching with cookies and have your application send a Vary: Cookie header, you will have the situation described above, where you get no value out of your cache.

The rest of this article will dig into various aspects of what you can do to still do some HTTP caching:

  • Avoid Session Cookie, remove when no longer needed
  • Delegate to the frontend: “Cheating” with Javascript
  • Different cache rules for different parts
  • User Context: Cache by permission group

Continue reading about Going Crazy with Caching – HTTP Caching and Logged in Users

Tags: ,