Blog Liip https://www.liip.ch/fr/blog Kirby Thu, 23 May 2019 00:00:00 +0200 Les derniers articles du blog Liip fr Wingo, what you see is what you get https://www.liip.ch/fr/blog/wingo-what-you-see-is-what-you-get https://www.liip.ch/fr/blog/wingo-what-you-see-is-what-you-get Thu, 23 May 2019 00:00:00 +0200 Un design pensé pour les utilisateur·trice·s

Wingo est la marque de télécommunication 100% online qui s’adresse aux millennials. Elle fait partie du portefeuille de produits de Swisscom. Wingo avait envie de travailler avec Liip pour développer un nouveau site web centré sur les utilisateur·trice·s. Nous sommes reconnus pour notre réflexion user-centred design et la qualité des projets que nous délivrons.

Le modèle 5S chez Liip

Nous travaillons avec le modèle 5S de Garrett pour définir l’expérience utilisateur (UX). 5S pour Strategy, Scope, Structure, Skeleton et Surface. Nous passons systématiquement au travers de ces cinq étapes. Elles forment une suite logique, partant d’un niveau abstrait pour progressivement se concentrer sur les aspects les plus concrets. Nous sommes ainsi certains de traiter tous les éléments nécessaires au design d’une expérience utilisateur intuitive, d’une part. Et de construire des bases solides pour le développement du site web, d’autre part.

Figure: Sur le plan Strategy, nous nous soucions de la façon dont le site permettra de réaliser la stratégie de notre client en répondant aux besoins des utilisateur·trice·s. C’est sur le plan Surface que nous nous préoccupons de la forme finale du site. Source: Jesse James Garrett

Concilier une charte graphique et les 5S

Une charte graphique nous a été transmise en début de mandat. Nous l’avons interprétée afin de concilier les directives graphiques avec les best practices en matière d’UX. Un site web doit répondre à un ensemble de critères pour qu’il soit accessible à tou·te·s, pour qu’il permette de trouver rapidement l’information recherchée, pour qu’il donne envie d’y rester et d’y revenir.

La simplification de l’architecture de l’information a été le point de départ et l’étape déterminante du projet. Elle découle des trois premiers S du modèle 5S, à savoir Strategy, Scope et Structure. Puis, nous avons directement travaillé sur les éléments de design rattachés au cinquième S, Surface. Et nous sommes revenus au quatrième S (Skeleton). Le squelette de chaque page a ainsi été créé à l’aide des composants brandés validés en amont. Ce petit écart a permis d’intégrer certaines contraintes graphiques et de gérer de manière plus efficace les nombreux intervenants au niveau du branding.

Les ingrédients du succès

Wingo nous a donné les moyens de démontrer nos compétences en UX. Chez Liip, deux designers ont été intégrés à la Scrum team. Et une personne chez Wingo s’est pleinement consacrée au projet. Ce qui a participé grandement à la réussite de ce dernier. Nous avons également encouragé le client à prendre des décisions rapidement et régulièrement afin que les délais soient respectés. En sachant, qu’il est toujours possible de procéder à une itération lors du sprint suivant. L’utilisation du modèle 5S fait aussi partie des éléments clés de la réussite du projet.

« Travailler avec la méthodologie des 5S nous a permis de nous concentrer sur l'essentiel à chaque étape du projet. Bien que notre délai fût très exigeant, grâce à l'expertise de Liip et aux méthodologies de travail qu'ils appliquent, nous avons pu lancer à temps un nouveau site web de qualité. »
Maëlle De Bernardini, Wingo

Practice over theory: tester et itérer

Un projet comme celui-ci est très formateur. Nous nous sommes surpassés, et avons trouvé des solutions que nous n’avions pas imaginées. La force d’une équipe se mesure lorsque les solutions proposées sont questionnées et améliorées grâce à la combinaison des compétences de chacun·e. Pour que le résultat n’en soit que meilleur. C’est-à-dire qu’il permette au client d’atteindre ses objectifs en répondant aux attentes des utilisateurs.

Contactez-nous pour savoir comment améliorer l’expérience utilisateur de votre site web ou application mobile tout en garantissant un branding fort.

]]>
Le nouveau portail maBCF est en ligne https://www.liip.ch/fr/blog/le-nouveau-portail-mbcf-est-en-ligne https://www.liip.ch/fr/blog/le-nouveau-portail-mbcf-est-en-ligne Mon, 20 May 2019 00:00:00 +0200 Pratiquant Scrum depuis la fondation de Liip, nous menons des projets complexes qui requièrent des changements fréquents en cours de réalisation. Le portail maBCF est l’un de ces projets. Nous avons maîtrisé les contraintes liées à l'infrastructure et à la sécurité, imposées par le domaine d’activité du client. Et l’intégration d’un designer User Experience (UX) à la Scrum team a permis de gagner en agilité.

Nous avons tout d’abord défini et développé un minimum viable product (MVP). Il s’agit de la version de la plateforme qui répond aux besoins des utilisateur·trice·s en minimisant l’investissement en temps et ressources. Cette première version a été mise en ligne il y a quelques semaines. Nous travaillons déjà sur une mise à jour. De nouvelles fonctionnalités seront ajoutées prochainement.

Nos solutions sont pensées pour évoluer, en fonction des retours des utilisateur·trice·s.

Agile et efficace

Pour répondre à la demande de la BCF de créer un espace client sur son site web, nous avons formé une Scrum team. Un Scrum Master, un Product Owner, quatre développeur·euse·s, un designer UX ainsi qu’une spécialiste du contenu se sont mis au travail.

Nous sommes convaincus qu’il est nécessaire et bénéfique d’intégrer le client à l’équipe projet. La constitution d’une équipe pluridisciplinaire incluant l’équipe de la BCF a permis une grande efficacité durant les 11 sprints consécutifs (22 semaines). Tout en respectant des contraintes de taille : l'infrastructure et la sécurité demandées par le domaine bancaire.

Chez Liip, nous sommes guidés par plusieurs principes. Notre principe « flexibility over strength » est parfaitement illustré par notre excellente collaboration avec la BCF. Nous sommes certain·e·s que seule une approche agile et itérative permet de relever ces défis liés à l’industrie bancaire. Cette flexibilité rend également possible le déploiement de la stratégie du client tout en répondant aux attentes des utilisateur·trice·s.

Tailor made et centré sur l’utilisateur

Le produit d’un client est unique. La solution que nous développons doit l’être tout autant. Le designer UX a participé à chacun des 11 sprints, afin de rendre le processus de création encore plus agile. C’est-à-dire répondre au mieux aux attentes des utilisateur·trice·s du futur portail maBCF tout en optimisant le travail de la Scrum team.

Des maquettes créées lors des sprints

Souvent l’ensemble des maquettes est préparé par le designer UX avant que le premier sprint commence. Il y a donc un risque que les designs ne répondent plus aux besoins des développeur·euse·s, le périmètre du projet évoluant au fur et à mesure du développement.

Lors du projet maBCF, nous avons incorporé la création de ces maquettes aux sprints.

