Liip Bern, and why we do it

Liip Bern's Launch TeamA couple of weeks ago we opened our new office in Bern. It’s big, it’s beautiful, but.. necessary? We think it is. So while the team at it’s lovely location in the middle of town is already hard at work on some of the most promising public sector innovation projects, let’s take a look at a core piece of text we worked with deciding to make the commitment to Bern:

Our democratic institutions and public services clustered in Bern all face tremendous challenges facing the digital acceleration businesses and society are experiencing. As digital becomes a key component in actually implementing policies, the ability to deliver solutions that are secure, scalable and sustainable becomes central: a functioning democracy needs policy implementations that work.

We want to provide that capability to deliver. We want to build public interfaces that are simple, beautiful and easy to use. That are open, transparent and inclusive. For that we need to make the important things simple again, we need to be brave enough for radical approaches,  and we need to seriously engage.

This belief, our focus on service and experience design, our commitment to open technologies and capability to innovate across disciplinary boundaries is giving us a unique position in  Bern and its developing civic technology sector.

Our serious commitment to agile methods and individual empowerment enables us to excel in a public sector in which so many digital projects fail tragically. Those projects are rarely underfunded or underplanned. They stall under the weight of too much talk and not enough action, too many strong presentations, not enough strong implementations. So we will be builders, not talkers: The strategy is delivery. Delivery of citizen-centered technology that works for all, that empowers participation and enables policy.

Life is short. Work on stuff that matters.

That text still resonates with me, and we’ll sure take it out from time to time to remember to focus what matters. If you’d like to join us in this mission: you can. If you’d like to know more, talk about projects, public sector service design, open data, or the next big thing: please get in touch.

 

 

Experimenting with React Create App and Google Sheets API

Since the opening of our Lausanne office, a person who shall remain anonymous collected the most epic — from weirdest to funniest — statements made in the open space to fulfill a constantly growing database of quotes. From post-its to Google Docs to Google Spreadsheets, it definitely deserved a better interface to read, filter and… vote!

Quotes React app

Setting up the development environment

After having done some projects with it, it was clear React would be a good choice. But unlike the previous occasions, I did not want to waste time setting everything up; experiments are about coding right? There’s plenty of React boilerplates out there and whereas some are great, most usually include too many tools and dependencies.

Continue reading about Experimenting with React Create App and Google Sheets API

Tags: , , , , , ,

Drupal 8 accessibility features

The Drupal accessibility initiative started with some advancements in Drupal 7 to ensure that Drupal core followed the World Wide Web Consortium (W3C) guidelines: WCAG 2.0 (Web Content Accessibility Guidelines) and ATAG 2.0 (Authoring Tool Accessibility Guidelines).
Many elements introduced in Drupal 7 were improved and bugs discovered through intensive testing were addressed and integrated to Drupal 8 core as well. Let’s take a tour of the accessibility in Drupal 8 !

Contrasts improved

Drupal’s accessibility maintainers improved contrasts in core themes so people that suffer from colorblindness are able to visit websites clearly. It is also good when visiting the website under bright sunlight, on mobile for instance.

A screenshot that compares Bartik headers in Drupal 7.43 and Drupal 8

Color contrasts in Bartik theme in Drupal 7.43 and Drupal 8.

See the related WCAG 2.0 section about contrasts.

Alternative texts for images

The alternative text for images is really useful for blind people who use screen readers. They can understand the meaning of an image through short descriptive phrases. This alternative text is now by default a required field in Drupal 8.

A screenshot showing that the alternative text is required when uploading an image in Drupal 8.

The alternative text for an image is required by default in Drupal 8 content edition.

See the related WCAG 2.0 section about alternative texts.

Continue reading about Drupal 8 accessibility features

Tags: , , ,

Drupalaton 2016

Last week Drupalaton 2016 took place. With about 150 registrations this was the largest Drupalaton so far. The organizers did an amazing job in coping with this mass. There were two session threads and a sprint room. Of the many interesting presentations I would like to mention Fabian Bircher’s “Configuration Management: theory and practice” (a must for everyone who gets lost while trying to work in a team on a Drupal8 project) , Pieter Frenssen’s “Working with REST APIs”  (it was good to see how simple it is in Drupal8) and “Drupal 8 Media” from Pónya Péter, Szanyi Tamás and Rubén Teijeiro (seems we have a huge step forward in media handling since Drupal7!). I held a session on caching in Drupal 8 which was the shortened version the one I did on Drupal Developer Days in Milan.

