{"articles":[{"url":"https:\/\/www.liip.ch\/en\/blog\/houston-voip-communication","title":"VoIP communication centre for travel that is out of this world","excerpt":"Our collaboration with Transports Publics Fribourgeois (TPF) began in 2015. Houston was able to replace the existing radio system, which at the time only covered 60% of the usage area. Before changing to this new system, transmission quality was inadequate, and maintenance costs were high.","date":"2021-12-14","author":{"name":"St\u00e9phane Biolley","position":"Apprentice Trainer, Software Engineer","avatar":"https:\/\/liip.rokka.io\/www_user_card\/6c89d1eb94e0f02cecc0e520fd0d63a2b74ebcc4\/stephane-biolley.jpg"},"image":{"medium":"https:\/\/liip.rokka.io\/www_crop_3\/v-h-360-w-720\/411036\/houston-blogpost-voip.jpg","large":"https:\/\/liip.rokka.io\/www_crop_3\/v-h-571-w-1142\/411036\/houston-blogpost-voip.jpg"}},{"url":"https:\/\/www.liip.ch\/en\/blog\/implementing-an-open-data-interface-with-drupal-9","title":"Implementing an open data API with Drupal 9","excerpt":"Can\u2019t find up-to-date opening hours or addresses?! Open data makes sure that isn\u2019t the case! An open data API provides data so that external systems are equipped with the most up-to-date information. Recently, we developed a new open data API for Zurich Tourism in Drupal 9.","date":"2021-06-25","author":{"name":"Gregor Stuber","position":"Software Engineer","avatar":"https:\/\/www.liip.ch\/assets\/images\/placeholders\/portrait.svg"},"image":{"medium":"https:\/\/liip.rokka.io\/www_crop_3\/v-h-360-w-720\/df3112\/dev-code-1.jpg","large":"https:\/\/liip.rokka.io\/www_crop_3\/v-h-571-w-1142\/df3112\/dev-code-1.jpg"}},{"url":"https:\/\/www.liip.ch\/en\/blog\/setup-drupal-and-lando-with-wsl2-on-windows","title":"Setup Drupal, Lando, XDebug3 and WSL 2 on Windows 10 in \\\\wsl$ folder.","excerpt":"Have you ever had the dream of a lightning fast developer experience? Loading your page should be as fast as on the productive system? Your dream came true with Lando\/ Docker on WSL 2 on Windows.","date":"2021-05-10","author":{"name":"Jonathan Minder","position":"Senior Software Engineer","avatar":"https:\/\/www.liip.ch\/assets\/images\/placeholders\/portrait.svg"},"image":{"medium":"https:\/\/liip.rokka.io\/www_crop_3\/v-h-360-w-720\/76251b\/lando-wsl2.jpg","large":"https:\/\/liip.rokka.io\/www_crop_3\/v-h-571-w-1142\/76251b\/lando-wsl2.jpg"}},{"url":"https:\/\/www.liip.ch\/en\/blog\/sveltekit-and-tailwind-windi-css","title":"SvelteKit and Tailwind \/ Windi CSS","excerpt":"My setup with SvelteKit and Tailwind. Thanks to Windi CSS and its Vite plugin, it's very fast and simple to set up.","date":"2021-04-10","author":{"name":"Sascha Aeppli","position":"Business Developer, Solution Architect","avatar":"https:\/\/liip.rokka.io\/www_user_card\/156f4bcf16714b7a7fa1f97b33ee23735ce38502\/sascha-aeppli.jpg"},"image":{"medium":"https:\/\/liip.rokka.io\/www_crop_3\/v-h-360-w-720\/a4806c\/stts-logo-1.jpg","large":"https:\/\/liip.rokka.io\/www_crop_3\/v-h-571-w-1142\/a4806c\/stts-logo-1.jpg"}},{"url":"https:\/\/www.liip.ch\/en\/blog\/svelte-typescript-tailwind-setup","title":"Svelte TypeScript Tailwind Setup","excerpt":"In this walk through I show my preferred setup for SPAs with Svelte, Typescript and Tailwind.","date":"2021-01-27","author":{"name":"Sascha Aeppli","position":"Business Developer, Solution Architect","avatar":"https:\/\/liip.rokka.io\/www_user_card\/156f4bcf16714b7a7fa1f97b33ee23735ce38502\/sascha-aeppli.jpg"},"image":{"medium":"https:\/\/liip.rokka.io\/www_crop_3\/v-h-360-w-720\/a4806c\/stts-logo-1.jpg","large":"https:\/\/liip.rokka.io\/www_crop_3\/v-h-571-w-1142\/a4806c\/stts-logo-1.jpg"}},{"url":"https:\/\/www.liip.ch\/en\/blog\/open-source-contribution-customer-forces-canvas","title":"Discussing Open Source Contribution based on the Customer Forces Canvas","excerpt":"How can we leverage Open Source contribution (in particular to Drupal) to maximize value for our customers? In this article, I would like to share the results of a recent workshop we held on this question as part of our internal gathering LiipConf.","date":"2021-01-06","author":{"name":"Josef Kruckenberg","position":"Drupalista, Lead Generative AI","avatar":"https:\/\/liip.rokka.io\/www_user_card\/137a5e1da111d5e748835d4384d3c5bb832d9c16\/josef-kruckenberg.jpg"}},{"url":"https:\/\/www.liip.ch\/en\/blog\/local-development-environment-for-wordpress-wp-env","title":"Setting up a local development environment for WordPress with @wordpress\/env","excerpt":"","date":"2020-06-30","author":{"name":"J\u00fcrg Hunziker","position":"Software Developer, Apprentice Trainer","avatar":"https:\/\/liip.rokka.io\/www_user_card\/38b72a00ea6918e2b3188e249905edf390df43f0\/juerg-hunziker.jpg"},"image":{"medium":"https:\/\/liip.rokka.io\/www_crop_3\/v-h-360-w-720\/cf07e6\/wordpress-local-env-header.jpg","large":"https:\/\/liip.rokka.io\/www_crop_3\/v-h-571-w-1142\/cf07e6\/wordpress-local-env-header.jpg"}},{"url":"https:\/\/www.liip.ch\/en\/blog\/sketchwind","title":"Sketchwind","excerpt":"Sketchwind is a project to strengthen the cohesion between designers and developers. Bringing a bit a frontend vocabulary in the design tool, and exporting design decisions to the frontend. Just in a snap.","date":"2020-06-25","author":{"name":"Sylvain Aerni","position":"User Experience Designer, Software Developer","avatar":"https:\/\/liip.rokka.io\/www_user_card\/509e481a62ab89aa3ad1e4e1f4815e0f2b8d8051\/sylvain-aerni.jpg"},"image":{"medium":"https:\/\/liip.rokka.io\/www_crop_3\/v-h-360-w-720\/194dad\/illustration.jpg","large":"https:\/\/liip.rokka.io\/www_crop_3\/v-h-571-w-1142\/194dad\/illustration.jpg"}},{"url":"https:\/\/www.liip.ch\/en\/blog\/crafting-digital-solutions-with-drupal-what-why-how","title":"Crafting digital solutions with Drupal \u2013 What? Why? How?","excerpt":"Teams in Liip Z\u00fcrich, Bern and Fribourg have been crafting digital solutions with Drupal for years. Now we also do it at our office in Lausanne.","date":"2020-06-08","author":{"name":"Etienne Engasser","position":"Strategist, Client Partner","avatar":"https:\/\/liip.rokka.io\/www_user_card\/ea8f1764b896613d0a77bcc1534ad093c9adaaf2\/etienne-engasser.jpg"},"image":{"medium":"https:\/\/liip.rokka.io\/www_crop_3\/v-h-360-w-720\/240a44\/drupal-logo-hero-pic-blog-post.jpg","large":"https:\/\/liip.rokka.io\/www_crop_3\/v-h-571-w-1142\/240a44\/drupal-logo-hero-pic-blog-post.jpg"}}],"more":true,"offset":45}