Le designer UX préparait les éléments de design du sprint N+1 lorsque les développeur·euse·s travaillaient sur le sprint N. Et ainsi de suite.

Cette approche nous a permis d’être plus réactifs aux évolutions du projet. Mais elle a aussi présenté un défi majeur. Assurer que les maquettes nécessaires aux développeur·euse·s soient disponibles au bon moment. Ceci afin de garantir le bon déroulement du sprint. La planification du travail du designer UX a donc été capitale.

Un styleguide comme boussole

Lors des premiers workshops, nous avons élaboré avec le client les esquisses de la future plateforme. Le designer UX s'en est servi pour créer les maquettes, directement dans le styleguide. Cette forme de charte graphique pour développeur·euse·s, comprenant une librairie de styles et de composants, est un outil indispensable. Il permet également au client de visualiser le rendu des pages et le comportement des différentes fonctionnalités.

L'équipe de la BCF a pu rapidement prendre des décisions à partir de ces prototypes à l'échelle 1:1, les styles correspondant exactement au produit final.

Nous sommes persuadés que le périmètre d’un projet doit pouvoir évoluer au cours de son développement. Pour être au plus près des attentes des utilisateur·trice·s.

Cette première expérience a été concluante. Nous sommes enthousiasmés par l’enrichissante collaboration que nous avons créée avec la BCF. Et nous sommes fiers d’avoir mis en pratique notre principe « flexibility over strength ». Nous intégrerons donc de systématiquement la création des designs lors de nos prochains sprints sur le projet maBCF, mais également lors d’autres projets.

]]>
Content is king, and AI will rule the world https://www.liip.ch/fr/blog/content-is-boss https://www.liip.ch/fr/blog/content-is-boss Thu, 16 May 2019 00:00:00 +0200 With more than 300 speakers and 50,000 visitors, the OMR conference is the biggest online communication event in the German speaking market, and a strong indicator of where the industry is headed. You can read all about our discoveries below.

Big topic #1: Content is replacing advertising

The topic of content was omnipresent throughout the conference. From general insights to full-on use cases, it was a hot topic that's sure to stick around for the foreseeable future.

Information and entertainment are one winning team

Image left: coffe roaster J.Hornig on chat bots – Image right: Facebook presenting user data

Despite the digitalization of our lives, humans will always be humans: We want to solve our daily problems and follow our interests. This is the point Ana from Austrian coffee roasters J. Hornig underlined with the quote from advertising legend Jean-Remy von Matt: “Good communication either entertains or supports.” And that’s why she and her team have chosen to use a chatty chat bot to help coffee lovers at home with any questions they may have. Nadine from Facebook pushed the point further with the platform’s statistics: Information (45%) and entertainment (46%) is what people seek out on Instagram.

Be patient & stay focused – success will follow

Left: Content Marketing Institute presents their magic formula – Right: Territory trusts in persistence

Brands have figured out that content is more important than advertising, and many have taken content production in-house. Some are even tracking the success of every bit and byte they post – like Joe Pulizzi’s Content Marketing Institute. His learning: Once you start putting out content regularly, it takes 12 to 18 month before you start seeing a return on your investment. Soheil Dastyari, CEO of content agency Territory, came to the same conclusion.

Involve your audience

Left: Investor David R. Bell believes in storytelling – Right: OMR believes in story sharing

The most powerful brand message is the one delivered by the brand’s users. That’s why investor David R. Bell puts his money into start-ups that have a story people want to share. “Orators not customers” is how he summarizes this trend. OMR conference founder Philipp Westermeyer presents the agrees that sharability is the new brand currency. His example to illustrate this trend is Balenciaga who created an extremely expensive Ikea bag replica just to create buzz.

Voice & audio - the revolution has begun

Left: "Gimlet's" podcasts give brands a voice – Right: "OMR" observes investments in voice recognition

Matt Lieber, cofounder of the podcasting platform Gimlet, knows that the second revolution of voice is upon us. The company has just been bought by Spotify and is now reaching millions more listeners. He presented some great insights: Gimlet identified that people have around 2.5 hours per day where they seek entertainment yet cannot look at a screen, like during their commute or when cooking. This is all potential time for a podcast, and the perfect place for a brand to be present for their users and deliver valuable content. An even bigger shift is predicted in voice command. Philipp Westermeyer underlines that with the example of how Amazon is investing in voice recognition. He explained that Amazon currently employs 10,000 people supporting its Alexa project and he showed us a page from Amazon’s job platform with more than 2000 open jobs in the area of voice regocnition at the moment.

Big topic #2: Artificial intelligence and use case “chat bots”

Yuval Harari’s vision for a world with AI

Image: Yuval Harari ponders all the (unexpected) issues AI will raise.

AI will soon know us better than we know ourselves. “What will happen to us when Coca-Cola finds out I’m gay before even I know?” Yuval Harari began his speech with a personal story: He didn’t realize that he’s gay until the age of 21. Yet in retrospect, he says, the signs were obvious. So a machine tracking his eye movement would have noted that he glances at the man in a picture instead of the woman. With that information in hand, Coca-Cola would then present him their product in conjunction with his deep and unconscious desires. And he would always opt for that brand because unconsciously he feels they understand him best. He has plenty more examples of how AI will intrude in our lives: What will happen to relationships when the refrigerator delivers on our needs us more precisely than our spouse? How will society change? His scenarios go even darker: What will happen when North Korea forces its citizens to wear bio-sensors that detect anger when looking at Dear Leader? His advice: Technology takes no side, so we must choose how we use it wisely.

China is way ahead of us

Image: OMR observes heavy investments in china

The many speeches about the Chinese market (speech 1, speech 2, speech 3) made it clear that we’ve got to keep watching out for what’s coming out of China. Predictions are that what we see today is just the very beginning, as huge investments are being made overseas, especially in AI. Philipp Westermeyer's example shows that a rather small city in China invests almost 10x more into AI than the entire European Union.

Chat bots become a commodity

Image: AI agency knowhere categorizes AI in three use cases

Frederik from AI agency Knowhere presented several use cases for chat bots. The ones we liked were the ChatYourself chat bot, which asks early Alzheimers patients questions about their life in order to support their memory later on. Another useful one for daily life is the Novi chat bot, which presents news in a user-friendly way. And then there’s the golden state warriors chat bot that let's you discuss sports results. Toothpaste brand Signal’s chat bot supports kids when brushing their teeth, and the alcoholics anonymouns's chat bot let's you discuss taboo topics in a private way. Medical device producer Dräger was also on stage to present their process to install a chat bot. After using the bot for about 6 months, they can already say it has reduced the amount of incoming questions by around 45%.

Chat bots win over a website and an app

Image: coffee roaster J. Hornig's presents their arguments for a chat bot

The coffee roaster J. Hornig wanted to create a “barista in your pocket.” They were looking for a digital solution for anyone with a coffee-related question. When exploring possible implementations, a chat bot won. Easy accessible via voice, conversational in tone, and with the free chat bot solution provided by Facebook Messenger, a single employee at the roastery could create a proof-of-concept within a month.