Liip was a silver sponsor of the event.

Finally, some pictures on the Friday ship cruise. Thanks to Brainsum for sponsoring it!

Tags:

When music and dance meet web technologies

Who am I ?

I’m Jordan Assayah, I am 18 years old and am currently working at Liip as a trainee from February 1st to August 31st. My main job is to work in a team and develop new functionalities for the zebra project. I’m also a dancer (especially a tap dancer) and love music. Every year since ~ 4 / 5 years , I go to the tapdance world championships to represent Switzerland.

Personal project

After 4 months of really nice integration in the team, I’ve asked to David J. if it was possible to restart a project that I was developing at home. The main goal of the project is to produce music over WIFI with little and cheap modules (because I’m a student) that you can put on your shoes and control the whole thing from a web application where you can choose sounds for sensors, the velocity, the volume, etc.

I was searching for good and cheap modules for a long time and I finally found something : ParticleIO. They sell WIFI and GSM modules arduino compatible. The perfect microcontroller for the project. So I’ve bought two of those and try to use them. The cool thing about it is that there are multiple tools like a Particle CLI, a dashboard to sniff data, an online IDE (little bit weird, I know), a Particle JS library, an IOS and Android SDK, a firmware documentation and the best for the end, a local REST API server.

So far, I’ve only hacked a little bit the local server to let WIFI modules send data much faster (about 80 |  70 [ms]). This let me make a lot of queries in a second and allows the app to be a “Real Time App”. I did, but not yet completed, the interface that let user choose sounds, activate /deactivate sensors, etc.

Continue reading about When music and dance meet web technologies

Tags: , , , , , ,

An opensource Drupal theme for the Swiss Confederation

After having contributed to the official styleguide of the Swiss Federal Government and having implemented it on a couple of websites, we decided to go further and bring these styleguide into a theme for Drupal, a well-known, pluripotent and robust CMS we implement regularly at Liip.

Screenshot  of Drupal theme for the Swiss Confederation

Continue reading about An opensource Drupal theme for the Swiss Confederation

Tags: , , ,

A quick look on the current state of Drupal 8 (ecosystem)

Eight months ago Drupal 8.0.0 was released. Exciting news for drupalists. Since then comparing D8’s features to its predecessor is a topic in daily business. «Can drupal 8 do what we can do now with 7 today?”. After playing around with D8 i get the feeling some crucial features are missing. Dries invited people to tell ”why we not use or migrate to drupal 8” – and got a clear answer: A majority of drupalist (60%) are waiting for certain modules. So the follow up question would be what are these modules.

Continue reading about A quick look on the current state of Drupal 8 (ecosystem)

Tags: , , ,

Mobile apps – Our 3 best advice for your success

Everyone wants a mobile app that people will own, love and use every day. Before you jump in, ask yourself, and your team, these 3 basic questions to avoid the most common mistakes. This is our guide to help you focus on your strategy and make sure that you invest in a mobile app effective for your business.

1 – What is your objective? – Strategize and test

Do you want a mobile app, because during a meeting, the CEO/CMO/Head of Marketing or whoever proposes ideas you have to follow said ‘we should have one’?
Or because a mobile app seems to be a symbol of innovative, modern or digital enterprises, you want one? Maybe because an app is the symbol of your enterprise taking on the digital turn, you need one?
It is time to rethink.
You should not ‘decide’ to have a mobile app. A mobile app should not be a ‘one shot’, it should be part of a marketing mix, which means, it belongs to a strategy.

Start by focusing on the needs of your business and identify the blockers in the customers’ journey. Ask yourself, what added-value would this app offer your customers. If it is a mere duplication of the content of your website, you should not start developing one.
An app needs a user centric design or is meant to fail. Make sure that the objectives of your mobile app are as clearly as possible defined. Skipping this step is taking the risk of developing something useless and/or having to modify it afterwards.

Keep in mind that the further you are in the project, the more expensive it is to modify. Investing time at the beginning of a project to strategize or, in the best scenario, even test with real users the first wireframes is not wasted time.

2 – Who and where are your customers?

Your app will be effective at its best if it answers your customers need. It is essential to know them and their behavior and where you find them. Then, you will maximise your targeting.

If your product or service uses a specific feature available on smartphones, for instance a live positioning system, like Uber, you will obviously launch it via an app as it will provide a better user experience. However, you should coordinate your app launch with a web strategy.

