A fairly complex Drupal Commerce site: freitag.ch

Freitag logoOur latest site with Drupal Commerce 1.x went live in July 2016. It is Freitag. Since then we’ve been adding several new commerce related features. I feel it’s time to write a wrap-up. The site has several interesting solutions, this article will focus on commerce.

First a few words about the architecture. platform.sh hosts the site. The stack is Linux + nginx +  MySQL + PHP, the CMS is Drupal 7. Fastly caches http responses for anonymous users and also for authenticated users having no additional role (that is, logged-in customers). Authcache module takes care of lazy-loading the personalized parts (like the user menu and the shopping cart). Freitag has an ERP system to which we connect using the OCI8 PHP library. We write Behat and simpletest tests for QA.

We use the highly flexible Drupal Commerce suite. 23 of the enabled Freitag contrib modules have a name starting with ‘commerce’. We applied around 45 patches on them. Most of the patches are authored by us and 15 of them have already been committed. Even with this commitment to solve everything we could in an open-source way we wrote 30.000+ lines of commerce-related custom code. Still, in March 2016 Freitag was the 3rd largest Drupal customer contributor.

Continue reading about A fairly complex Drupal Commerce site: freitag.ch

Tags:

Five Steps to define your perfect Digital Learning Environment

Sometime ago, I ran into a quote about learning that sticks into my mind. There are a lot of quotes hunting the social media networks, but this one just didn’t want to go away. It was the starting point of a reflection on how to create a great learning experience for today’s learners. I end up with five simple but essential steps that I will share with you in a series of posts. We will start today with a short overview of these steps.  

Digital Learning Environment in 5 steps

 

This quote from Albert Einstein resonates to me like the perfect antithesis to most of the Learning Management Systems that I’ve seen up to now. In terms of technology and functionalities they are perfect, but there is no experience, no emotion when you use them. They deliver the exact opposite of what learners expect: they deliver just information.

Learning is an Experience

Continue reading about Five Steps to define your perfect Digital Learning Environment

Tags: , , , , , , , ,

Swissquote: How to become a leader in banking in 26 years?

Swissmarketing Vaud invited Jan De Schepper, Head of Marketing at Swissquote. I expected a guide to be a leader in a few simple steps. Highly interesting, this conference actually felt like one of my masterclass.
Report of the conference

SWISSQUOTE, EN 26 ANS, DEVENIR LEADER PAR L’INNOVATION ET LE MARKETING DE CONTENU
Jan de Schepper

At this conference, what I wanted to know was how to become a leader. I expected De Schepper to hand me over the strategic marketing keys to success. The secret recipe for me to make Liip, my entreprise, an absolute leader in web development.
What kind of advice did I get?

Swissquote, a content brand

According to De Schepper, the foundation of a company leaves a significant mark. The founders, Marc Bürki et Paolo Buzzi owned Marvel Communication SA, a company specialized in financial information softwares. Once they figured out that they could provide the services they were talking about, Swissquote became a bank and IPO’d as such on the 29th of May 2000. The focus of Swissquote was on content creation right from the beginning.

A basic brand structure

At Swissquote, they believe that the brand defines who they are and how they act. Their brand structure is actually not original, as it involves a vision and six values.
In De Schepper’s words, a vision is like an Evening Star (Etoile du Berger in French). It is what leads your way.

To be the world’s most pioneering and intuitive online bank.

They are two essential words building this vision: pioneering and intuitive. “We are and want to stay pioneer, because our concurrence is international.” says De Schepper. Thus, innovation is fundamental. Secondly, UX is key, everything from the service to the platform has to be intuitive.

Swissquote has 6 fundamentals brand values

  • Dare to be different
  • In pursuit of excellence
  • Unite as one
  • Always say it how it is
  • Champion the customer
  • Do the right thing

Tips and tricks to create content

Be customer-focused, not product-focused

You should create and use personas. Personas must define who the users are with as much details as possible. It is easier to produce content when you have someone specific in mind. At Swissquote, they statistically analyzed data from their users to create their personas. Then they did some focus group to refine their analyses.

Secondly, they analyzed the Trader Journey to see what can be done in order to increase the conversion from one step to another. The content is then based on the needs and expectations of the users during their journey. In other words, they analyse the blockers in the Trader Journey. For example, does the type user X miss information at a certain point in his journey? Which info? How can it be provided?