Consultancy firms have become the new marketeers

Image: Accenture presenting their view on AI - with the help of Arnold Schwarzengger

Interesting things are happening in the world of communication. Is it a good or a bad sign when Accenture and McKinsey have several slots in a marketing conference? Either way, it’s a solid indicator that data is taking over. Just as The Terminator predicted.

Side note: Agencies are dead - long live agencies

Image: Content agency wldmr illustrates how agencies and clients become one team

Platforms like Instagram, YouTube, Facebook, Snapchat, and Tiktok all held several speeches and masterclasses. Data agencies were quite present, as were several brands presenting their cases. What was missing? All the big creative agencies. If an agency was on stage, the focus was always on how they form a team with the client to yield the best results. The days where the agency was boss and told everybody how things are done are long gone. And we think that’s for the better, as brands know their own story best and we all need to find the user’s need in a joint effort.

This is actually what we at Liip believe in too. And visiting the OMR conference has underlined how important that is. We also believe in data and data analysis. The only thing that we don’t do: Work with influencers, a topic that was also quite present at OMR. Something to focus on next yea!

Overview

Big Topic #1: Content is replacing advertising

  • Information + Entertainment = A winning team
  • Be patient & stay focused – success will come
  • Involve your audience
  • Voice & audio - the revolution has begun

Big topic #2: Artificial intelligence and use case “chat bots”

  • China is way ahead of us
  • Chat bots become a commodity
  • Chat bots win over a website and an app
  • Consultancy firms become the new marketeers

Sources: header image rocketandwink.com

The experts behind this article

Thanks to Lena, Jenny and Daniel for content and copy cleverness. This article would not have been possible without you!

]]>
Cognitive UXD: Motivation & Flow https://www.liip.ch/fr/blog/cognitive-uxd-motivation-flow https://www.liip.ch/fr/blog/cognitive-uxd-motivation-flow Wed, 15 May 2019 00:00:00 +0200 In my first blog post Cognitive User Experience Design - Where Psychology meets UX Design I gave an overview about combining Psychology and Design. As mentioned in my second one, Cognitive UXD: Motivation, the topic Motivation is very comprehensive and has a valuable impact on design. Therefore, I take you on a short tour and describe the role of flow in design. In short, knowing the Flow Theory can help that the user comes or maintains in the flow zone. The aim is to “Go with the Flow!”

What is the Flow zone?

According to the psychologist Mihaly Csíkszentmihályi an excessive challenge leads to feelings of overload, frustration and anxiety. Contrary, excessive skills can cause feelings of underload, routine and boredom. Matching challenges to skills is therefore considered a key factor for flow.

Source: Concept by Mihaly Csíkszentmihályi; modified by Viktoria Kluckner

The state when challenges and skills are in the right balance are known as to be “in the flow”. Within this state, the person is fully immersed in a feeling of energized focus, full involvement and enjoyment of the moment. Being within this flow zone, the person loses track of time and/ or space, performs the task for a sheer pleasure, is intrinsically motivated and much more productive and happy.

How can we ensure to bring or to remain the user in the flow zone?

First, you need to know who your clients and your users are. What are their needs, desires, expectations, approach f.i. during the purchase process. The easiest way is to ask questions.
Here is a general selection that you can ask the client:

  • Who is your ‘typical’ user?
  • Why does the user buy the product?
  • Where will they use the product?
  • What are the most important tasks the user should fulfill when buying the product?
  • With which other products will yours be compared with?
  • What should the user think, feel or say?
  • What happens after the user bought the product?

Next, ask the user:

  • Why do you want to buy the product?
  • What are the most important tasks?
  • What do you think, feel or say?
  • What helps you with the purchase decision?
  • What happens after you bought the product?

With these first questions you get a first overview of the purchase process. Of course you need to dig deeper to get a more detailed understanding. You can ask for the reasons to buy one specific product:

  • What specific feature was the most attractive one for you?
  • What makes this feature so attractive for you?
  • How can you touch the user emotionally to make him a loyal user or that he remains a loyal user?

As you can see, a look from different perspectives is necessary. The more detailed and holistic you understand and involve your users, the better you can create experiences for them that will carry them along or make them to remain in the flow zone.

In this phase you have already achieved a lot. But don't forget to test and improve.
By measuring, you can see where the user flow is working and where it is not. Find out where a smooth process is interrupted and where the user falls out of the flow zone. Take a look at the dropouts and do a Usability Testing. Especially in Usability Testings you can directly observe the facial expression of the user and the behavior during the execution of tasks, which gives you even more information. You can see whether the user is in the flow zone, i.e. whether he is fully immersed in a feeling of energized focus, fully involved and enjoying the moment. Take the time to test. It's worth it and the key to make it right. You will receive clear indications of starting points to improve the experience.

Which recommendations can help?

As UX designers, we should ensure that users enter and stay in the flow zone to experience joy. These recommendations can help to increase flow in the design:

  1. Guide the users by providing information on what to do and how to do it.
  2. Ensure that the users understand where they are and what tasks they need to perform. Create f.i. a clear and intuitive navigation structure.
  3. Find out what disrupts the user’s workflow. Reduce confusion and interruptions such as notifications or bugs.
  4. Be close to the user’s semantic to reduce the cognitive burden. Think about how the user naturally wants to interact.
  5. Think about what is really needed and delete unnecessary interactions, content, etc.
  6. Ensure that there are no annoying, repetitive tasks or functions. This can be reduced with Usability Testings. Think about how you can make the experience smooth.
  7. Set clear and achievable goals such as the note to check the 4 meetings you have today in your calendar.
  8. Divide a big goal into several smaller ones. Let the user achieve more quick results while driving the big goal forward.
  9. Think about how the communication be improved to achieve the goal.
  10. Provide accurate and immediate feedback on actions. Visible, auditory or tactile feedback can give confidence that a process is running. If you press a calendar entry for a longer time, it gets a little bigger and you can move it to an earlier time.
  11. Give some rewards such as a free downloadable e-books or something similar that makes the user happy.
  12. Provide challenges that match the skills of the users. It is very important to have a good understanding of the users and their skills and to challenge them to stay interesting.

I hope that I could give you some interesting questions and recommendations. I wish you a lot of fun to create inspiring designs in order to bring or to remain the user in the flow zone. At the end of the day, our aim is to satisfy users.

In my next blog post I focus on Cognition and describe its role in design based on the Cognitive Load Theory.

]]>
Love is in the air https://www.liip.ch/fr/blog/love-is-in-the-air https://www.liip.ch/fr/blog/love-is-in-the-air Tue, 14 May 2019 00:00:00 +0200 L’utilisation grandissante des médias sociaux, de l'intelligence artificielle et des assistants personnels pourrait nous faire oublier que nous sommes des êtres humains. Des êtres vivants. Des êtres aimants. Le thème de l’édition 2019 de TEDxFribourg est LOVE. Cette 5e édition a justement rassemblé des passionné·e·s qui nous rappellent que l’amour est partout. Dans chaque action, chaque projet, chaque aventure, chaque histoire que nous vivons.

