Swift Alps Conference – experimentation and collaboration

The Swift Alps Conference has a special format focused on experimentation and collaboration. This is my report of the conference and the workshop Kilian and I held. The slides are available below.

Last month my colleague Kilian and I were pleased to attend the Swift Alps Conference, an experimental conference about Swift taking place in the Swiss Alps. This conference had a different format from what one can expect from a typical software development conference. In this case the format was more focused in experimenting and collaborating with other attendees with the goal of learning something new.

Experimenting with strangers

Continue reading about Swift Alps Conference – experimentation and collaboration

Tags: , , , , , ,

Why bother with User Testing? Part 2 : Answer 5 common objections

User Testing is essential, just like I explained it in my last blog post. But your client / boss refuses to pay for this option. No, sorry, this is not an option. At all. They will argue that there is no money , that there is no time left, that the product is super simple, they already know the users…

1. Why bother with user testing? We perform well!

Client: no need for this, our product is great, we’re not leaders for nothing.

fatboyslim_greatest_hits_cdcov

Designer: Oh really? If you never test it with users, how can you be sure that they don’t struggle regularly on your product?

Continue reading about Why bother with User Testing? Part 2 : Answer 5 common objections

Tags: , , , , , , , , ,

Accessibility: make your website barrier-free with a11ym!

Accessibility is not only about people with disabilities but also about making your website accessible to search engines robots. This blog post shares our experience with making the website of a famous luxury watchmaker more accessible, an important e-commerce application. We have built a custom tool, called The A11y Machine to help us crawl and test each URL against accessibility and HTML conformances. Less than 100 hours were required to fix a thousand of strict errors.

Issues with unaccessible application

Accessibility is not just a matter of helping people with disabilities. Of course, it is very important that an application can be used by everyone. But, have you ever considered that robots are visitors with numerous disabilities? What kind of robots you may ask, well: Search engine robots for instance, like Google, Bing, DuckDuckGo, Baidu… They are totally blind, they don’t have a mouse, they don’t have a keyboard, they must understand your content only with the source code.

Whilst it is easy to consider a man or a woman with a pushchair having a bad time in public transport, someone color-blind, a widespread disability, could also have issues browsing the web.

Continue reading about Accessibility: make your website barrier-free with a11ym!

Tags: , , , ,

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: , , , , , , , ,

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: , , , , , , , ,

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: , , , , ,

Drupal SearchAPI and result grouping

In this blog post I will present how, in a recent e-Commerce project built on top of Drupal7 (the former version of the Drupal CMS), we make Drupal7, SearchAPI and Commerce play together to efficiently retrieve grouped results from Solr in SearchAPI, with no indexed data duplication.

We used the SearchAPI and the FacetAPI modules to build a search index for products, so far so good: available products and product-variations can be searched and filtered also by using a set of pre-defined facets. In a subsequent request, a new need arose from our project owner: provide a list of products where the results should include, in addition to the product details, a picture of one of the available product variations, while keep the ability to apply facets on products for the listing. Furthermore, the product variation picture displayed in the list must also match the filter applied by the user: this with the aim of not confusing users, and to provide a better user experience.

Continue reading about Drupal SearchAPI and result grouping

Tags: , ,