Think as a publisher

When you create content, you should think as a publisher, not as an advertiser. You do not promote your product, you provide:

  • Information
  • Inspiration
  • Utility
  • Entertainment

Create valuable content

In order to be valuable, the content you create has to fulfill the following adjectives (see picture).

Content

For example: Authentic: do not speak about something you have no idea about
Sharable: People share because they want transmit something about themselves, who they are, what they believe in. It’s egoistic. Provide content according to who your users are.
Collaborative: Have partners that bring you visibility

Plan the diffusion

Think in terms of three categories:

  • Paid media : the content you pay to be published (advertisement),
  • Owned media: the communication channel you own,
  • Earned media: the channel that publish your content (for example, you video on someone else’s page).

De Schepper best advice

…according to me, it is the best piece of advice: Iterate!
Try once, analyse, do it again with slight changes, analyse, try again and go on and on.

Swissquote Magazine as a case study

As an example, you can see the strategy of the publication in the pictures of the slides at the end of the article.

To conclude: apply your theory and iterate

De Schepper reminded me of my master class. I got out thinking that I should carefully stick to what I learnt. In the turmoil of daily business, I mostly feel that I should act and that standstill is the worst.
In fact, I know the theory to become a leader or make my entreprise a leader. However the team at Swissquote is a master in applying these theories. One of their most brilliant success, is the creation of a magazine, which is today an authority in their field of expertise.
The secret recipe is iteration. I should take the time to analyse. Each analysis is an opportunity to do better and increase the success of my next marketing action.

 

Swissquote Magazine

Swissquote - objective

Swissquote-distribution

Swissquote-Costs

Tags: , , , , , , , , ,

How to reduce your development and maintenance costs with APIs?

An API-based solution has many advantages. The biggest one is the significant spare on development and maintenance costs, thanks to a modular infrastructure. With the example of a recent work for a watch manufacturer, this blog post explains you in 4 points what added value an API can bring to your IT environment.

Context: a manufacturer’s production line without a central server

We were recently involved in the digital transformation of a manufacturer’s production line. The main issue of this manufacturer was control-desktops that were not centrally managed. In consequence, for each code change, an update was required on each control-desktop. It was an expensive and time-consuming process.

Production line - A

This image represents a production line with standalone control-desktops, and their costly maintenance routines.

Continue reading about How to reduce your development and maintenance costs with APIs?

Tags: , , , , , ,

User Testing Part 1/2 : Why you should perform them – The risks you avoid

If the team working on a project is competent, why should it be bothered with user testing? Because user testing does not mean that anyone is not competent enough. User testing is about avoiding risks and improving a product.

Great teams sometimes deliver wrong products

Yes, why?  We perform WELL, we are talented designers, Product owners, Product designers, we know our business, we are good enough so that we don’t design unusable stuff… Therefore, our clients can rely on us for delivering simple, intuitive and cutting the edge experiences through great products…

However, there are terrible websites online. There are terrible products on the shelves, there are garments that just don’t fit what they are supposed to, there are tools supposed to simplify our lives, but they are just bringing more complexity to our lives.

Continue reading about User Testing Part 1/2 : Why you should perform them – The risks you avoid

Tags: , , , , , , , ,

Embracing the opposite – Andy Yen and Bertrand Piccard at #ICTimpuls16

I quickly rushed to Lucerne this afternoon for the ICTimpuls16-track about how to succeed with selling Swiss ICT services and products abroad. And for Bertrand Piccard’s keynote – it was worth the time.

Andy Yen of Geneva (and San Francisco) based ProtonMail gave a very encouraging speech about how to present one’s company and products in a different market like the U.S. – it’s basically all about being way more bold than we are used in Swiss culture, embracing risk, and seeking to fail as fast as possible. By investing in sales in the U.S., ProtonMail actually “got the rest of the world for free”. My question, if ProtonMail is also active in other domains of myData than e-mail, or considering to move into that direction, Andy answered in the affarmative. I am very much looking forward to what’s coming there in the future. Thanks, Andy, for your great insights!

(no picture)