Nos coups de coeur : Lovely ideas worth spreading

Le thème de TEDx Fribourg 2019 était l’amour. Les onze intervenant·e·s nous ont fait voyager pendant plus de deux heures. Vous trouvez ma sélection personnelle ci-dessous. Et voici les vidéos des présentations et les photos de la soirée.

Johana Dayer et le vin, ce catalyseur de passions

Qu’est-ce que l’amour ? Qu’il s’agisse d’une passion, de l’amour pour les autres, de l’amour pour notre planète, de l’amour pour l’Humanité, sa force est dans le partage. Ainsi Johanna Dayer évoque le vin comme une expérience que l’on savoure ensemble. Une histoire d’émotions en fait.

Ikigaï parfait pour les fondatrices de The Green Drop

Estelle et Eléonore de The Green Drop ont trouvé leur ikigaï. L’ikigaï en japonais est l’alignement parfait entre passion, mission, vocation et profession. Nous nous reconnaissons dans cette quête de sens. Nous sommes convaincu·e·s que chaque action prend tout son sens lorsque nous sommes personnellement animé·e·s et lorsqu’elle est liée à nos valeurs.

Azadeh Tadjar: l’amour a le pouvoir d’apporter des solutions

Beaucoup de personnes partagent l’idée qu’une démarche pleine de sens, est une démarche qui vient du coeur. Les problem-solvers sont partout et sont tellement passionné·e·s par les initiatives qu’ils·elles entreprennent, qu’il est difficile d’y rester indifférent. Azadeh Tajdar est convaincue du pouvoir contagieux de l’amour. Et nous aussi. Let’s share these ideas and spread the love.

Ces expériences de vie partagées par les speakers de TEDxFribourg me font penser aux projets que nous avons la chance de mener chez Liip. Des projets au coeur desquels il y a l’humain, qu’il soit utilisateur·trice, client·e ou Liiper. Comme One.Thing.Less qui milite pour la reprise du contrôle sur nos données personnelles. Ou comme Urban Connect et Smart Energy Link, deux projets nés de l’engagement de start-up pour un futur plus durable. Ou encore Freitag City Guidelines, qui donne la parole à des habitant·e·s passionné·e·s par leur ville.

Notre contribution à TEDxFribourg : Make a wish

Lorsque nous participons à une conférence TEDx, nous encourageons les participants à faire un voeu. Plus de 30 voeux ont ainsi été accrochés sur notre arbre Make a Wish. La majorité de leur auteur souhaite plus d’amour pour chacun·e, vivre en harmonie avec les sien·ne·s, être heureux·se et s'épanouir dans un monde plus respectueux de l’environnement. Viennent ensuite les voeux liés à un projet personnel ou à la recherche de sens dans son activité quotidienne. Sans oublier les souhaits liés à de nouvelles formes d’organisation du travail.

Notre engagement : Cheers to love

L’amour c’est aussi les relations humaines, les liens qui se tissent entre nous. Et si cela commençait autour d’un verre de cidre ? Cette année, nous avons servi du jus de pommes et de poires ainsi que du cidre au Liip Bar. Nous nous sommes adressés à Jacques Perritaz de la Cidrerie du Vulcain. Un passionné qui s’engage pour la préservation de variétés anciennes de pommes, poires et coings dans la campagne fribourgeoise.

Nous aimons ces événements lors desquels des idées surgissent, lors d’un talk, sur une carte Make a wish, autour d’un verre. Et ce que nous aimons encore plus, c’est développer ces idées avec vous !

Il ne me reste donc plus qu’à vous dire : Cheers to love !

]]>
Pourquoi j'aime être une apprentie informaticienne chez Liip https://www.liip.ch/fr/blog/pourquoi-j-aime-etre-une-apprentie-informaticienne-chez-liip https://www.liip.ch/fr/blog/pourquoi-j-aime-etre-une-apprentie-informaticienne-chez-liip Mon, 13 May 2019 00:00:00 +0200 Pourquoi l’informatique ? Pourquoi ce choix d’apprentissage ?

Parce que j'apprécie l’informatique depuis que je suis petite. Et je me suis dit “pourquoi ne pas essayer de faire quelque chose que j’apprécie ?”.

Comment c’est l’informatique pour les filles ? Comment est-ce que tu perçois l’informatique en tant que fille ?

J’ai l’impression qu’il y a de plus en plus de filles qui veulent s’engager dans un métier qui touche à l’informatique. Je trouve que c’est bien parce que les métiers ne doivent pas être réservés à un genre en particulier. Il n’y a pas encore beaucoup de filles qui font l’apprentissage de l'informatique dans mon école. Par contre, au bureau de Liip à Fribourg, nous sommes quatre apprenti·e·s en informatique, dont deux filles.

Qu’est-ce que cela fait de travailler dans un métier occupé principalement par des hommes ?

Pas grand chose, parce que les femmes sont très bien intégrées dans l'entreprise et il n’y a pas de différence. Chez Liip, un homme ou une femme aura le même salaire et c’est pareil pour les apprenti·e·s. La seule vraie différence est à l’école. Dans ma classe, on n'est que 2 filles sur 21 élèves.

Pourquoi est-ce que des filles devraient faire ce métier ?

Parce que ce n’est pas un métier que pour les hommes et qu’on a le droit de faire ce qui nous plait sans contrainte.

Qu’est-ce que cela fait de travailler chez Liip ? D’avoir Liip comme entreprise formatrice ?

C’est génial parce qu Liip ne fixe pas beaucoup de règles. Cela me demande d’être autonome et responsable. En plus, il y a vraiment une bonne ambiance dans l’entreprise. Tout le monde se donne bien. Les apprenti·e·s sont considéré·e·s comme des employé·e·s à part entière. Et cela nous permet de bien nous intégrer à l’entreprise.

Quelle est l’ambiance au bureau ? Quelles sont les activités organisées chez Liip ?

Liip organise beaucoup d’activités, autant pour les apprenti·e·s que pour les employé·e·s. Par exemple, une fois par an Liip organise et finance une journée de conférences durant laquelle les cinq bureaux se rassemblent. Il y a aussi des journées dédiées aux apprenti·e·s. Durant celles-ci, les apprenti·e·s des cinq bureaux de Liip se rassemblent pour parler de leurs projets.
Nous organisons aussi des journées portes ouvertes à Fribourg pour toutes les personnes qui aimeraient découvrir le métier d’informaticien·ne de développement. Cette journée est entièrement organisée et animée par les apprenti·e·s de Fribourg. Ou encore, on partage nos repas de midi ensemble, on fait du sport et plein d’autres activités.
En ce qui concerne l’ambiance, c’est génial car tout le monde s’entend bien.

La pause parfaite selon les apprenties : Sofia et Ksénia jouent à Mario Kart

Qu’est-ce que tu apprends ? Parle-moi d’un des projets sur lesquels tu travailles.