Advertisement on the web will allow you various forms of visibility (SEO/SMO) only partially available for mobile apps. Google recently started to display apps to download as search results, but only via searches carried out on smartphones.

If your product or service is not specifically based on an app and could be launched on the web, you should prioritise the web. The web allows broader forms of advertising (SEO/SMO) and to reach a wider public.

3 – What is your domain?

We identified five main domains that apps fall into and five inspiring examples:

  • A business app addressing a daily issue: for instance the app Houston which allows bus drivers to not only communicate with each other but also with the central communication system (as it is an internal app, it is not available to the public),
  • An app for “grand public” addressing a daily life issue: for instance FairtiQ, allowing to easily buy tickets,
  • An app for all channels : like an app for UEFA.com, providing push infos and highlights,
  • A m-commerce app: like QoQa,
  • An app designed to increase customer engagement and loyalty : Politbox is allowing live content creation during television broadcast, linking polls participants to TV speakers,
  • A game: like Patchie, the fun therapy app for children suffering from cystic fibrosis.

Ask for advices
While you are in the process of deciding to invest in an app, do not hesitate to ask for professional advices. A simple strategy workshop might help you precise your project, objectives and target. When you start the development with an agency, it should be as clearly defined as possible. Investing in a few hours of consulting will bring you valuable targeted advices.

 

More information about apps at Liip.

Written together with Thomas Botton, our Product Owner specialized in the development of mobile applications. Contact him: Thomas.Botton (at) liip.ch ! We are happy providing you the advices you need for your business!

Tags: , , , ,

Personal report about Drupal Developer Days Milano 2016

DDD is mostly for – surprise! – Drupal developers. This year it took place between 21 and 26 of June in Milan. People were on code sprints all week long and on Thursday, Friday and Saturday there were sessions and workshops as well.

I went to 2 sessions. The keynote of Bojan Živanović was about building reusable php libraries. Bojan is the architect behind Drupal Commerce 2 which is a prominent example of adopting the “leave the Drupal island” principle. They are not only advocating the usage of external solutions in Drupal but also creating libraries that are usable outside Drupal.

The session of Major Zsófi about organizing Drupal events could not have come from a more authentic source. She shared her experience about the practical aspects of building a community and the importance of providing coffee.

All session recordings are or will be available online.

I attended three workshops. A really excellent one by Florian Loretan was about the trending search solution, elasticsearch. Pieter Frenssen had a workshop about Automated testing in Drupal 8. For me this proved to be the most valuable one since I could not keep up with the changes in this field since Drupal 7 and I need it in my contrib work. All my respects to Pieter who was able to present for 3.5 hours in a way that noone fell asleep even though we were just after lunch.

The third workshop I attended was my own 2 hours workshop about Caching in Drupal 8. I learnt a lot about this important topic during preparation and since only around one person left the room it might have been useful for the audience as well.

In the sprint room I joined the Commerce team. The team seemed to have been cursed. A laptop was stolen from the sprint site on Wednesday. Then on Thrusday night Bojan’s MacBook got also stolen from a restaurant with days of uncommitted work. Fortunately, with the effective help of the organizers (which among others included providing the victims a spare laptop and taking them to the police to file a report) they could participate in the sprints only with a minimal amount of delay. As a result we could finish several issues in the Commerce, Commerce Migrate, Token and Address modules.

Sightseeing with drupalists

Sightseeing with drupalists

But the most important part of DDD was the social aspects. I met old friends and got to know new interesting people. Wednesday evening there was a quantitywise challenging dinner for speakers. On other nights we visited several parts of the beautiful city of Milano. Huge thanks to all the organisers, you did an amazing job! Hope to see you next year!

Tags:

Generator for Google Tag Manager

In the past two years, tag management evolved and became the leading technology used to manage tracking (and more) on the web. Meanwhile Google Tag Manager has established itself as a key player in the field of tag management.

While tag management empowers online marketers to do “powerful things”, it also adds a layer of complexity to their practice of web analytics.

For the marketers who have never setup tag management, the new concepts are repelling.
For the ones who have done it before, there is still no guarantee of quality.
For the ones who have done it more than a couple of times, most of the “clicking-through” of a container can feel repetitive.

Many reasons to come up with a boilerpate container for Google Tag Manager. We first used it internally for client work, and soon decided to share with the community in the form of a container generator.

Continue reading about Generator for Google Tag Manager

Tags: ,