I would have liked to post a picture of one of Andy’s slides here, but it’s written “confidential” on them – don’t know, how serious he is about that.

Bertrand Piccard – on the big stage – managed to catch the attention of the audience masterly. A psychiatrist by formation, and a leader by talent he inspired my thoughts throughout his speech. Betrand advocated for always changing one’s altitude to be able to find solutions. Surrounding oneself with less of the same, more divers people surely is supporting that. To be innovative and creative, one has to drop ballast – one’s beliefs, certitudes – and try the opposite. Erradicating emotions and applying a pragmatic attitude can help. Being innovative is not tied to achieving something spectacular, but allowing and fostering to think in other directions. “If one accepts a crisis, it becomes an adventure – if one does not, it stays a crisis”. Life is less about what I know, but more about my doubts and being able to ask questions.

Betrand ended with asking the audiance: “What story do you want to tell? What’s your dream?” I bet everyone in the room was thinking about what ballast one could drop to reach one’s dream. Listening to critical voices helps you in answering that decisive question. Thanks, Bertrand, for your continuous engagement in making our world more energy efficient!

Tags: , ,

TEDxCERN: Don’t be afraid of technology

Technology is just a tool! In one of the most prestigious place for researches, brilliant scientists shared their inspiration during a whole afternoon. Ripples of curiosity was the theme. This is my report of the conference.

Some people travel to visit the CERN, whereas I had never been there. It is not an impressive building lost in the middle of a green field in the countryside of Geneva like I pictured it. It is lost in a suburban area and the building is not high. Rather, it has long, never-ending corridors filled with doors leading to little offices. It’s very quiet, people whispers there. It looks nothing like the big open space that I am used to. However the people I listened too, have the same conviction about their projects.

Continue reading about TEDxCERN: Don’t be afraid of technology

Tags: , , , , , ,

Easy Storyboard translation in Xcode with Swift3

In this post I explain how we created a modular library. Today we are happy to release and open source this lib. You can find the code on GitHub. Our objective was to have one set of translation files that could be used in the storyboard and Swift.

In our multilingual iOS projects, we always struggled to translate storyboards in Xcode. We checked all around CocoaPods, but couldn’t find any efficient solution so far. Every time, we ended up with multiple versions of the storyboard along with multiple versions of ‘Localizable.strings’. It was hard to keep everything under control, specially when translations needed to be updated throughout all files.

Continue reading about Easy Storyboard translation in Xcode with Swift3

Tags: , , , , , ,

The fears about innovation and Users’ loyalty – how can a UXer help? Part 2/2

Innovation and changes are risky meanwhile necessary. UXers can support change and deal with risk management. Discover in 3 steps, how UX can help dealing with these fears… and help bringing innovation.

In my last blog post, we realized that companies are faced with an ambiguous situation, between innovation and users loyalty. Meanwhile users want  cutting the edge experiences and dislike learning news things.

1: Deal with these bad feelings concerning change in companies

I have bad news. If your company is struggling at innovating, maybe it is because it is excellent at killing good innovation ideas. Big companies are expected to innovate, but managing people in such companies just freak out at the simple idea of dealing with edgy ideas.

Continue reading about The fears about innovation and Users’ loyalty – how can a UXer help? Part 2/2

Tags: , , , , ,

IPC: International PHP Conference 2016 in Munich

I have been invited to Munich to do two talks at the IPC. I gave my introduction to HTTP caching with Varnish and a talk on practical tools to build REST APIs. The IPC wanted some talks in German, so the slides are in german. You can find older versions of the slides in english for HTTP caching and REST APIs. I always enjoy presenting on a topic I care about, and the discussions after the talk. I am glad to help people, and more often than not, questions lead to me having to reflect why I have that opinion or outright learning something new. The organization of the conference has been flawless and the venue in the center of Munich was very convenient.

I could not stay for very long unfortunately, but managed to sit in to a few talks. Most notable was the talk on content strategy by Neos CMS core developer Robert Lemke with a lot of valuable information. I found the slides of his talk. The other talk I managed to see was by Michael Haeuslmann on dependencies in large projects. Michael is the developer of dephpend (pronounced “defend”), a tool to analyse dependencies of your PHP code and detecting architecture violations. He advocate such tools to identify the most important places to start improving a large code base.