En ce moment, je travaille sur un site web au sein du bureau de Fribourg. J’ai aussi développé un petit jeu pour apprendre les bases de la programmation. J’ai également appris à gérer un serveur de gestion de publicités en ligne. J’apprends aussi beaucoup sur les autres domaines de l’informatique à l’école.

Quelles sont les difficultés que tu rencontres ?

En soit, c’est un métier assez difficile. Il y a beaucoup de notions à connaître. Par exemple pour faire de la programmation, je dois aussi connaître des notions des autres domaines de l'informatique. Il y en a trois: informatique d’entreprise, développement d’applications et techniques des systèmes.

Quelle est la journée type d’une apprentie informaticienne ?

Il n’y en a pas vraiment. Mes journées se ressemblent mais ne sont jamais pareilles. Je ne vais pas faire exactement la même chose que le jour d’avant ou que la semaine précédente.
En plus, Liip est une entreprise qui favorise la “self-organisation”, c’est-à-dire que les employé·e·s s’organisent tou·te·s seul·e·s. Par exemple en tant qu’apprenti·e·s, on doit faire des journées de 8 heures mais les horaires sont flexibles. Une de mes seules contraintes est d’être présente lors du daily le matin. Je peux aussi prendre une pause de midi plus ou moins grande.
Il y a aussi des périodes entièrement consacrées à l’école. C’est-à-dire que pendant plusieurs mois, je vais tous les jours à l’école. Le reste du temps, je le passe en entreprise. Au final, je ne trouve pas qu’il y ait une journée “type” pour un·e apprenti·e chez Liip.

Début mars, j'ai préparé du contenu pour le compte instagram de Liip afin de présenter à quoi ressemble mon apprentissage d'informaticienne.

Qu’est-ce que tu changerais dans ton apprentissage ? Et pourquoi ?

Personnellement, je ne changerais rien. Parce que je fais quelque chose que j’aime. Parce que je travaille avec des gens que j’apprécie. Bref, je travaille dans une entrepris juste parfaite.

N'oublie pas de lire les réponses de Ksénia !!!

]]>
Mon quotidien en tant que femme apprentie dans l'informatique ! https://www.liip.ch/fr/blog/mon-quotidien-en-tant-que-femme-apprentie-dans-l-informatique https://www.liip.ch/fr/blog/mon-quotidien-en-tant-que-femme-apprentie-dans-l-informatique Mon, 13 May 2019 00:00:00 +0200 Pourquoi l’informatique ? Pourquoi ce choix d’apprentissage ?

Je n'ai pas eu besoin de beaucoup réfléchir à ce que je voulais faire plus tard. Déjà petite j'aimais bien trafiquer avec les ordinateurs et la technologie. Quand j'ai dû choisir, c'était comme une évidence. Avant de commencer l’apprentissage, j'avais tout de même fait quelques stages, ce qui a permis de confirmer que c'était bien ce que je voulais faire.

Qu’est-ce qui te plait dans ton apprentissage ? Dans ce métier ?

Dans l'informatique, ce que j'aime beaucoup, c’est la diversité du métier. J'aime que mon travail soit varié. Je peux travailler un moment sur un site web, et ensuite changer complètement en configurant des réseaux. J'aime aussi beaucoup utiliser mes mains sans que cela soit pour autant artistique ou trop physique comme un métier dans le bâtiment. J’aime aussi le fait que l’informatique demande des compétences techniques mais aussi intellectuelles.

Quelles sont les difficultés que tu as rencontrées ?

Je n’ai pas rencontré de grandes difficultés. Ce qui est important c’est d’être organisée. Ce que j’apprends aujourd’hui à l’école ou chez Liip, j’en aurai besoin demain mais aussi dans deux mois par exemple. La clé pour réussir un apprentissage comme celui-ci est une bonne documentation afin de trouver rapidement une solution.

Comment c’est l’informatique pour les filles ? Comment est-ce que tu perçois l’informatique en tant que fille ?

Je pense que l'informatique est encore beaucoup trop perçu comme un métier très technique alors que cela n’est pas le cas. Ce qui est sûr, c’est que chez Liip, il n'y a pas de différence entre filles et garçons. C'est l'une des choses que j'admire ici, l’égalité entre hommes et femmes.

Qu’est-ce que cela fait de travailler dans un métier occupé principalement par des hommes ?

Au début c'est assez spécial car on remarque qu’on est pas beaucoup de femmes. Puis, on n’y prête plus attention. Le but c’est de rendre ce métier plus attractif pour les femmes aussi.

Qu’est-ce que cela fait de travailler chez Liip ? D’avoir Liip comme entreprise formatrice ?

J'aime travailler chez Liip car j’ai une grande liberté dans le choix de ce que je souhaite faire. Comme n’importe quel Liiper d’ailleurs !

Quelle est la journée type d’une apprentie informaticienne ?

Les cours liés à mon apprentissage sont regroupés en blocs de six mois. Je passe donc six mois à l’école, puis six mois en entreprise, et ainsi de suite.
Lorsque je ne suis pas à l’école, j'arrive à 8 heures au bureau. Je m'installe, puis je vais chercher un thé dans la cuisine. Quand je reviens à ma place je commence par passer en revue mes mails et les tâches en cours. Je commence soit une nouvelle tâche, soit je continue celle du jour d'avant. Ensuite vient l'heure du daily. C'est un moment durant lequel on partage les infos relatives au bureau dans un premier temps. Puis on se regroupe par équipes de projet afin de partager ce que l'on a fait le jour précédent et ce que l'on va faire aujourd'hui. Après le daily, c’est l’heure de la pause, un moment de partage et de saveur le temps d'un café ou d'une tisane.

Avec les autres apprenti·e·s, une fois par semaine nous mangeons au McDo. Cela nous permet de partager des anecdote sur l'école ou notre quotidien. Vers 15 heures, je fais en général une petit pause avec les autres apprenti·e·s et/ou avec les Liipers de mon équipe. C’est souvent l’occasion de faire une petite partie de fléchettes, de ping pong ou encore de Mario Kart. En fin de journée, je fais un point avec mon formateur (maître d’apprentissage) afin de clarifier les éventuelles questions que je peux avoir. Et ce que j’aime beaucoup, c’est l’apéro du jeudi soir parce que je peux partager un moment avec mes collègues dans un contexte non professionnel.

Qu’est-ce que tu apprends ? Parle moi d’un des projets sur lesquels tu travailles.

En ce moment, je travaille sur un projet en PHP au sein du bureau de Lausanne. Avant ce projet, j'ai travaillé sur un site web avec le framework drupal qui permet de gérer des contenus dynamiquement.

Ksenia travaillant sur un projet php

Pourquoi est-ce que des filles devraient faire ce métier ?

Je pense que plus de filles devraient choisir ce métier car c'est un métier qui offre la possibilité d'évoluer. Même si tu te rends compte plus tard que ce n’est plus exactement ce que tu souhaites faire, les connaissances acquises te seront toujours utiles dans un monde qui se digitalise de plus en plus.

Sur la photo ci-dessus, je suis à droite et porte un pull rouge. Je joue avec Sofia, l'autre apprentie informaticienne.
Découvre ses impressions en tant qu'apprentie en lisant son article.

]]>
How to keep your mobile app retention rate high? https://www.liip.ch/fr/blog/how-to-keep-your-mobile-app-retention-rate-high https://www.liip.ch/fr/blog/how-to-keep-your-mobile-app-retention-rate-high Mon, 13 May 2019 00:00:00 +0200 Usage is important, not downloads

Building a mobile application is just the first step. You then need to have users who download it. And most importantly, that keep using it.

That's why I recurringly advise Liip clients to avoid focusing on vanity metrics such as the number of downloads of an app.
Because you could well have 10'000 new customers per day, if all delete your app in the following 10 minutes, then it's useless.

Instead, one should focus his analytics efforts on tracking app usage. This will give you stronger signals of how your mobile app product is performing.

In other words, you better have 100 downloads a month, while retaining 90% of your users, vs. 10'000 downloads a month and 1% of retention rate (i.e. 100 recurring users).

What can I do to retain my users in a mobile app?

There are two main patterns to keep your retention high: push notifications and app onboarding.

Actually there is a third one. And this third one is actually the #1 to take into consideration: build an app that solves a real user's problem.
That can sound obvious, but you should first put all your efforts into building a Minimum Viable Product that bring customers. Else, any push notifications or a better onboarding will be useless efforts.

And when I say customers, I don't mean people you get to signup via ads on Facebook or Google. I mean customers that crave to buy or download your app because it solves such a problem into their life that they can't think of another alternative.

Mobile app usage drop get worse over time
Mobile app usage drop get worse over time — Credits: Luke Wroblewski

That being said, let's assume your mobile app has a purpose that drives people in. Then let see how we can bring more retention.

Why? Well, a gentle reminder about numbers:

  • 25% of apps are abandoned after 1st time usage
  • 34% of apps are opened 11 times or more
  • 77% avg. daily active users loss in first three days after install
  • 95% avg. daily active users loss 90 days after install

Another way to visualize app retention average per industry (data as of year 2017):

Mobile app average retention rate per industry
Mobile app average retention rate per industry — Credits: localytics.com

Push notifications

I will not offend you and explain what's a push notification (just in case ;)).

The role of them are simply to remember your users that you exist on their smartphone. And it indeed works.

If you look at all the data that exist, it seems like a good idea to go for push notifications:

Push notifications are helpful to keep the retention high after the first month
Push notifications are helpful to keep the retention high after the first month — Credits: Luke Wroblewski

Nevertheless, your must be cautions with this tool. A push notification is like speaking face-to-face with someone. If you bother the person, they will just ask you to stop talking to them.

A good example is when Revolut sends me a push while I'm abroad in Europe to let me know the exact amount in CHF of my transaction. I feel it's like if my banker was sending me an SMS to re-assure me that all fees are under control and that I can enjoy my holidays.

Revolut mobile app useful push notification
Revolut mobile app useful push notification

On the other hand, you have Apple News who sends me a push like this without any valuable stuff for me: "See what you've been missing." When I receive this, I feel like a I'm at the train station and hear a guy yelling "Breaking news here, buy our newspaper!" At this point I just wish I enter the train and stop getting bothered by him. With push notifications it's easy, you can just turn them off.

Apple News mobile app useless push notification
Apple News mobile app useless push notification — Credits: Luke Wroblewski

So again, if your entire business model is built on push notifications to retain users, it's similar to the ones who are built on top of spamming users with email. It won't work. It's doomed to fail.

As a Product Manager/Owner, ask yourself the following: honestly, would I ‌enthusiastically accept this push notification myself?

Onboarding

Another key manner to retain your users is onboarding. When I say that to our Liip clients, people often picture the infamous (boring!) screens one has to swipe through at first app download.

As you can see below, major companies like Intuit, Vevo, and Google consistenly observed the same patterns during user testing:

  • Nobody read any of it
  • People desperately look for ways to skip it
  • Some Intuit user interviews ended up in "Please make this stop!" and "You [the Product Owner] just want to make this get out of my way."
Boring and useless onboarding screens of Intuit former mobile app
Boring and useless onboarding screens of Intuit former mobile app — Credits: Luke Wroblewski
Swipe, swipe, and re-swipe. Without reading any of it!
Swipe, swipe, and re-swipe. Without reading any of it! — Credits: Luke Wroblewski
Bla bla bla. Skip. Argh finally the real stuff!
Bla bla bla. Skip. Argh finally the real stuff! — Credits: Luke Wroblewski

The three conclusions they all came to were best summarized by Luke Wroblewski at the last Conversions@Google conference:

  • Get to product value asap - but not faster
  • Ruthlessly edit distractions from product value (cut, cut, and cut again as our partner QoQa learnt to do it :))
  • Teach in the moment with integrated UI — I highlight the last part because research shown that when the UI is consistent with the corporate identity, then conversion increase, else it decreases (you see it as these pesky Windows 95 popups you cancel by default!)

Keeping the same examples as above, below is how it translates:

Intuit mobile app Just-In-Time useful onboarding
Intuit mobile app Just-In-Time useful onboarding — Credits: Luke Wroblewski
Vevo ruthlessly edited onboarded screens to keep only its essence
Vevo ruthlessly edited onboarded screens to keep only its essence — Credits: Luke Wroblewski
Google Photos mobile app going asap to the product core value
Google Photos mobile app going asap to the product core value — Credits: Luke Wroblewski

Lessons learnt

  • Mobile app average retention rate is 40% after 1 month, 30% after 2 months, and 25% after 3 months
  • The most critical point to keep this rate high is to deliver true value to your users — value you would yourself use
  • Push notifications and onboarding are two ways to increase retention rate
  • A push notification is like speaking face-to-face with someone. If you bother the person, they will just ask you to stop talking to them
  • To be useful, onboarding screens must be edited to the minimum needed and just-in-time with integrated UI

Do you have any other tip to increase mobile app retention rate, without becoming a huge spam factory?

]]>
UX Copenhague 2019: consent & privacy https://www.liip.ch/fr/blog/report-ux-copenhague-2019 https://www.liip.ch/fr/blog/report-ux-copenhague-2019 Wed, 08 May 2019 00:00:00 +0200 In this article, I share a personal selection of takeaways. For further inspiration, I recommend you to read the UX Copenhague 2019 full programme.
*Thank you UX Copenhague for the pictures. Sheryl Cababa on the cover picture.

At Liip, we advise companies. We help building and developing their product and service.
Every Liiper benefits from an education budget so we keep learning to deliver state-of-the-art solutions. (Thank you Liip for this learning opportunity).
I recently started questioning the place of ethics in my work as a UX writer. I am convinced that us, people creating digital tools, we have a responsibility in the projects we build. We can have a role in advising about ethical decisions in a product and service. I was appealed by the theme of UX Copenhague 2019. I expected to listen to experiences, discover tools and methodologies.

In two days of conference at UX Copenhague, I heard so many ideas and insights. I was like a sponge that absorbs as much as possible. Today, I feel that I am still processing information and finding ways to apply my learnings in my work.
Many thanks to the organisation team and all the speakers <3

“Internet, go the f%& ck to sleep!” with Jim Forrest

In this talk, Jim questioned the constant availability and consumption that internet offers. He discussed the waiting caused by the uploading of the early internet, the retention metrics of platforms and notification micromanagement.

Jim recalled with humor and enthusiasm his experience of immigrating in Denmark from the US.
He was surprised by the opening hours of the shops and the system of home delivery. ‘To my standards, shops are never open in Denmark and it is not home delivery if I have to pick up my purchase at a post office’.
Danemark, shops close in the evening and home delivery is not dropped at your doorstep if you are not home when your purchased is delivered. His experience of consumption in the US was different. He could nearly buy anything at anytime.

Jim recalled the ‘early internet’. When we were constantly connected, but we had to wait for things to upload or download. Today ‘retention’ is a metric for many platform. For example Snapshat, or the autoplay on Youtube and Netflix. Retention metric can be harmful because it creates addiction.

Jim questioned the fact that now there is no ‘time-off’ such as our earlier waiting or the closing hours of shops. Today we can constantly be available and never completely off. People need to learn how to micro manage notifications and time-off keyboard.
What about people who are not savvy enough to micromanage? Who is responsible for them?

Jim proposes directions for solution:

  • is the government supposed to protect the people?
  • are private companies supposed to protect the people ?
  • what about a star rating of societal goods which controls how much traffic we are allowed to?

"The Dark Side of Information Behavior” with Nicole A. Cooke

Nicole A. Cooke is a PhD in communication, information, and library studies. She led us through her latest findings on how people are emotionally involved when reading information.

The emotional involvement of people determine how they will interact with a product/service.
‘People are being led by their gut, even if the information they read is unreasonable.’ says Nicole
When an info is online, before we use it, they are two steps:

  • affective treatment of information,
  • cognitive treatment of information.
    The part of our brain managing emotions overrides the part of our brain managing cognitive thinking. When people filter information based on emotions, they use cognitive biases.

When a negative emotion is triggered, the best content ever is useless. If something triggers a negative emotion, the user is gone. A negative emotion is triggered in an instant.
A negative emotion can be triggered by:

  • color,
  • music,
  • the type of information shared,
  • the level of trust between the brand or the speaker and the user,
  • the interface (how easy or complicated it is to use).
    If the emotion is negative during the affective treatment of information, the information never reaches the step of the cognitive treatment of information.

The trust we attribute to the speaker or brand influence our affective reaction to the information. When we trust, we don’t cognitively evaluate.
Trust is received and can be lost in an instant. A brand should build trust with its users. A brand should care for its users and be as transparent as possible. Lack of transparency means risk of losing trust.

Nicole discussed the subject of fake news and how news propagates on social media.
There are two types of fake news:

  • misinformation: it is an alternative truth, I don’t intend to trick you,
  • disinformation: I intend to say something wrong to trick you.
    The intent of the person saying or publishing the news makes the difference between misinformation and disinformation.

"Privacy and Consent-related Content in Your Product: At the Right Time, In the Right Place, the Right Way" with Saskia Videler

During this workshop, Saskia Videler shared one of her writing processes. Her process focused on interface content related to privacy and consent issues. The title of the workshop states the objective of her writing process: Privacy and Consent-related Content in Your Product: At the Right Time, In the Right Place, the Right Way.
In small groups, we practiced her process. It includes four steps:

  • Right content, right time: Saskia discussed themes such as: definition of the business’s goals, the user’s goals, the customer journey and the prerequisite of the content,
  • Definition of the tone: Saskia discussed themes such as: definition of level of stress of the situation for the user, what could make the situation less stressful, the emotions and feelings of the user, our tone, how we can positively impact their stress?
  • Craft the content: in small groups, we drawn quick wireframes including the content obviously.
  • Test the content: in small groups we identified how the content could be tested.

“Designing for Unintended Consequences” with Sheryl Cababa

Design is not neutral. Sheryl Cababa explained her idea of unintended consequences with the movie Jurassic Park.
At the beginning of Jurassic Park, the people are enthusiastic about hatching dinosaur eggs. They are in awe watching adult dinosaurs. Later in the movie, dinosaurs turn against humain. Suddenly, the scientific possibility of dinosaurs rebirth does not seem great.

Sheryl compared our early naive enthusiasm about the hatching internet to the enthusiasm of watching hatching dinosaur eggs.
Today, technology enables many creations. What are the unintended consequences of the technologies that we create?

The Tarot cards of tech, a tool to question the product/service that we build

Sheryl and her team at artefactgroup developed a tool to help us questions the product or service that we built. The tarot card are meant to ask questions, and
Read more about the Tarot cards of tech and download them.

"Navigating Our Evolving UX Landscape: Why and How to Create Your Personal Code of Ethics" with Quinn Keast

I was impressed by Quinn’s talk. I currently question the place of ethics in my work and I wonder how to create and apply ethical guidelines.
Quinn is one step further already. He decided that it was essential to have a personal code of ethics. He does not only rely on external factors (like a law) to guide his work. Laws keep up with development. Laws are ‘late’, in the sense that they are often created as a reaction to a technology.
Quinn built his personal code of conduct. He openly shares his code of conduct to help you understand me better and help us work together.
Read Quinn’s code of conduct.

Quinn shared how to build your own personal code of conduct in three steps:

  1. define your north star ideals: your north star ideals are three fundamental beliefs or value that guide you as a person,
  2. define your ethical principles: your north star principles are three principles that guide your work,
  3. share your code of conduct, make it available: Quinne recommends that your personal ethics should be shared to help other people understand you and work together.

Your personal code of ethics is useful to :

  • help us take decisions.
  • draw our lines: what are you okay to create? what is beyond your limits? Draw your line instead of reacting.

Quinn recommends that your personal ethics grow with you. Our personal code of ethics is a living document that changes over time.

“GDPR Considerations for Designers” with Kathleen Asjes and Mikaela Saletti

Kathleen and Mikaela shared their experience in carrying out GDPR-related research for the online newspaper called Aftonbladet. Aftonbladet is the largest online newspaper in Sweden.

Like many media company, Aftonbladet’s business revenue relies heavily on advertisements. How could Aftonbladet be compliant with the GDPR, empower their users and not lose the business revenue?

Kathleen and Mikaela showed us the different steps of their work to make Aftonbladet GDPR-compliant. Their solution empowers the user:

  • the settings icon is available on top of every add. The user can change any time their privacy settings,
  • the solution is granular rather than a yes/no question, the user can chose the level of privacy they want.

”Radical Change, Human Scale” with Sara Wachter-Boettcher

« I wanted everyone to feel the pain of a tech that is not made for them »
I found this quote powerful. A tech that is not inclusive is hurtful. A tech is not inclusive in small ways.
For example: not knowing where your datas go or who will access them. Ticking a box ‘mr’ ‘mrs’ ‘ms’ when you feel you are neither, reading information that are way too complicated for your level of language.

Sarah finds that too often people want to discuss concepts and ideas instead of applying solutions. «Intellectual discussion won’t save us. » She recommends that we do not discuss the scalability of solutions but start with small scale system.

Lessons learnt

The key take-aways I brought back from the conference:

  • I heard a lot about responsibility: the responsibility of the people building a product, responsibility of the investor investing in a product.
  • There is a generation of 40 something men like Jim who contributed to build what is today’s internet, during their twenties and thirties and who experience today after-thoughts. Suddenly what they built is not that great and they start realizing it backfires.
  • As a community we are responsible for the information we share. Each of us is responsible for the information that we trust or distrust. When we read an information, we should check if it is true.
  • Cookie bars can be improved. It is not a choice to have a single ‘I agree’ button. It is better to propose a granular solution for the users.
  • Let’s build solutions that work for a precise issue. Let’s not discuss if the solution will work at scale. Apply the solution, work with it. Applying rather than discussing.

I came back from Copenhague pumped with all these ideas, with renewed energy for my work.
The effect after the conference is astounding. I still process information today. I am slowly aware of new directions and further readings. I learnt so much.

My next steps after the conference are:

  • build tools that bring high ethical values in the product I help creating,
  • make my ethical values known: create a plan on how to deal with unethical requests in my work.

Thank you Liip for the opportunity to go to UX Copenhague, thank you to the organisation team for such an interesting event and thank you to all the speakers for coming to talk to us.

Watch the video UX Copenhague 2019

Recommended further readings

Read Thoughts on consent & ethics in tracking user behavior for UX research.
Read Word Choices and Language in UX, Part One: Introduction & the Meaty Bits

]]>
Sending lots of mail with Drupal https://www.liip.ch/fr/blog/sending-lots-of-mail-with-drupal https://www.liip.ch/fr/blog/sending-lots-of-mail-with-drupal Thu, 02 May 2019 00:00:00 +0200 Suppose you need to send a daily digest email to your users. The contents are personalized so you cannot use a classical newsletter provider to offload the work with a single daily campaign.

With a small number of subscribers it’s not an issue, write a cron hook, prepare each mail for the user and send it through the MailManager. You’ll probably still want to use a service such as Mailgun to handle the actual delivery but that’s something you can add irrespective of your cron job.

When your subscriber count increases, this approach becomes an issue. Especially if you try to send your mail in a specific time window, such as within two hours during the night. The maximum throughput we managed to get from such a provider with this approach is about 1 mail per second, due to sending each mail sequentially. Given our constraints we would top out around 7’200 subscribers; and our client’s subscriber list was an order of magnitude larger.

Note that the async functionality of these providers’ modules does not help here, it puts the sending of the mail in the queue so your frontend request isn’t blocked. It does not aggregate the mails for faster delivery.

Batch mailings

To avoid this bottleneck we need to make use of Mailgun’s per-recipient variables to send multiple mails in one request (other services likely have similar features but are out of scope for this post). Thus we forego the entire Drupal mail functionality which is tailored to only processing single messages at a time (or at least I haven’t found an elegant way to do it with MailManager). We can actually use the Mailgun module with very little overhead to do this:

# From the constructor, injecting @config.factory and @mailgun.mail_handler
$this->config = $config_factory->get('mailgun.settings');

$converter = new Html2Text($your_html_markup_containing_variables);
$message = [
  'from_email' => 'from@example.com',
  'from_name' => $this->t('Example sender'),
  'to' => $array_of_recipients,
   'subject' => $subject,
   'html' => $your_html_markup_containing_variables,
   'text' => $converter->getText(),
   'recipient-variables' => json_encode($per_recipient_variables),
];
// The following copied for simplicity out of the mail handler usage.
if ($this->config->get('test_mode')) {
  $message['o:testmode'] = 'yes';
}
$track_opens = $this->config->get('tracking_opens');
if (!empty($track_opens)) {
  $message['o:tracking-opens'] = $track_opens;
}
$track_clicks = $this->config->get('tracking_clicks');
if (!empty($track_clicks)) {
  $message['o:tracking-clicks'] = $track_opens;
}
$this->mailgunHandler->sendMail($message);

We are calling this code in batches of 100 subscribers. The above is basically all there is to it, the majority of our effort had to go into making this work with multiple languages. Note: In our case, subscribers could actually have multiple subscriptions.Therefore we had to make sure to not have the same email twice in a batch since Mailgun uses the email as the key.

Rendering and internationalization

What was glossed over above is the actual contents of the html array element. We assume you want to send HTML emails in general. Since Drupal by itself also sends email with the mail() command the question now becomes how to harmonize those. We decided to define a separate Twig template in our custom module that before everything else does {% extends 'swiftmailer.html.twig' %} . That way we use the same basic markup in our code as Drupal’s regular mails with Swiftmailer do.

If you only have a single language you can directly build the appropriate render array and render it with renderRoot() , ready for use with Mailgun.

If you have more than one language, the first thing is to inject stringTranslation and then call $this->stringTranslation->setDefaultLangcode($langcode); before rendering to create the HTML for the relevant language.

With this approach you’ll now need to group your batches by language to avoid sending a recipient the template from an incorrect language.

Pre-computing recipient data

We decided to create a helper table in the database to hold this information since no other place was ideal to keep track of the data we needed. Our case required: a UUID, a template key with language (also allowing for more than one type of mass mailing to be sent), and the actual variable data as serialized JSON.

Our recipient data contained multi-language display of nodes, so we cannot rely on the language context of the cron job. Additionally, setting the language within string translation was not enough for us because we use entities in our content. In those cases you need a bit more scaffolding, i.e. inject '@string_translation', '@language.default', '@language_manager' and then reset per recipient:

# Resetting language
$this->stringTranslation->setDefaultLangcode($langcode);
$language = $this->languageManager->getLanguage(langcode);
$this->languageDefault->set($langcode);
$this->languageManager->reset();
# Example of embedding entities
$node = $this->entityTypeManager->getStorage('node')->load($node_id_to_embed);
  if ($node->hasTranslation($this->language)) {
    $node = $node->getTranslation($this->language);
  }
  $nodes[] = $this->entityTypeManager->getViewBuilder('node')->view(
    $node,
    'my_email_view_mode',
    $langcode
  );
}

We can thus :

  • Add all subscribers to a queue.
  • Have them be added to the helper table by a QueueWorker one by one.
  • And finally send them all at once keyed by template & language combination.

We only load each template HTML once before sending the batches by looking at what templates are currently present in the helper table.

This approach also makes skipping duplicate addresses (as noted above) easy to handle: Only remove from the helper table the UUID which were actually sent and continue until the table is empty.

Results

With this approach we can send about 150 mails per second, thus delivering our notifications in a few minutes instead of several hours. We could probably increase that even more by optimizing the size of the batch we send. We spend the majority of our computation time now actually assembling the relevant data per user from Search API and Entity API.

Have a great delivery ✉️

]]>